{ "schema": "dansori.characterGestureLibrary.v1", "note": "Source-side reusable gesture catalog. Add every character gesture here with character/category/source/runtime/frame paths.", "categories": [ "idle", "dance", "greet", "present", "thinking", "success", "error", "listen", "control" ], "gestures": [ { "id": "leesori.dance.solo3", "character": "leesori", "characterProject": "LeeSori_Live2D", "displayName": "Solo Dance 3", "category": "dance", "runtime": "poseSequence", "sourceReference": "SampleDance/Solo Dance 3.mp4", "sourceFrames": "LeeSori_Live2D/03_Assets/Dance/SoloDance3", "normalizedFrames": "LeeSori_Live2D/03_Assets/Dance/SoloDance3/Frames_Normalized", "frameMs": 340, "loop": true, "tags": [ "upper-body", "hand-forward", "wrist-wave", "arms-up", "hair-touch", "app-right-panel" ], "frames": [ "frame_01_ready.png", "frame_03_wrist_wave.png", "frame_02_hand_forward.png", "frame_03_wrist_wave.png", "frame_04_arms_up.png", "frame_05_hair_touch.png", "frame_04_arms_up.png", "frame_03_wrist_wave.png", "frame_01_ready.png" ], "transitionMs": 190, "motionModel": "crossfade-transform-offsets" } ] }