motionloom 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +123 -17
  3. package/ROADMAP.md +8 -3
  4. package/SKILL.md +34 -3
  5. package/agent-card.json +48 -5
  6. package/agent-surfaces.json +8 -1
  7. package/artifact-adapter-registry.json +53 -0
  8. package/bin/motionloom.mjs +41 -4
  9. package/docs/AGENT-INTEGRATION.md +15 -2
  10. package/docs/CHECKLIST.md +21 -0
  11. package/docs/STATUS.md +2 -2
  12. package/docs/audits/data/deep-stress-latest.json +65 -65
  13. package/docs/releases/2.3.0.md +33 -0
  14. package/docs/releases/2.4.0.md +31 -0
  15. package/docs/releases/npm-publish-from-workstation.md +19 -8
  16. package/docs/research/agent-skill-ecosystem-notes.md +47 -0
  17. package/docs/research/ai-animation-tools-2026-notes.md +81 -0
  18. package/docs/research/ai-animation-tools-2026-report.md +168 -0
  19. package/docs/research/ai-pilot-ingest-notes.md +29 -0
  20. package/examples/agent-consumer/ai-generated-pilot/hero-male.json +10 -0
  21. package/examples/agent-consumer/ai-generated-pilot-provenance.json +55 -0
  22. package/examples/agent-consumer/ai-pilot-scout/CHATGPT-HANDOFF.md +70 -0
  23. package/examples/agent-consumer/ai-pilot-scout/CODEX-HANDOFF.md +80 -0
  24. package/examples/agent-consumer/ai-pilot-scout/README.md +39 -0
  25. package/examples/agent-consumer/ai-pilot-scout/chatgpt-geometry-correction-prompt.md +55 -0
  26. package/examples/agent-consumer/ai-pilot-scout/chatgpt-pose-generation-prompt.md +78 -0
  27. package/examples/agent-consumer/ai-pilot-scout/partial-handoff.json +73 -0
  28. package/examples/agent-consumer/artifact-intake/hero-motion-controls.json +15 -0
  29. package/examples/agent-consumer/artifact-intake/hero-motion-export.json +14 -0
  30. package/examples/agent-consumer/artifact-intake/hero-motion-provenance.json +20 -0
  31. package/examples/agent-consumer/artifact-intake/hero-motion-receipt.json +16 -0
  32. package/examples/agent-consumer/asset-consistency/assets/forest-back.png +0 -0
  33. package/examples/agent-consumer/asset-consistency/assets/forest-front.png +0 -0
  34. package/examples/agent-consumer/asset-consistency/assets/forest-mid.png +0 -0
  35. package/examples/agent-consumer/asset-consistency/assets/hero-atlas.png +0 -0
  36. package/examples/agent-consumer/asset-consistency/assets/hero-frame-00.png +0 -0
  37. package/examples/agent-consumer/asset-consistency/assets/hero-frame-01.png +0 -0
  38. package/examples/agent-consumer/asset-consistency/assets/hero-frame-02.png +0 -0
  39. package/examples/agent-consumer/asset-consistency/assets/hero-frame-03.png +0 -0
  40. package/examples/agent-consumer/asset-consistency/forest-layered-map.json +53 -0
  41. package/examples/agent-consumer/asset-consistency/hero-atlas-contract.json +24 -0
  42. package/examples/agent-consumer/asset-consistency/hero-identity.json +51 -0
  43. package/examples/agent-consumer/asset-consistency/hero-walk-action-set.json +27 -0
  44. package/examples/agent-consumer/asset-consistency/hero-walk-frame-geometry.json +63 -0
  45. package/examples/agent-consumer/rig-compatibility/hero-walk-fixture-rig.json +13 -0
  46. package/examples/agent-consumer/rive-package-gate/README.md +20 -0
  47. package/examples/agent-consumer/runtime-candidate/hero-walk-candidate.json +18 -0
  48. package/examples/agent-consumer/runtime-pilot/action-set.json +19 -0
  49. package/examples/agent-consumer/runtime-pilot/asset-identity.json +44 -0
  50. package/examples/agent-consumer/runtime-pilot/candidate.json +21 -0
  51. package/examples/agent-consumer/runtime-pilot/controls.json +35 -0
  52. package/examples/agent-consumer/runtime-pilot/export.json +17 -0
  53. package/examples/agent-consumer/runtime-pilot/provenance.json +38 -0
  54. package/examples/agent-consumer/runtime-pilot/receipt.json +30 -0
  55. package/package.json +65 -4
  56. package/references/agent-interoperability.md +11 -0
  57. package/references/browser-review-contract.md +7 -1
  58. package/references/intelligence-core.md +29 -2
  59. package/rig-adapter-registry.json +39 -0
  60. package/schemas/action-set.schema.json +42 -0
  61. package/schemas/agent-surfaces.schema.json +1 -1
  62. package/schemas/artifact-adapter-registry.schema.json +16 -0
  63. package/schemas/asset-identity.schema.json +117 -0
  64. package/schemas/asset-provenance.schema.json +183 -0
  65. package/schemas/atlas-contract.schema.json +48 -0
  66. package/schemas/control-track.schema.json +18 -0
  67. package/schemas/export-manifest.schema.json +19 -0
  68. package/schemas/frame-geometry.schema.json +79 -0
  69. package/schemas/generation-receipt.schema.json +20 -0
  70. package/schemas/layered-map.schema.json +75 -0
  71. package/schemas/rig-adapter-registry.schema.json +14 -0
  72. package/schemas/rig-compatibility.schema.json +53 -0
  73. package/schemas/rive-package-manifest.schema.json +43 -0
  74. package/schemas/runtime-candidate.schema.json +48 -0
  75. package/schemas/scene-manifest.schema.json +19 -0
  76. package/scripts/artifact-intake.py +408 -0
  77. package/scripts/asset-consistency.py +517 -0
  78. package/scripts/asset-provenance.py +395 -0
  79. package/scripts/build-ai-pilot.py +504 -0
  80. package/scripts/docs-audit.py +14 -2
  81. package/scripts/isolate-alpha-background.py +147 -0
  82. package/scripts/pr.py +2 -0
  83. package/scripts/quality-gate.py +127 -3
  84. package/scripts/report.py +135 -0
  85. package/scripts/resolve-task-bundle.py +84 -0
  86. package/scripts/review-hook.py +26 -4
  87. package/scripts/rig-compatibility.py +251 -0
  88. package/scripts/rive-package-gate.py +245 -0
  89. package/scripts/runtime-candidate.py +301 -0
  90. package/scripts/setup.mjs +500 -0
  91. package/scripts/skill-doctor.py +2 -1
  92. package/src/output/browser-review-smoke/asset-provenance.json +77 -0
  93. package/src/output/browser-review-smoke/manifest.json +1 -0
  94. package/src/output/browser-review-smoke/visual-truth.json +3 -3
  95. package/src/output/runtime-pilot-framer/asset-provenance.json +38 -0
  96. package/src/output/runtime-pilot-framer/browser-review.json +20 -0
  97. package/src/output/runtime-pilot-framer/framer-motion/runtime-telemetry.json +103 -0
  98. package/src/output/runtime-pilot-framer/manifest.json +31 -0
  99. package/src/output/runtime-pilot-framer/motion-spec.json +25 -0
  100. package/src/output/runtime-pilot-framer/runtime-evidence.json +96 -0
  101. package/src/output/runtime-pilot-framer/runtime-telemetry.json +100 -0
  102. package/src/output/runtime-pilot-framer/scene.jsx +52 -0
  103. package/src/output/runtime-pilot-framer/snapshot/.render-meta.json +9 -0
  104. package/src/output/runtime-pilot-framer/snapshot/frame-00.png +0 -0
  105. package/src/output/runtime-pilot-framer/snapshot/frame-100.png +0 -0
  106. package/src/output/runtime-pilot-framer/snapshot/frame-50.png +0 -0
  107. package/tests/scripts/run_tests.py +131 -0
  108. package/tests/scripts/test_ai_pilot_builder.py +128 -0
  109. package/tests/scripts/test_alpha_isolation.py +60 -0
  110. package/tests/scripts/test_artifact_intake.py +146 -0
  111. package/tests/scripts/test_asset_consistency.py +199 -0
  112. package/tests/scripts/test_rig_compatibility.py +105 -0
  113. package/tests/scripts/test_rive_package_gate.py +101 -0
  114. package/tests/scripts/test_runtime_candidate.py +95 -0
