mirror of
https://github.com/hanzoai/video.git
synced 2026-10-30 18:18:27 +00:00
New beta pipeline for reusable cartoon characters with SVG rigs, pose
libraries, action timelines, and Canvas/Remotion/HyperFrames rendering.
- pipeline_defs/character-animation.yaml: 11-stage manifest
- skills/pipelines/character-animation/: 11 stage director skills
- tools/character/: BaseTool implementations for char design, rigging,
pose libraries, action timelines, previews, and QA
- schemas/artifacts/{character_design,rig_plan,pose_library,
action_timeline,character_qa_report}.schema.json: canonical artifacts
- schemas/artifacts/scene_plan.schema.json: extended for character-led
scenes
- .agents/skills/{canvas-procedural-animation,character-animation-qa,
character-rigging,pose-library-design,svg-character-animation}/:
Layer 3 vendor knowledge
- AGENT_GUIDE / PROJECT_CONTEXT / README / ARCHITECTURE / PROVIDERS:
surface the new pipeline and its capability family
- tools/video/hyperframes_compose.py: SVG character rig support
- tests/contracts/test_character_animation_pipeline.py: contract tests
60 lines
2.3 KiB
JSON
60 lines
2.3 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "openmontage/artifacts/rig_plan",
|
|
"title": "Rig Plan",
|
|
"description": "Rig parts, pivots, layers, constraints, and views for character animation.",
|
|
"type": "object",
|
|
"required": ["version", "characters"],
|
|
"properties": {
|
|
"version": { "type": "string", "const": "1.0" },
|
|
"characters": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["character_id", "parts", "joints", "layers", "required_poses"],
|
|
"properties": {
|
|
"character_id": { "type": "string" },
|
|
"rig_type": { "type": "string", "enum": ["svg_rig", "canvas_procedural", "lottie", "hybrid"], "default": "svg_rig" },
|
|
"parts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "kind", "layer"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"kind": { "type": "string" },
|
|
"layer": { "type": "integer" },
|
|
"asset_path": { "type": "string" },
|
|
"parent": { "type": "string" }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"joints": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"required": ["pivot"],
|
|
"properties": {
|
|
"pivot": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 },
|
|
"rotation": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 },
|
|
"scale": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"layers": { "type": "array", "items": { "type": "string" } },
|
|
"views": { "type": "array", "items": { "type": "string" } },
|
|
"required_poses": { "type": "array", "items": { "type": "string" } },
|
|
"required_actions": { "type": "array", "items": { "type": "string" } },
|
|
"risks": { "type": "array", "items": { "type": "string" } }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"metadata": { "type": "object" }
|
|
},
|
|
"additionalProperties": false
|
|
}
|