Phase J (2026-08-03) bumped lib-core.composition 0.3.0->0.4.0 and
lib-core.crafting 0.3.0->0.5.0, but only vagrant-skeleton and
lib-core.crafting themselves were updated. Dependent manifests kept the
old pins, so dep-fetcher saw disagreeing pins on the same lib and
refused to start both spine-prototype (ENGINE_ERR_LIB_DEP_MISSING,
rc=19) and vagrant-skeleton ("dep check failed", conflict on
lib-core.composition + lib-core.crafting).
Unify all pins on the on-disk versions. No code changes required:
composition 0.4.0 is purely additive (the quality/condition loud-error
was removed; no signature changed), and crafting-display only consumes
crafting.can_craft + crafting.list_recipes, both still present, and
never referenced the `form` field retired by ADR-0055.
README "Requires:" lines synced to match the manifests (Gate 3).
milestone-check.sh: GREEN (build, ctest, smoke, devwrap-ci,
test-all-modules + anomaly scan). vagrant-skeleton headless run clean
at 60 CI frames.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
No code change. v0.3.0 adds an optional sprite_scale property on
draw_entities path-1; spine-prototype doesn't set it, so default
1.0 preserves v0.2.0 behavior.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Refactor spine-prototype to use lib-core.composition for the Sign:
template defines sprite_color + sprite_w + sprite_h + text + position;
create instantiates with per-instance position + text override.
Render switches from direct draw_rect to render.draw_entities{tag=
"renderable"}; interaction.register reads position from entity-properties.
Direct hardcoded `local sign = {x, y, text}` Lua-local + SIGN_R/G/B
constants entfernt. Sign demo-behavior identisch (12×12 yellow rect at
tile-center (4,4) = (144,144); E within 40px → print text).
Bumps: render dep 0.1.0 → 0.2.0; +composition v0.1.0; module 0.1.0 →
0.2.0.
Stones + Player bleiben Lua-locals (A.5/A.6 territory).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the inline color-only demo_tilemap with a dep on the
prototype-fa-starter asset lib and its baked fa_terrain_v1 atlas.
The map atlases[] alias-string is updated to fa_terrain_v1; the
packed-u32 layer-tiles keep their numeric values because the baker
assigned the expected IDs (1 for grass_field surface tile, 2 for
stone_wall_brick wall tile). Adds maps.load_textures() call in init.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6 input.bind() calls migrated from engine.input.KEY_* integers to
lowercase string-keys. Module is now engine.input.KEY_*-free (audit-
I3 resolved).
deps[]: lib-core.input version 0.1.0 → 0.2.0.