@@ -0,0 +1,47 @@
1
+ # Ghi chú evidence: kỹ năng nội bộ và Agent Skills đa nền tảng
2
+
3
+ **Ngày khảo sát:** 15 tháng 8 năm 2026
4
+
5
+ ## ImageGen nội bộ
6
+
7
+ Skill `imagegen` hiện có của Agent là một bộ hướng dẫn routing/production cho visual deliverable. Với game asset, skill đặt tiêu chí là silhouette tái sử dụng, perspective nhất quán và clean edges; với transparent asset, tiêu chí gồm alpha sạch, subject đầy đủ, không colored fringe hoặc background/shadow không mong muốn. Skill yêu cầu phân biệt creation/editing mang tính semantic với image processing thuần deterministic, và yêu cầu lightweight validation trước delivery.
8
+
9
+ Điều này tạo một boundary rõ cho MotionLoom: ImageGen có thể là **nguồn tạo hoặc chỉnh visual asset**, còn MotionLoom nhận output cùng metadata, đo alpha/geometry/atlas/runtime và quản lý evidence/review. Không được giả định ImageGen tự phát hành seed, model version, license, rig map hoặc production approval. Vì không có API/credential contract trong core MotionLoom, adapter ban đầu phải là `scaffold` receipt importer, không phải provider invoker.
10
+
11
+ ## Codex Skills
12
+
13
+ OpenAI mô tả Skill là bundle có version gồm file và `SKILL.md`, hỗ trợ local shell hoặc hosted container, và tương thích Agent Skills standard. Khi skill được mount, model nhìn metadata rồi quyết định kích hoạt; tài liệu cũng yêu cầu xem Skill là code/instruction đặc quyền, kiểm tra trước khi tích hợp và đặt approval cho high-impact action. [1]
14
+
15
+ MotionLoom cần tiếp tục giữ `SKILL.md`, artifacts và local-only default, đồng thời chỉ nhận generator metadata từ một skill đã được user/project cài đặt. Một skill descriptor không phải bằng chứng rằng output asset đã được tạo đúng hoặc được người dùng phê duyệt.
16
+
17
+ ## Claude Code Skills
18
+
19
+ Claude Code mô tả Skill là thư mục có `SKILL.md`, có thể được load khi relevant hoặc gọi trực tiếp; built-in skills như `/debug`, `/code-review` và `/verify` cũng là prompt-based orchestration. Tài liệu đặc biệt có giá trị với MotionLoom ở ý tưởng ghi lại run/verify recipe trong project skill để agent sau đó lặp lại workflow đã thành công thay vì suy đoán lại environment. [2]
20
+
21
+ MotionLoom đã đi theo cùng hướng với Project Memory và `setup/status/repair`. Adapter registry sẽ chỉ lưu provider capability/evidence, không tự động chạy một external skill hay mở PR.
22
+
23
+ ## Gemini CLI Skills
24
+
25
+ Gemini CLI cũng dùng Agent Skills standard với lifecycle discovery → activation → consent → injection → execution. Tài liệu nêu built-in, extension, user và workspace tiers; `.agents/skills/` được dùng làm alias interoperable. Activation cần consent và skill folder trở thành permitted path sau approval. [3]
26
+
27
+ Điều này củng cố hai yêu cầu cho MotionLoom: registry phải mô tả **capability** thay vì vendor prompt; và skill/adapter có side effect phải có explicit user approval. MotionLoom nên phát hành artifacts portable tại workspace/package level, nhưng không được trở thành một catalog tải/chạy skills tùy ý.
28
+
29
+ ## Contract decision
30
+
31
+ Adapter registry sẽ dùng các giá trị sau:
32
+
33
+ | Field | Quyết định |
34
+ |---|---|
35
+ | `adapter_id` | Tên capability ổn định, ví dụ `local-fixture` hoặc `internal-imagegen`, không phải claim về ownership/model quality. |
36
+ | `kind` | `fixture`, `internal_skill`, `external_provider` hoặc `manual_import`. |
37
+ | `status` | `verified`, `scaffold` hoặc `blocked`, chỉ `verified` khi có regression và runtime evidence đúng phạm vi. |
38
+ | `invocation_mode` | `none`, `manual`, `agent-mediated` hoặc `api`; core validator không thực thi invocation. |
39
+ | `cost_class` | `included`, `metered`, `external`, `unknown`; informational only, không phải billing proof. |
40
+ | `evidence_requirements` | Receipt, output hashes, source/provenance reference và runtime evidence tùy output kind. |
41
+ | `approval` | Luôn external/user; registry/receipt không chứa quyền mở PR hay production approval. |
42
+
43
+ ## References
44
+
45
+ [1]: https://developers.openai.com/api/docs/guides/tools-skills "OpenAI API — Skills"
46
+ [2]: https://code.claude.com/docs/en/skills "Claude Code — Skills"
47
+ [3]: https://geminicli.com/docs/cli/skills/ "Gemini CLI — Agent Skills"
@@ -0,0 +1,81 @@
1
+ # AI Animation and Asset Tools — Research Notes
2
+
3
+ > Working research notes. Claims below are discovery leads from official-site search results and must be verified by opening the source pages before inclusion in the final report.
4
+
5
+ ## Initial source leads
6
+
7
+ | Tool / family | Official URL | Discovery lead to verify |
8
+ |---|---|---|
9
+ | PixelLab | https://www.pixellab.ai/ | AI pixel-art game assets, animated characters, sprite sheets and environments. |
10
+ | PixelLab API | https://www.pixellab.ai/pixellab-api | API-oriented generation of characters, animations and environments for procedural/live asset creation. |
11
+ | Runway | https://runway.com/product | Text-to-video and image-to-video generation, plus image generation/editing. |
12
+ | DeepMotion | https://www.deepmotion.com/ | Browser-based AI motion capture and body tracking that produces 3D animation from video. |
13
+ | Rokoko Vision | https://www.rokoko.com/products/vision | Video-to-3D animation through an AI mocap solver. |
14
+ | Scenario | https://www.scenario.com/ | Style-consistent game asset generation and animated video positioning; workflow details require verification. |
15
+ | Leonardo AI | https://leonardo.ai/news/how-to-generate-a-full-game-asset-suite-with-leonardo-ai | Game asset ideation, iteration and refinement workflow; official article requires verification. |
16
+ | Ludo.ai | https://ludo.ai/features/sprite-generator | Sprite generation and animation workflow; official feature page requires verification. |
17
+ | GameLab Studio | https://gamelabstudio.co/ | AI sprite-sheet and transparent animation generation; official claims require verification. |
18
+
19
+ ## Planned comparison dimensions
20
+
21
+ 1. Input controls: text, reference image, video, pose/motion reference, style training or project memory.
22
+ 2. Output model: raster frames, sprite sheet, atlas, 2D rig, 3D skeleton animation, video, vector/timeline or runtime component.
23
+ 3. Temporal/identity consistency: seed, reference locking, character/style model, pose control, frame geometry and loop controls.
24
+ 4. Production integration: export formats, API/CLI, engine/runtime adapters, metadata, versioning and deterministic replay.
25
+ 5. Human governance: provenance, license/source records, review checkpoints, editability and approval boundaries.
26
+ 6. MotionLoom relevance: which capability belongs in project memory, contracts, analyzers, runtime evidence, Dev Lab or handoff.
27
+
28
+ ## Verified findings — PixelLab
29
+
30
+ Source pages opened:
31
+
32
+ - https://www.pixellab.ai/
33
+ - https://www.pixellab.ai/docs/tools/animate-with-skeletons
34
+
35
+ The official product page exposes separate workflows for one-click animation, skeleton-based animation and text-described animation. It also lists 4/8 directional rotation, reference-based style consistency, true inpainting, scenes, tilesets and UI elements. The animation copy explicitly targets walking, running, attacking and custom sprite-sheet animations. The page also positions scene animation as text-described motion for animated environments and dynamic backgrounds.
36
+
37
+ The skeleton documentation page is currently a product/tutorial-style page rather than a full API specification. It confirms the product surface includes skeleton controls, automatic character animation and reference-driven generation, but it does not yet provide enough public detail to claim deterministic skeleton export, frame hashing, atlas metadata or runtime bindings. Those remain questions for MotionLoom to verify at the artifact/export boundary instead of inferring them from visual output.
38
+
39
+ Initial design lesson: a useful AI asset tool separates **character identity/style editing**, **motion authoring**, **directional rotation**, **environment/tileset generation** and **inpainting** into distinct operations. MotionLoom should model these as explicit artifact stages and contracts, not as one generic "generate animation" action.
40
+
41
+ The official PixelLab API page exposes a more structured pipeline than the homepage alone suggests. It separates image generation, image operations, animation, rotation, inpainting/editing, map/tileset generation, character/object state management and prompt enhancement. Relevant animation operations include text animation, text animation v3 with optional start/end frames and up to 16 frames, skeleton animation, skeleton estimation, character animation and animation editing. It also exposes interpolation between images/animations and outfit transfer across frames. Character and object operations are persisted as reusable entities with later states and animations, which is a useful identity-first model.
42
+
43
+ The API page also reveals concrete limits and options such as transparent output, forced palettes, init images, inpainting, direction/view controls, maximum canvas/frame sizes and explicit frame counts. These are implementation facts for PixelLab's API surface, not evidence that every output is production-safe. MotionLoom should treat them as source metadata and then measure the returned artifacts independently.
44
+
45
+ The official style-reference guide states that users add one or more style reference images, describe the desired asset and generate multiple variations. It describes a grid/frame-output relationship based on the largest reference-image dimension and exposes a large reference-image count at small sizes. The important lesson is that style consistency is reference-conditioned and parameterized by output geometry; it is not merely a textual prompt convention. MotionLoom's identity manifest, palette/camera/scale fields and frame-geometry analyzer are the natural verification layer after such a generator.
46
+
47
+ ## Verified findings — Runway and DeepMotion
48
+
49
+ Runway's official Gen-4 research page describes a reference-conditioned video workflow: visual references plus instructions are used to create images/videos while maintaining consistent characters, locations, objects, style, mood and cinematographic elements across scenes and perspectives. It emphasizes that this is achieved without fine-tuning or additional training. For MotionLoom, the transferable idea is a reusable **reference bundle** and scene-level identity rather than re-prompting a character from scratch for every shot. The non-transferable assumption is that visual consistency alone proves a game-ready frame contract; raster bounds, sockets, timing and runtime evidence still need independent checks.
50
+
51
+ DeepMotion's official homepage exposes two distinct products/workflows: SayMotion for text-to-3D animation and Animate 3D for video-to-3D animation. It also exposes an Animate 3D API surface in the site navigation. The key architectural lesson is the separation between **motion source acquisition** (text or video) and **3D animation output**. MotionLoom should model body animation as a source-bound motion artifact with rig/skeleton compatibility, retargeting metadata and runtime evidence, not as an opaque generated clip.
52
+
53
+ Rokoko Vision 3.0's official page describes a four-step workflow: upload a video, generate 3D motion, edit/view/loop the capture in Rokoko Studio, upload a character for retargeting, then export to FBX or BVH for tools such as Blender, Unity and Unreal. This is a strong reference for MotionLoom's body-rig path because it makes cleanup, looping, skeleton choice and export explicit stages after AI inference. The page also links integrations and motion-data workflows, reinforcing that the generated result is an editable motion artifact rather than only a rendered video.
54
+
55
+ Luma's official Ray3.2 page positions multi-keyframe control, Modify Video and Motion/Structure settings as first-class controls. The page exposes FAQ topics for preserving actor/performance, lip-sync/dialogue timing, source-video frame rate, footage suitability and keyframe counts. Even where the page does not expose all answers in static extraction, the architecture is clear: preserve source motion/structure while changing appearance, and use explicit keyframes to direct continuity. MotionLoom can learn the separation between source motion, structural constraints and appearance transformation, while still requiring its own runtime telemetry and artifact checks.
56
+
57
+ Scenario's official platform page describes an AI creative infrastructure spanning image, video, audio and 3D, with a custom-model workflow that trains on 5–100 reference images, supports custom LoRA models and embeds brand/style guidance. It also exposes visual multi-step workflows, batch generation, reusable templates, API and MCP integration. The page lists concrete game-oriented workflows such as splitting a character/object/scene into isolated components, pose transfer and character variation, 2D animation rigging sheets, 3D auto-rigging and concept-to-game-ready 3D. The lesson for MotionLoom is to treat an AI tool as an orchestrated graph of reusable steps and agents, not only a single model call. Any claims about Scenario's internal model quality or production readiness still require artifact-level validation.
58
+
59
+ The previously discovered Adobe Firefly Video Model blog URL returned HTTP 404 when opened, so it is excluded as evidence for this report. Adobe Firefly remains a candidate source for a later pass using a currently valid official product or help page; no unsupported claim is made from the stale search snippet.
60
+
61
+ Cascadeur's official AI-tools documentation is unusually explicit about the division of labor. It lists AutoPosing, Inbetweening, AutoInterpolation and Video Mocap as ML-based tools, while separating AutoPhysics, Ragdoll, Animation Unbaking and Fulcrum Motion Cleaning as non-ML tools. AutoPosing predicts a pose from activated manipulators and their locations; Inbetweening predicts motion between keyed poses using pose, timing, keyframe count and style; AutoInterpolation predicts interpolation/kinematics types; Video Mocap extracts actor poses and applies them to a rigged character. Cascadeur also states that its tools assist rather than replace the animator, and that users' animations are not collected for training. This is a strong model for MotionLoom's human-governed boundary: AI proposes or fills motion, deterministic tools clean/measure it, and the user remains the authority for acceptance.
62
+
63
+ The current Adobe Firefly Help URL was found through official search results but returned no extractable page content in this browser session. It is therefore not treated as fully verified evidence here. The candidate workflow is camera-motion transfer from a reference video with a start frame, but this requires a future successful page extraction before being used for a strong claim.
64
+
65
+ Kinetix's current official homepage describes video-to-animation models for 3D character animation and points to integration into Unity Muse, an in-game Emote Creator for OVERDARE, and AI-assisted animation in Adobe Mixamo. This is relevant because the output is positioned as reusable in-game 3D animation, not merely a video render, and because moderation is mentioned for the player-generated emote workflow. The official publication URL suggested by the page returned 404, so no additional technical claim is taken from it.
66
+
67
+ ## Cross-tool pipeline synthesis
68
+
69
+ Across the verified sources, the strongest tools do not rely on one prompt-to-final-output step. They expose a sequence of controls and artifacts:
70
+
71
+ | Pipeline layer | Patterns observed | MotionLoom implication |
72
+ |---|---|---|
73
+ | Identity/style | Reference images, custom style models, init images, palettes, persisted characters/objects | Keep identity manifest, reference hashes, palette/camera/scale and derivation chain as first-class inputs. |
74
+ | Motion source | Text action description, skeleton/pose controls, keyed poses, video performance or camera-motion reference | Bind the source type and source hash to the motion spec; do not treat generated pixels as the only source of truth. |
75
+ | Temporal construction | Explicit frame counts, start/end frames, inbetweening, interpolation, multi-keyframes, animation-to-animation editing | Expand action-set with source keyframes, timing, loop seam and editable intermediate evidence. |
76
+ | Spatial/rig mapping | Skeleton estimation, retargeting, 2D rig sheets, 3D auto-rigging, camera/direction/projection controls | Add rig compatibility, socket map, anchor/pivot and coordinate-system metadata before runtime rendering. |
77
+ | Cleanup/measurement | Studio cleanup, looping, physics tools, inpainting, frame editing, palette/geometry limits | Separate deterministic cleanup and measurement from model generation; fail closed on contamination/drift. |
78
+ | Packaging/runtime | Sprite sheets, FBX/BVH, game-engine integration, API/MCP, reusable templates and persisted states | Make export contract, runtime adapter and Dev Lab evidence mandatory for claims of readiness. |
79
+ | Governance | Licensed training data disclosures, moderation, style ownership, human review and approval boundaries | Keep provenance and user approval separate; record source/license/model details without self-asserted authority. |
80
+
81
+ This synthesis suggests that MotionLoom's differentiator should not be another generator. It should be the **artifact compiler and review governor between generators and real runtimes**: accept outputs from multiple tools, normalize their source/identity/motion metadata, measure the artifacts, render them in the target runtime, and return a user-facing evidence bundle before any PR action.
@@ -0,0 +1,168 @@
1
+ # Báo cáo nghiên cứu: Các công cụ AI animation/asset và bài học cho MotionLoom
2
+
3
+ **Ngày khảo sát:** 15 tháng 8 năm 2026
4
+ **Tác giả:** Manus AI
5
+ **Phạm vi:** Công cụ được chọn đại diện cho các nhóm tạo asset game 2D, video sinh chuyển động, motion capture/retargeting 3D và workflow AI đa bước. Báo cáo ưu tiên tài liệu/trang chính thức đã mở và đọc; các tuyên bố thương mại được xem là mô tả năng lực sản phẩm, **không** phải bằng chứng chất lượng production cho một output cụ thể.
6
+
7
+ > **Kết luận ngắn:** Những công cụ tốt nhất không xử lý animation như một prompt đơn lẻ. Chúng tách identity/style, motion source, pose/keyframe, cleanup, export và engine integration thành các bước có thể chỉnh sửa. MotionLoom không nên trở thành một bản sao generator; điểm khác biệt có giá trị là làm **compiler + evidence governor** đứng giữa nhiều generator và runtime thật: tiếp nhận artifact, chuẩn hóa metadata, đo đạc deterministically, render, mở Dev Lab và giữ quyền phê duyệt ở người dùng.
8
+
9
+ ## 1. Khung so sánh
10
+
11
+ Báo cáo dùng bảy tiêu chí để tránh đánh giá tool chỉ bằng chất lượng demo. Một pipeline phù hợp cho sản phẩm cần có đường đi từ intent đến artifact, từ artifact đến runtime, và từ runtime đến review có thể truy nguyên.
12
+
13
+ | Tiêu chí | Câu hỏi đánh giá | Ý nghĩa đối với MotionLoom |
14
+ |---|---|---|
15
+ | **Identity & style** | Có giữ được character, palette, camera, direction hay brand style qua nhiều output không? | Cần identity manifest, reference hash và derivation chain. |
16
+ | **Motion control** | Input là text, pose, skeleton, keyframe hay video performance? | Cần bind nguồn chuyển động vào motion spec. |
17
+ | **Temporal consistency** | Có start/end frame, frame count, in-betweening, loop hoặc action editing không? | Cần action-set và frame geometry có thể đo. |
18
+ | **Technical export** | Output là video, raster frame, sprite/atlas, 2D rig, FBX/BVH hay runtime component? | Cần export manifest và adapter runtime phù hợp. |
19
+ | **Iteration** | Có inpainting, pose transfer, cleanup, retargeting hay workflow graph không? | Cần phân tách generator step với deterministic remediation. |
20
+ | **Automation** | Có API, SDK, MCP, batch/job status hoặc entity state không? | Cần provider-neutral adapter/receipt trước khi tích hợp API. |
21
+ | **Governance** | Có source/license, moderation, human review hoặc policy boundary không? | Provenance/evidence không được suy diễn thành approval. |
22
+
23
+ ## 2. Các tool tiêu biểu và cách chúng dựng pipeline
24
+
25
+ ### 2.1. PixelLab AI: pipeline 2D pixel-art hướng character/sprite/map
26
+
27
+ PixelLab là ví dụ sát nhất với asset pipeline 2D game. Bề mặt sản phẩm tách one-click animation, skeleton animation, animation bằng mô tả text, directional rotation, inpainting, scenes, tilesets và UI assets. Các action như walk, run và attack được định vị là sprite animation; đây là điểm mạnh vì tool không gộp character, motion và environment vào một thao tác mơ hồ. [1] [4]
28
+
29
+ Tài liệu API cho thấy một pipeline có cấu trúc hơn phần giao diện: image generation và editing, text animation, animation với start/end frame tùy chọn, skeleton estimation/animation, character animation, animation editing, interpolation, outfit transfer, map/tileset và trạng thái character/object có thể tái sử dụng. API còn công bố một số control thực dụng như output transparent, palette cưỡng bức, init image, inpainting, direction/view, số frame và giới hạn canvas. [2]
30
+
31
+ Đặc biệt, hướng dẫn style consistency dùng một hoặc nhiều reference image, sinh biến thể, và ràng buộc đầu ra bằng geometry tham chiếu. Nó minh họa rằng consistency hữu ích không chỉ là prompt wording; nó là **reference-conditioned generation có control geometry**. [3]
32
+
33
+ | PixelLab làm tốt | Điều không nên suy diễn | Bài học triển khai cho MotionLoom |
34
+ |---|---|---|
35
+ | Tách style, state, character, motion, rotation, map và inpainting thành operation riêng. [1] [2] | Output nhìn đồng nhất không chứng minh pivot, bbox, loop seam, socket hay atlas không contamination. | Nhận từng operation như một artifact stage; chạy identity/action-set/frame/atlas/map contracts sau generation. |
36
+ | Có text/skeleton/start-end-frame controls và state có thể tái dùng. [2] | Không có bằng chứng công khai trong nguồn đã xem về deterministic replay hoặc runtime-ready export cho mọi artifact. | Lưu `generation-receipt`, `control-track` và hash cho input/output; render trong runtime target thay vì tin preview provider. |
37
+ | Có reference/style, palette và transparent output. [2] [3] | Style reference không tạo ra artist authority hoặc production approval. | Bind reference/license/origin vào provenance, giữ `ai_generated` ở runtime-ready cho đến human review. |
38
+
39
+ ### 2.2. Runway và Luma: reference-conditioned video, continuity ở cấp shot
40
+
41
+ Runway Gen-4 mô tả workflow dùng visual references cùng instruction để giữ character, location, object, style, mood và cinematographic elements qua scenes/perspectives mà không cần fine-tuning riêng. [5] Điều có thể học không phải là tin vào “consistent video”, mà là đưa **reference bundle** thành input độc lập của scene, thay vì viết lại prompt character ở mỗi shot.
42
+
43
+ Luma Ray nhấn mạnh multi-keyframe, Modify Video và control Motion/Structure; bề mặt sản phẩm cũng nêu các câu hỏi về actor/performance preservation, lip-sync, source frame rate và số keyframe. [8] Đây là kiến trúc tách **performance/motion structure** khỏi **appearance transformation**, phù hợp cho video/cinematic asset nhưng không trực tiếp tạo ra sprite hoặc rig game-ready.
44
+
45
+ | Điểm học được | Áp dụng chính xác vào MotionLoom | Giới hạn cần giữ |
46
+ |---|---|---|
47
+ | Reference bundle để tái dùng identity/cinematic direction. [5] | Thêm `reference_bundle` có hash, role và scope vào generation receipt/motion spec. | Không đánh đồng subject consistency trong video với frame geometry hoặc collision/sockets. |
48
+ | Start/end/multi-keyframe và structure-conditioned editing. [8] | Ghi keyframe source, timestamps, expected pose/camera và seam vào action-set. | Keyframe chỉ là intent; phải render và đo artifact trả về. |
49
+ | Source video có thể truyền performance/camera. [8] | Lưu source type và source hash, tách motion channel/camera channel/appearance channel. | Cần license, consent và provenance riêng cho footage/person performance. |
50
+
51
+ ### 2.3. DeepMotion, Rokoko, Cascadeur và Kinetix: body motion phải đi qua rig/retarget/edit
52
+
53
+ DeepMotion tách SayMotion (text-to-3D animation) và Animate 3D (video-to-3D animation), đồng thời có bề mặt API cho Animate 3D. [6] Rokoko Vision trình bày rõ workflow upload video, tạo 3D motion, chỉnh sửa/xem/loop capture trong Rokoko Studio, upload character để retarget, rồi export FBX/BVH cho Blender, Unity và Unreal. [7] Cả hai cho thấy source acquisition là một bước riêng, không phải substitute cho target-rig acceptance.
54
+
55
+ Cascadeur có cách mô tả đáng học về ranh giới AI. Tool này phân biệt AutoPosing, Inbetweening, AutoInterpolation và Video Mocap là ML-based; AutoPhysics, Ragdoll, Unbaking và motion cleaning là deterministic/non-ML tools. Inbetweening dựa trên pose, timing, số keyframe và style; video mocap đưa pose từ actor video vào character rig. Cascadeur nói rõ AI hỗ trợ quy trình animator thay vì thay thế animator. [10]
56
+
57
+ Kinetix đưa video-to-animation vào bối cảnh vận hành game thông qua Unity Muse, Emote Creator trong OVERDARE và công nghệ AI animation cho Adobe Mixamo; trang sản phẩm cũng nêu moderation ở flow player-generated emotes. [11] Đây là nhắc nhở rằng reusable in-game motion cần integration và governance, không dừng ở clip được tạo.
58
+
59
+ | Flow 3D đúng | Artifact bắt buộc nên có | Khoảng trống thường gặp nếu chỉ dùng AI output |
60
+ |---|---|---|
61
+ | Text/video performance → pose/motion inference → cleanup/loop → retarget → export → engine/runtime test. [6] [7] [10] | Source receipt, rig fingerprint, joint map, contact/foot-lock observations, action/event mapping, export manifest và runtime telemetry. | Foot sliding, missing joints, handedness/axis mismatch, bad root motion, event/socket mismatch và sự khác nhau giữa skeleton/mesh. |
62
+ | AI pose/inbetweening → physics/cleanup → animator edit. [10] | Keyframe intent, generated segment, edit history và deterministic validation report. | Heuristic model score không chứng minh motion đã phù hợp gameplay hoặc review. |
63
+ | Game/UGC integration → moderation/review. [11] | Candidate identity, policy result, user review, expiry và exact asset hash. | Moderation provider không thể thay user acceptance hoặc production approval. |
64
+
65
+ ### 2.4. Scenario: workflow graph, custom style và orchestration
66
+
67
+ Scenario khác các generator đơn tuyến vì đặt image, video, audio và 3D vào một creative infrastructure. Trang chính thức mô tả custom model từ 5–100 reference image, custom LoRA, style/brand guidance; đồng thời có visual workflow builder, Node Agent, batch generation, reusable template, API và MCP. Các workflow public có cả component isolation, pose transfer, 2D rigging sheet, 3D auto-rigging và concept-to-game-ready-3D. [9]
68
+
69
+ Điểm đáng học là **workflow-as-a-product**: một asset không chỉ có final PNG mà có graph tạo ra nó. Tuy vậy, Scenario không thay thế kiểm tra artifact của MotionLoom. Một LoRA hay template có thể giữ style, nhưng không tự chứng minh state/action/sprite geometry phù hợp runtime.
70
+
71
+ ## 3. Bản đồ pipeline hợp nhất
72
+
73
+ Các tool trên sử dụng model khác nhau, nhưng pipeline tốt nhất hội tụ về cùng một chuỗi. MotionLoom nên dùng chuỗi này như một adapter boundary có thể tái sử dụng, thay vì bị khóa vào PixelLab, Runway hay một provider riêng.
74
+
75
+ ```text
76
+ Project context / asset intent
77
+
78
+ Reference bundle + identity/style controls
79
+
80
+ Generation request (text / image / pose / skeleton / video)
81
+
82
+ Provider result + immutable generation receipt
83
+
84
+ Technical export normalization (frames / atlas / rig / FBX-BVH / video)
85
+
86
+ Deterministic compiler (hash, geometry, seams, rig/socket, bounds)
87
+
88
+ Target runtime render + telemetry + 0/50/100 evidence
89
+
90
+ Dev Lab human review → explicit fix or explicit PR confirmation
91
+ ```
92
+
93
+ | Lớp pipeline | Tool market thường cung cấp | MotionLoom hiện có | Kết luận |
94
+ |---|---|---|---|
95
+ | Project-aware intent | Variable; thường là prompt/workflow tại provider. | Project Context, durable Memory và Motion Spec. | **MotionLoom mạnh hơn** ở context/decision continuity giữa task. |
96
+ | Reference/style | PixelLab, Runway, Scenario đưa reference/style thành control rõ ràng. [2] [3] [5] [9] | Identity/provenance contracts nhưng chưa có provider-neutral generation receipt chuẩn hóa public. | **Khoảng trống ưu tiên cao.** |
97
+ | Motion construction | PixelLab skeleton/text animation; Luma keyframe; Cascadeur/DeepMotion/Rokoko mocap/inbetween/retarget. [2] [6] [7] [8] [10] | Motion Spec, action-set, body rig guidance và runtime adapters. | **Cần bridge rõ hơn** từ control track/rig output vào contracts. |
98
+ | Geometry/packaging | Tool thường export/preview; mức chi tiết export khác nhau. | Frame Geometry, Atlas, Layered Map compiler và hash-based evidence. | **MotionLoom mạnh hơn** ở deterministic asset acceptance. |
99
+ | Automation graph | Scenario có workflow/API/MCP; PixelLab/DeepMotion có API. [2] [6] [9] | CLI/Agent discovery, artifact bundle, report/handoff. | **Cần provider adapter layer**, không cần tự xây model. |
100
+ | Runtime truth | Provider preview/engine integration khác nhau. | Runtimes thật, telemetry, visual truth, Dev Lab. | **MotionLoom mạnh hơn** ở runtime-bound review. |
101
+ | Governance | Một số tool có moderation/training disclosure. [10] [11] | Source binding, tiered provenance, approval=false evidence, review-first PR gate. | **MotionLoom nên giữ nguyên lợi thế** và không nhận “approved” từ provider. |
102
+
103
+ ## 4. Các khoảng trống thực sự đáng đầu tư
104
+
105
+ ### 4.1. Provider-neutral generation receipt — ưu tiên 1
106
+
107
+ Hiện MotionLoom đã có identity, provenance và consistency compiler, nhưng cần một artifact chuẩn hóa nằm **trước** export. Đề xuất `generation-receipt.schema.json` ghi provider, model/version khi provider công bố, request timestamp, control parameters, prompt hash (không cần lưu secret), seed nếu provider trả về, reference/input hashes, job ID, output hashes, declared license/source và capability limitations. Receipt không được cấp authority; nó chỉ làm bằng chứng truy nguyên generator step.
108
+
109
+ **Acceptance criteria:** một fixture PixelLab-like, một video/mocap-like fixture và một offline adapter đều có thể ingest; receipt tamper hoặc output không khớp SHA-256 phải fail-closed; report phải trình bày receipt như evidence, không như approval.
110
+
111
+ ### 4.2. Control track và export normalization — ưu tiên 1
112
+
113
+ `action-set` mô tả action/timing/seam tốt, nhưng cần bridge rõ ràng hơn với input điều khiển provider. Đề xuất `control-track.schema.json`: reference frame hashes, start/end/multi-keyframe, pose/skeleton reference, camera/direction track, intended action/event markers và source type. Song song, tạo `export-manifest.schema.json` cho frame sequence, sprite grid/atlas, 2D rig hoặc 3D file export.
114
+
115
+ **Acceptance criteria:** importer không tự suy đoán grid/skeleton/axis. Khi metadata bị thiếu, trạng thái là `blocked` hoặc `needs_mapping`; khi đầy đủ, output được chuyển thành action-set/frame geometry/atlas hoặc rig contract có hash-bound links.
116
+
117
+ ### 4.3. 3D motion ingest và rig compatibility — ưu tiên 2
118
+
119
+ Rokoko/DeepMotion/Cascadeur/Kinetix đều cho thấy video/text-to-motion chỉ là nửa đầu của quy trình. MotionLoom nên bổ sung `rig-compatibility` contract cho FBX/BVH/glTF ingest: coordinate system, unit scale, root, named joints, handedness, joint coverage, retarget mapping, root motion policy, contact markers, event/socket mapping. Đây là **contract + analyzer**, không phải một generator 3D mới.
120
+
121
+ **Acceptance criteria:** fixture BVH/FBX tối giản hoặc metadata surrogate; missing named bone, duplicate joint map, axis mismatch, unbound weapon socket hoặc loop contact mismatch đều được báo chính xác; runtime adapter render candidate với telemetry 0/50/100.
122
+
123
+ ### 4.4. Adapter registry có capability/evidence — ưu tiên 2
124
+
125
+ Không nên hard-code PixelLab/Runway/Scenario into core. Thay vào đó, thêm registry mô tả provider adapter: supported input controls, output kinds, replay guarantees, metadata availability, licensing fields, status `scaffold|verified`, and evidence requirements. Adapter chỉ được nâng `verified` sau cross-platform fixture, real export and runtime evidence. API credential phải ở connector/secret layer của project, không ở motion spec/receipt.
126
+
127
+ **Acceptance criteria:** adapter `local-fixture` đạt verified trước; `pixellab` ban đầu là scaffold with documented import mapping; registry không cho quality gate suy diễn provider capability từ marketing claim.
128
+
129
+ ### 4.5. Dev Lab: source-to-runtime review rail — ưu tiên 3
130
+
131
+ Dev Lab đã có evidence/review flow; bước kế tiếp là cho user thấy chuỗi generation receipt → controls → raw export → compiler results → runtime frame 0/50/100 trên một review rail. Mục tiêu là giảm vòng sửa “không rõ lỗi ở prompt, export hay runtime”, chứ không thêm dashboard trang trí.
132
+
133
+ **Acceptance criteria:** mỗi candidate hiển thị hash-linked source/receipt, invalidation reason và failed contract; browser review vẫn yêu cầu decision từ user; UI không có nút tự-approve hoặc tự-mở PR.
134
+
135
+ ## 5. Đề xuất roadmap theo rủi ro thấp đến cao
136
+
137
+ | Phase | Phạm vi | Giá trị | Điều kiện hoàn thành |
138
+ |---|---|---|---|
139
+ | **A — Artifact intake** | `generation-receipt`, `control-track`, `export-manifest`; offline fixtures; report binding. | Dùng được với mọi tool ngay cả khi không có API. | Schema + validator + tamper regressions + docs + npm package validation. |
140
+ | **B — Provider bridge** | Adapter registry; importer `pixellab` ở mức metadata/export; local fixture adapter verified. | Có đường vào chuẩn mà không khóa vendor. | Capability registry, provider mapping tests, no-secret contract and failure states. |
141
+ | **C — 3D motion bridge** | Rig compatibility, retarget map, FBX/BVH/glTF import evidence, runtime test. | Nối được mocap/AI body motion vào gameplay. | Cross-format fixtures, bone/socket/contact errors, runtime telemetry and Dev Lab review. |
142
+ | **D — Review diagnosis** | Source-to-runtime Dev Lab rail, remediation label for failure layer. | Giảm iteration time và tăng khả năng sửa đúng chỗ. | User-tested review flow; no additional implicit approval side effect. |
143
+
144
+ ## 6. Những điều MotionLoom không nên sao chép
145
+
146
+ MotionLoom không nên làm lại mô hình generation hay quảng cáo “consistent” dựa trên preview. Cũng không nên coi custom model, reference image, style lock, provider moderation, signed receipt hoặc quality score là proof rằng asset có license đủ, artist-authored, production-eligible hay production-approved. Các tool khảo sát truyền cảm hứng về **điều khiển** và **workflow granularity**; MotionLoom giữ vai trò kiểm chứng artifact, runtime truth và quyền quyết định của user.
147
+
148
+ > Một integration chỉ đáng làm khi có thể trả lời rõ: artifact nào được tạo, hash nào ràng buộc nó, tool/provider cung cấp control nào, runtime nào đã render nó, lỗi nào được đo, và người dùng đã review candidate nào. Nếu thiếu một trong các câu này, nó là demo connector, chưa phải capability production.
149
+
150
+ ## 7. Khuyến nghị thực thi tiếp theo
151
+
152
+ Nên bắt đầu **Phase A — Artifact intake** trước. Đây là phần độc lập provider, giữ đúng triết lý deterministic/artifact-first, tạo nền cho PixelLab, Scenario, Runway hay mocap tool mà không cần cấp API key hoặc biến MotionLoom thành generator. Sau Phase A, có thể chọn **PixelLab export importer** làm adapter đầu tiên vì nó khớp trực tiếp với asset identity, action-set, sprite/atlas và layered map compiler vừa hoàn thành.
153
+
154
+ Không khuyến nghị gọi API của PixelLab hay bất kỳ provider nào ngay trong bước nghiên cứu. Integration API cần được thiết kế như một request riêng, đọc connector configuration trước, xác định rõ quyền truy cập/cost/terms, và bắt đầu ở trạng thái `scaffold` cho đến khi có evidence từ real export và target runtime.
155
+
156
+ ## References
157
+
158
+ [1]: https://www.pixellab.ai/ "PixelLab — Official product page"
159
+ [2]: https://www.pixellab.ai/pixellab-api "PixelLab API — Official API page"
160
+ [3]: https://www.pixellab.ai/docs/tools/consistent-style "PixelLab — Consistent Style guide"
161
+ [4]: https://www.pixellab.ai/docs/tools/animate-with-skeletons "PixelLab — Animate with Skeletons"
162
+ [5]: https://runway.com/research/introducing-runway-gen-4 "Runway — Introducing Runway Gen-4"
163
+ [6]: https://www.deepmotion.com/ "DeepMotion — Official product page"
164
+ [7]: https://www.rokoko.com/products/vision "Rokoko Vision — Official product page"
165
+ [8]: https://lumalabs.ai/ray "Luma Ray — Official product page"
166
+ [9]: https://www.scenario.com/ "Scenario — Official platform page"
167
+ [10]: https://cascadeur.com/help/category/285 "Cascadeur — Use Of AI Tools"
168
+ [11]: https://kinetix.tech/ "Kinetix — Official product page"
@@ -0,0 +1,29 @@
1
+ # AI Pilot Ingest Notes
2
+
3
+ ## 2026-08-15 — ImageGen pilot asset capture
4
+
5
+ The first generated robot master frame (`motionloom-ai-pilot-scout-idle.png`) contains an opaque dark background. It is therefore unsuitable as a frame-geometry source: treating its full canvas as subject pixels would conceal trim, padding, pivot, footline, and contamination issues.
6
+
7
+ An isolated alpha-background variation (`motionloom-ai-pilot-scout-idle-alpha.png`) was generated from that master. It remains an **AI-generated pilot**, not artist-authored material and not a production-approved asset. Its final hash, dimensions, alpha bounds, consistency result, and Artifact Intake receipt must be measured from bytes before any ingest result is reported.
8
+
9
+ Walk-cycle frames are handled independently under the same rule: no prompt claim, preview checkerboard, or intended transparency substitutes for actual PNG alpha/geometry measurement.
10
+
11
+ ## 2026-08-15 — Alpha-channel forensic correction
12
+
13
+ The four files first named `*-alpha.png` were 8-bit RGB PNGs with no alpha channel. The subsequent `*-transparent.png` outputs were RGBA files, but every pixel still had alpha `255`: the dark scene background was painted into the pixels. The pilot builder now rejects both conditions rather than interpreting a filename, an RGBA color type, or a checkerboard preview as proof of isolated geometry.
14
+
15
+ `scripts/isolate-alpha-background.py` was added as a narrow deterministic recovery step for an **edge-connected, visually reviewed flat background**. It publishes an input/output hash report and leaves `human_review_required: true`. A first idle-frame run at RGB Manhattan tolerance `24` left visible background bands, so it was rejected as unsuitable. Tolerance selection and visual inspection are material evidence; the tool must not turn an imperfect isolation into an approval or an assertion of provider-native alpha.
16
+
17
+ The source-bound `build-ai-pilot.py` invocation against all four generated `*-transparent.png` files then failed before writing `controls.json`: `scout-idle.png has no transparent padding; an isolated alpha frame is required`. This is the intended boundary. There is no real pilot Artifact Intake report, consistency contract, runtime candidate, rig contract, or PR-ready result derived from these bytes. The Dev Lab card at `/lab?pilot=scout-alpha` presents that blocked evidence and disables review staging.
18
+
19
+ ## 2026-08-15 — V2 residual-artifact finding
20
+
21
+ A successful edge-connected alpha-isolation report with `residual_edge_foreground_pixels: 0` is necessary but not sufficient. Visual review of the v2 isolated master exposed several detached horizontal opaque bands to the robot's right. Those pixels were not edge-connected and were therefore outside the isolator's intentionally narrow scope. The source remains unsuitable for ingest until a clean regeneration or a targeted visual edit removes the detached artifacts; a hash report alone is not a cleanliness approval.
22
+
23
+ The independently generated v3 master initially appeared to repeat the same class of failure when its alpha PNG was shown on a black renderer background. A targeted edit successfully replaced its smoky/green background with a flat dark field, and the alpha-isolator produced a valid hash-bound report with zero residual edge pixels. A subsequent composite preview on a light field confirmed that the apparent long black bars were transparent pixels rendered against black, not canvas-spanning residue. The v3 master has clean padding and no detached macro artifact, so it may proceed as a review-required pilot source. Minor pixel-edge irregularities remain visible in the source and are deliberately not treated as production approval.
24
+
25
+ ## 2026-08-15 — Gemini-assisted pose generation checkpoint
26
+
27
+ The authenticated Gemini browser session reached its upload menu. No source image has yet been transferred and no Gemini output is part of the pilot. Any later result must record Gemini provider/model/task metadata as `ai_generated`, then pass the existing alpha, geometry, contamination, hash-bound Intake, and review-required gates without exception.
28
+
29
+ The Gemini upload menu can be displayed in the authenticated browser, but the initial automated menu selection did not expose a file input. This is recorded as a browser-integration state only; it did not transfer a source file or produce a generation.
@@ -0,0 +1,10 @@
1
+ {
2
+ "fixture": "ai-generated-pilot",
3
+ "asset_id": "hero-male-ai-pilot",
4
+ "framework": "body-rig",
5
+ "purpose": "Deterministic runtime-ingest fixture; not production art and not artist-authored.",
6
+ "bones": ["root", "pelvis", "chest", "head", "hand_r", "hand_l"],
7
+ "animations": ["idle", "attack", "hit", "death"],
8
+ "events": ["weapon_attach", "vfx_hit"],
9
+ "provenance_note": "This fixture demonstrates AI-generated origin and must remain outside production approval."
10
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "provenance_id": "hero-male-ai-pilot-provenance",
4
+ "task_id": "mission-1.17.5-ai-pilot",
5
+ "scene": "hero-male-ai-pilot",
6
+ "created_at": "2026-08-14T00:00:00Z",
7
+ "asset": {
8
+ "id": "hero-male-ai-pilot",
9
+ "path": "hero-male.json",
10
+ "type": "runtime-pilot",
11
+ "framework": "body-rig",
12
+ "version": "0.1.0"
13
+ },
14
+ "authority": "ai_generated",
15
+ "readiness": "runtime_ready",
16
+ "generator": {
17
+ "model": "declared-by-agent-at-generation-time",
18
+ "task_id": "mission-1.17.5-ai-pilot",
19
+ "source": "agent-created-pilot",
20
+ "generated_at": "2026-08-14T00:00:00Z",
21
+ "agent": "codex"
22
+ },
23
+ "license": {
24
+ "spdx": "UNLICENSED",
25
+ "source": "internal-generation",
26
+ "attribution": "Generated pilot retained for runtime testing; production distribution requires a separate rights decision."
27
+ },
28
+ "files": [
29
+ {
30
+ "path": "hero-male.json",
31
+ "role": "runtime-pilot",
32
+ "sha256": "fc723dce3005fb2d16fe6df2e20a116f361b2b2b82b4aff7045c186c55190c27"
33
+ }
34
+ ],
35
+ "provenance_chain": [
36
+ {
37
+ "step": "generate",
38
+ "actor": "agent:codex",
39
+ "source": "agent-created-pilot",
40
+ "timestamp": "2026-08-14T00:00:00Z"
41
+ },
42
+ {
43
+ "step": "runtime-test",
44
+ "actor": "runtime:motionloom",
45
+ "source": "internal-runtime-evidence",
46
+ "timestamp": "2026-08-14T00:00:00Z"
47
+ }
48
+ ],
49
+ "runtime_evidence": {
50
+ "status": "pass",
51
+ "runtime": "motionloom-body-rig-runtime",
52
+ "tested_at": "2026-08-14T00:00:00Z",
53
+ "evidence_path": "runtime-evidence.json"
54
+ }
55
+ }
@@ -0,0 +1,70 @@
1
+ # ChatGPT handoff — Scout v3 walk sources
2
+
3
+ ## Cách dùng
4
+
5
+ 1. Mở một cuộc trò chuyện ChatGPT mới và upload file **`motionloom-ai-pilot-scout-v3-idle-alpha.png`**.
6
+ 2. Gửi **khối nền tảng** bên dưới, sau đó gửi **mỗi pose ở một tin nhắn riêng**. Không yêu cầu ChatGPT làm contact sheet hoặc tạo cả ba trong cùng một ảnh.
7
+ 3. Khi một pose đã hoàn tất, tải **file PNG gốc** do ChatGPT trả về. Không dùng screenshot, không flatten lên nền đen và không tự resize/crop/pad file.
8
+ 4. Đổi tên file tải về đúng tên dưới từng pose, rồi gửi lại ba file PNG gốc cùng URL hoặc ID cuộc trò chuyện ChatGPT nếu hiển thị.
9
+
10
+ > Đây là source `ai_generated` cho pilot review. Nó không phải asset `artist_authored`, không được suy diễn license, và không thay thế human production approval.
11
+
12
+ ## Khối nền tảng — gửi một lần trước pose đầu tiên
13
+
14
+ ```text
15
+ The attached file motionloom-ai-pilot-scout-v3-idle-alpha.png is the locked visual identity reference for one review-only MotionLoom pilot. Treat it as a source reference, not as a request to redesign the character.
16
+
17
+ For every requested pose, produce exactly ONE separate, complete 2D pixel-art robot scout source sprite. Preserve the same cream, orange, black, and cyan palette; head shape; antenna; face; shoulder pads; torso; hands; feet; pixel density; crisp outlines; apparent scale; camera; and left-to-right orientation. Only change the limb pose required by the named walk phase.
18
+
19
+ Output requirements are mandatory:
20
+ - transparent RGBA PNG source, exactly 1920 × 1920 pixels;
21
+ - exactly one isolated character, no duplicate, no crop, no text, no caption, no UI, no frame, no prop;
22
+ - no black, white, checkerboard, coloured, textured, or gradient background;
23
+ - no floor, contact shadow, cast shadow, glow, particles, smoke, dust, reflection, or stray bands;
24
+ - hard crisp pixel-art edges: no blur, no feathering, no anti-aliased halo;
25
+ - approximately 800 px visible character width and 1450 px visible character height;
26
+ - centered near x=940; leave at least 120 px of fully transparent empty padding on each of the four edges;
27
+ - the lowest opaque sole pixels must align near y=1626, with both feet fully inside the canvas.
28
+
29
+ Do not zoom, crop, mirror, rotate, recolor, restyle, add accessories, alter the character scale, or generate a pose sheet. If you cannot preserve the transparent 1920 × 1920 source canvas and the required empty padding, say so instead of silently changing those requirements.
30
+ ```
31
+
32
+ ## Pose 1 — contact right
33
+
34
+ ```text
35
+ Create pose `contact-right` now. This is the forward contact phase of a left-to-right walk cycle: the RIGHT foot is planted forward on the shared footline near y=1626; the LEFT leg trails naturally behind; arms counter-swing; torso stays upright. It must be a distinct walk action pose, not an idle variation. Return one transparent PNG source only.
36
+ ```
37
+
38
+ Rename the downloaded original file to:
39
+
40
+ ```text
41
+ motionloom-ai-pilot-scout-v3-chatgpt-contact-right.png
42
+ ```
43
+
44
+ ## Pose 2 — passing
45
+
46
+ ```text
47
+ Using the same locked attached Scout v3 reference and the same output geometry, create pose `passing` now. This is the passing phase of the same left-to-right walk cycle: one leg passes beneath the upright body; stride is compact and balanced; both feet remain fully visible and inside the canvas; arms counter-swing. It must be a distinct walk action pose, not an idle variation. Return one transparent PNG source only.
48
+ ```
49
+
50
+ Rename the downloaded original file to:
51
+
52
+ ```text
53
+ motionloom-ai-pilot-scout-v3-chatgpt-passing.png
54
+ ```
55
+
56
+ ## Pose 3 — contact left
57
+
58
+ ```text
59
+ Using the same locked attached Scout v3 reference and the same output geometry, create pose `contact-left` now. This is the complementary forward contact phase of the same left-to-right walk cycle: the LEFT foot is planted forward on the shared footline near y=1626; the RIGHT leg trails naturally behind; arms counter-swing. Do not mirror or redesign contact-right; preserve the locked visual identity and make this a distinct walk action pose. Return one transparent PNG source only.
60
+ ```
61
+
62
+ Rename the downloaded original file to:
63
+
64
+ ```text
65
+ motionloom-ai-pilot-scout-v3-chatgpt-contact-left.png
66
+ ```
67
+
68
+ ## Khi gửi output lại
69
+
70
+ Gửi ba file PNG nguyên gốc theo đúng tên, không zip nếu giao diện có thể upload trực tiếp. Nếu ChatGPT hiển thị một conversation URL, task ID, hoặc thời điểm tạo, gửi kèm thông tin đó. MotionLoom sẽ tự đo alpha, geometry, padding, footline, contamination, identity drift và SHA-256; prompt không tự cấp intake, runtime candidate hay approval.
@@ -0,0 +1,80 @@
1
+ # Codex handoff — Scout v3 walk sources
2
+
3
+ ## Mục tiêu và ranh giới
4
+
5
+ Bạn đang hỗ trợ tạo **ba source sprite AI độc lập** cho review-only pilot của MotionLoom. Đây là việc tạo **source bytes mới**, không phải post-process các file ChatGPT đã bị reject. Dùng capability tạo ảnh mà môi trường Codex thực sự có; nếu không có capability đó, hãy dừng và báo rõ blocker thay vì tạo placeholder, screenshot hoặc PNG giả.
6
+
7
+ Mọi output phải giữ `authority: ai_generated`. Không được gắn `artist_authored`, `production_eligible`, `production_approved`, license suy diễn hoặc runtime approval.
8
+
9
+ ## Reference bắt buộc
10
+
11
+ Dùng file sau làm **khóa nhận diện**, không redesign:
12
+
13
+ ```text
14
+ motionloom-ai-pilot-scout-v3-idle-alpha.png
15
+ ```
16
+
17
+ Nếu file reference chưa có trong workspace Codex, yêu cầu người dùng upload/copy đúng file trước khi tạo bất kỳ pose nào.
18
+
19
+ ## Cách thực hiện bắt buộc
20
+
21
+ 1. Tạo **mỗi pose trong một request/image riêng**. Không làm contact sheet, sprite sheet hoặc ba nhân vật trong một canvas.
22
+ 2. Mỗi lần tạo phải yêu cầu renderer trả **PNG RGBA gốc 1920 × 1920**. Đây là kích thước source, không được tạo 1254×1254 rồi resize/canvas-pad sau đó.
23
+ 3. Lưu nguyên bytes gốc, không crop, resize, pad, alpha-isolate, flatten, screenshot hoặc tối ưu lại file để bypass gate.
24
+ 4. Trả ba PNG và metadata có thể biết được: provider/tool, model (nếu UI hiển thị), request/task/conversation ID hoặc URL, timestamp và prompt cuối cùng. Nếu metadata không tồn tại, nói rõ là `not exported`; không bịa receipt.
25
+ 5. Sau khi trả output, để MotionLoom chạy preflight độc lập. Codex không tự chạy Artifact Intake, không cấp runtime candidate, không mở PR và không tự phê duyệt.
26
+
27
+ > **Failure policy:** Nếu tool không bảo toàn canvas 1920×1920 RGBA với empty padding yêu cầu, trả `blocked` cùng thông tin tool đã dùng. Không sửa bytes có sẵn để làm pass.
28
+
29
+ ## Capability preflight — bắt buộc trước ba pose
30
+
31
+ Chỉ tạo thử **`contact-right` trước**. Ngay sau khi công cụ trả file gốc, kiểm tra metadata/bytes thực tế trước khi tạo `passing` hoặc `contact-left`:
32
+
33
+ | Điều kiện | Kết quả cần có | Khi fail |
34
+ |---|---|---|
35
+ | Canvas | `1920 × 1920` | Dừng; không tạo hai pose còn lại. |
36
+ | Color mode | `RGBA` với alpha thật | Dừng nếu nhận `RGB` hoặc alpha bị flatten. |
37
+ | Background | Các pixel ngoài nhân vật trong suốt thật | Dừng nếu nền đen, trắng, caro hoặc grid bị rasterize. |
38
+ | Export semantics | File gốc, không screenshot hay preview | Dừng nếu tool chỉ cho preview không có PNG source. |
39
+
40
+ > Lần thử Codex `exec-6c962cac-7e7f-491b-b0a8-e7c4ee7d2412` đã trả 1254×1254 RGB với checkerboard rasterized. Đó là **giới hạn exporter đã quan sát**, không phải lỗi cần chữa bằng resize, alpha isolate hoặc canvas padding. Chỉ thử lại khi capability khác có thể xuất PNG RGBA 1920×1920 gốc.
41
+
42
+ ## Prompt nền tảng cho image-generation capability
43
+
44
+ Gửi nguyên khối sau cùng master reference. Giữ nguyên tiếng Anh để công cụ tạo ảnh diễn giải hình học chính xác hơn.
45
+
46
+ ```text
47
+ The attached file motionloom-ai-pilot-scout-v3-idle-alpha.png is the locked visual identity reference for one review-only MotionLoom pilot. Treat it as a source reference, not as a request to redesign the character.
48
+
49
+ Create exactly ONE separate, complete 2D pixel-art robot scout source sprite for the named walk pose. Preserve the same cream, orange, black, and cyan palette; head shape; antenna; face; shoulder pads; torso; hands; feet; pixel density; crisp outlines; apparent scale; camera; and left-to-right orientation. Only change the limb pose required by the named walk phase.
50
+
51
+ Mandatory source geometry:
52
+ - original transparent RGBA PNG, exactly 1920 × 1920 pixels;
53
+ - one isolated character only; no duplicate, no crop, no text, no caption, no UI, no frame, no prop;
54
+ - no black, white, checkerboard, coloured, textured or gradient background;
55
+ - no floor, contact shadow, cast shadow, glow, particles, smoke, dust, reflection or stray bands;
56
+ - hard crisp pixel-art edges; no blur, feathering or anti-aliased halo;
57
+ - approximately 800 px visible character width and 1450 px visible character height;
58
+ - centered near x=940; at least 120 px of fully transparent empty padding on every edge;
59
+ - lowest opaque sole pixels aligned near y=1626, with both feet fully inside the canvas.
60
+
61
+ Do not zoom, crop, mirror, rotate, recolor, restyle, add accessories, alter character scale or generate a pose sheet. If you cannot preserve the transparent 1920 × 1920 source canvas and required empty padding, report failure instead of silently changing requirements.
62
+ ```
63
+
64
+ ## Ba pose cần tạo
65
+
66
+ Sau khối nền tảng, tạo lần lượt từng pose bằng một request riêng.
67
+
68
+ | Pose | Prompt bổ sung | Tên file output bắt buộc |
69
+ |---|---|---|
70
+ | `contact-right` | `Create pose contact-right now. This is the forward contact phase of a left-to-right walk cycle: the RIGHT foot is planted forward on the shared footline near y=1626; the LEFT leg trails naturally behind; arms counter-swing; torso stays upright. Return one transparent PNG source only.` | `motionloom-ai-pilot-scout-v3-codex-contact-right.png` |
71
+ | `passing` | `Using the same locked reference and output geometry, create pose passing now. One leg passes beneath the upright body; stride is compact and balanced; both feet remain fully visible inside the canvas; arms counter-swing. Return one transparent PNG source only.` | `motionloom-ai-pilot-scout-v3-codex-passing.png` |
72
+ | `contact-left` | `Using the same locked reference and output geometry, create pose contact-left now. The LEFT foot is planted forward on the shared footline near y=1626; the RIGHT leg trails naturally behind; arms counter-swing. Do not mirror or redesign contact-right. Return one transparent PNG source only.` | `motionloom-ai-pilot-scout-v3-codex-contact-left.png` |
73
+
74
+ ## Handoff lại MotionLoom
75
+
76
+ Gửi nguyên ba PNG theo đúng tên cùng metadata đã xuất được. MotionLoom sẽ ghi provider trung thực (ví dụ capability/tool thực tế mà Codex đã dùng), tính SHA-256 và đo alpha, canvas, subject bounds, padding, footline, contamination và identity. Chỉ khi bốn frame — master v3 và ba pose — pass, pipeline mới được phép chạy:
77
+
78
+ ```text
79
+ build-ai-pilot → Artifact Intake → consistency → runtime candidate → runtime render → Dev Lab review-first
80
+ ```