feat: sprite-mode test-chamber with 13-bone puppet + sprite-tilemap
13-bone humanoid rig (12 visible bones + 1 root) hand-ported from substrate reference, mapped to PROTOTYPE asset-pack via asset_aliases indirection (asset_pack: player). Bones use texture/z_order/scale/ anchor fields from the rig-format extension. Tracks split: lower for legs + feet (walk animation), upper for root/body/head/shoulders/arms (idle animation). Animations: - idle.anim.json: 2.0s loop on upper track, subtle body+head sway - walk.anim.json: 0.6s loop on lower track, legs+feet cycle Sprite-tilemap: 4-tile palette (floor_001-003 walkable, floor_004 as wall). Map content: 20x20 with wall-border and interior wall blocks. tile_rotations parallel array exercises 90 and 180-degree rotations on a handful of cells for visual rotation-pipeline verification. init.lua loads textures via asset_aliases lookup: - maps.load_textures(aliases) resolves tilemap-tile atlas-ids - puppet.load_rig(path, aliases) loads + resolves bone textures - furniture textures preloaded at init (bed, bench, backpack) to avoid first-frame load stutter; rendered via engine.render. draw_sprite_transform in the draw hook Camera follows puppet via per-frame camera.set_target. Headtrack: head bone (look_at: true) rotates to face mouse world-position. New SPOREL_CI=1 traces from render and init hooks: - vagrant: render_frame_ok (per frame from render) - vagrant: sprite_mode=on (once after first sprite-draw) - vagrant: assets_loaded=14 (once after init: 7 puppet + 4 tile + 3 furniture)
This commit is contained in:
@@ -4,8 +4,11 @@
|
||||
"duration": 0.6,
|
||||
"loop": true,
|
||||
"keyframes": [
|
||||
{ "t": 0.0, "leg_l": { "angle": -15 }, "leg_r": { "angle": 15 } },
|
||||
{ "t": 0.3, "leg_l": { "angle": 15 }, "leg_r": { "angle": -15 } },
|
||||
{ "t": 0.6, "leg_l": { "angle": -15 }, "leg_r": { "angle": 15 } }
|
||||
{ "t": 0.0, "leg_l": {"angle": -20}, "leg_r": {"angle": 20},
|
||||
"foot_l": {"angle": 10}, "foot_r": {"angle": -10} },
|
||||
{ "t": 0.3, "leg_l": {"angle": 20}, "leg_r": {"angle": -20},
|
||||
"foot_l": {"angle": -10}, "foot_r": {"angle": 10} },
|
||||
{ "t": 0.6, "leg_l": {"angle": -20}, "leg_r": {"angle": 20},
|
||||
"foot_l": {"angle": 10}, "foot_r": {"angle": -10} }
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user