Replace InstantiateInvoker.getArmature() throw with real lookup in
TiedUpArmatures registry. This unblocks the datapack auto-register
path for anim JSONs placed in assets/tiedup/animmodels/animations/.
5 Phase 3 placeholder JSONs updated with EF-native 'constructor' block
— they now auto-register via AnimationManager.readResourcepackAnimation
without any Java-side hardcoding.
Data-driven pipeline now fully working end-to-end : modder drops a
JSON in their datapack's animmodels folder, it's automatically picked
up at reload, and referenced via resolveWithFallback() from item
bindings. No recompile needed for new items/anims.
Adds minimum viable assets to exercise the Phase 3 anim pipeline
in-game :
- 5 placeholder anim JSON files in assets/tiedup/animmodels/animations/
(identity keyframes matching context_stand_idle template) :
armbinder_idle, armbinder_walk, armbinder_struggle,
armbinder_equip_oneshot, classic_collar_idle
- armbinder.json enriched with 'animations' block binding IDLE + WALK
+ WALK_BOUND + STRUGGLE_BOUND living_motions + on_equip oneshot
- classic_collar.json enriched with IDLE binding for multi-item
composition test
Purpose : validate end-to-end that the data-driven pipeline fires
correctly (rebuild, motion switch, oneshot sound, rehydrate) via F6
debug overlay. Visual pose does not change (identity anims) — body
keyframe authoring remains blocked on Blender artist assets.
Runtime note : the placeholder JSONs lack the EF 'constructor' block,
so readResourcepackAnimation does not register them in
AnimationManager.animationByName. resolveWithFallback will return
EMPTY_ANIMATION with a dedup WARN per missing ID — this exercises
the binding resolution path without needing a real StaticAnimation
(the map livingAnimations still receives the accessor, F6 overlay
still reports bindings:N). Real registration will land when either
InstantiateInvoker.getArmature() is implemented (Phase 2 armature
registry) or a dedicated AnimationRegistryEvent handler is added.
Gameday verification steps documented in docs/plans/rig/GAMEDAY_CHECKLIST.md
(gitignored, local only).