Commit Graph

13 Commits

Author SHA1 Message Date
Axel Meyer
e399f6c6f8 Add asserts for set_roof write API
Covers value validation (rejects 2), bounds rejection, and the
basic call paths that set up roof state for the save-roundtrip
test in the next commit.
2026-05-24 00:34:18 +02:00
Axel Meyer
8453b1fc8f Add asserts for set_cell_gid write API
Covers happy-path round-trip, bounds rejection (positive and negative),
unknown-layer rejection, and on-demand layer allocation.
2026-05-24 00:25:12 +02:00
Axel Meyer
1ee19b4b7f Migrate test assertions to atlas tile-record shape; bump to 0.3.0
tile.id is now an integer; the stable string identifier is tile.name.
Updates all tile-record string-id assertions to use .name. Adds
walkable field to stub atlas JSONs so gameplay assertions pass without
the legacy tiles dir. Test bootstrap calls maps.load_textures with
aliases pointing to the test-lib itself as the asset provider. Moves
load_textures calls inline after each set_current (Task 4 and Task 9
blocks) so all tile-record shape and walkability checks use atlas
records throughout. Bumps version to 0.3.0, dep on maps 0.3.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 23:09:14 +02:00
Axel Meyer
394e8faef2 Bake stub atlas-sets for demo_tilemap and walls_tilemap
Replaces the legacy color-only *.tilemap.json fixtures with baked
2-tile atlas-sets in the new atlases/<id>/{diffuse,height,atlas-json,
lock-json} layout. Stub PNGs are 32x32 solid colors matching the
previous color values; height channel is synthesized L8=0 by the baker.
A scripts/bake.sh re-bake helper drives the atlas-baker tool against
assets/_sources/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 22:53:30 +02:00
Axel Meyer
c3e9eda702 Add v0.2.0 test assertions, multi-layer fixture, second atlas
Migrates the test-lib content authored alongside lib-core.maps v0.2.0
into its canonical role=test location. Covers packed-u32 GID encode/
decode round-trip, v1 to v2 schema upgrade, schema-v2 validation,
multi-layer load, multi-atlas resolution, per-layer tile lookup with
tile_at backwards-compat, gameplay queries (is_walkable, blocks_walk,
blocks_sight), layer iteration around the entity slot, and v1 JSON
auto-migration on load. 367 assertions total when run via the engine
test-libs harness.

New fixtures: maps/demo_v2.map.json (4x4 multi-layer with roof) and
assets/tiles/walls_tilemap.tilemap.json (second atlas with wall tiles).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 17:54:08 +02:00
Axel Meyer
705cae199e Bump to 0.2.0 to track lib-core.maps 0.2.0
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 16:14:01 +02:00
Axel Meyer
278255d409 chore: bump lib-core.maps dep to 0.1.2 2026-05-18 03:22:23 +02:00
Axel Meyer
02a3e33341 chore: add Tier-1 LICENSE file
Adds the proprietary all-rights-reserved license that applies to this
library. The text is identical to the engine LICENSE — this lib is
Tier-1 official platform content, distributed under the same terms.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 18:04:36 +02:00
Axel Meyer
83ab0526e9 docs(maps-test): add API section documenting run_tests entrypoint
Test-libs expose a single public function (run_tests) per ADR-0037.
Documenting it under ## API allows --lint to pass cleanly on test-libs,
now that parse_readme_api supports namespace-less H3 headers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 17:51:54 +02:00
Axel Meyer
30b909a54f docs: migrate README to API-Doc-Convention (S2-cascade.libs test-lib)
Restructured per ADR-0038 with Coverage-Statement-Block per Fault-
Injection-Audit-Convention. Topology auto-populated. Pre-commit hook
installed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 16:49:05 +02:00
Axel Meyer
b9d58a5cac docs(maps-test): Coverage Statements from fault-injection audit (Test-Cov Phase 2.2)
3 mutations tested. 2 caught, 1 uncaught.
Gap M3: OOB guard removal coincidentally undetectable due to Lua nil-on-OOB-index behavior.
Future-Slice B candidate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 02:32:06 +02:00
Axel Meyer
8ef586f930 feat(maps-test): migrate to test-lib (manifest.lib + run_tests) (Test-Opt Phase 3.1)
Per ADR-0037 Tests-as-Libs Convention.

- manifest.module -> manifest.lib with role: 'test'
- init(ctx) -> M.run_tests(ctx) entry-point export
- No assertion-body change

Repo renamed on Gitea: sporel-module-lib-core.maps-test -> sporel-lib-core.maps-test
Local moved: sporel-modules/lib-core.maps-test/ -> sporel-libs/lib-core/maps-test/
History preserved.
2026-05-16 01:16:30 +02:00
Axel Meyer
c869196a62 feat: P.3.1 reference test-module — lib-core.maps assertions 2026-05-11 02:48:47 +02:00