cozyclay 2.1.1 → 3.0.1

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 (585) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +12 -30
  3. package/bin/agent/agent-routes.mjs +43 -116
  4. package/bin/agent/agent-runner.mjs +14 -15
  5. package/bin/agent/cliproxy-provider.mjs +135 -0
  6. package/bin/agent/credential-store.mjs +30 -7
  7. package/bin/agent/pi-tools.mjs +4 -1
  8. package/bin/agent/provider-keys.mjs +32 -0
  9. package/bin/agent/provider-login.mjs +110 -0
  10. package/bin/agent/provider-routes.mjs +99 -0
  11. package/bin/agent/providers.mjs +19 -97
  12. package/bin/agent/script-tool.mjs +17 -4
  13. package/bin/agent/session-store.mjs +2 -2
  14. package/bin/agent/studio-context-budget.mjs +93 -0
  15. package/bin/agent/studio-motion-reference.mjs +23 -0
  16. package/bin/agent/studio-prompt.mjs +1 -1
  17. package/bin/agent/studio-rebase-text.mjs +32 -0
  18. package/bin/agent/studio-rebase.mjs +26 -39
  19. package/bin/agent/studio-tools.mjs +9 -28
  20. package/bin/agent/tool-arguments.mjs +49 -0
  21. package/bin/agent/turn-frames.mjs +66 -0
  22. package/bin/codex-auth.mjs +9 -2
  23. package/bin/cozyclay.mjs +10 -116
  24. package/bin/live/cli.mjs +3 -3
  25. package/bin/mcp-runtime.mjs +2 -12
  26. package/bin/package-signature.mjs +0 -4
  27. package/dist/app/index.html +7 -6
  28. package/dist/assets/EXRLoader-CvVIvGVE.js +1 -0
  29. package/dist/assets/analytics-BWCqdgWA.js +1 -0
  30. package/dist/assets/app-DfTCxaKk.js +5087 -0
  31. package/dist/assets/app-f-fkV5uP.css +1 -0
  32. package/dist/assets/compile-worker-BxKXh07s.js +5 -0
  33. package/dist/assets/fflate.module-KbGj5-H6.js +5 -0
  34. package/dist/assets/{first-shot-handoff-msLI71g1.js → first-shot-handoff-DNO8kv_N.js} +1 -1
  35. package/dist/assets/{landing-ChUvB_zL.js → landing-yfZaJkWc.js} +1 -1
  36. package/dist/assets/scene-asset-sync-U3kS2rvK.js +20 -0
  37. package/dist/assets/scene-asset-sync-_S8NQl5B.css +1 -0
  38. package/dist/assets/workflow-D78eiKTa.js +179 -0
  39. package/dist/cozyclay-package.json +1 -1
  40. package/dist/index.html +3 -3
  41. package/dist/sw.js +3 -6
  42. package/dist/workflow/index.html +5 -4
  43. package/mcp/LIVE-PROTOCOL.md +7 -47
  44. package/mcp/README.md +16 -26
  45. package/mcp/live-hub.mjs +6 -10
  46. package/mcp/package.json +1 -3
  47. package/mcp/tool-handlers.mjs +4 -168
  48. package/package.json +3 -22
  49. package/src/App.jsx +151 -2625
  50. package/src/agent-progress.js +80 -0
  51. package/src/agent-turn-mark.js +30 -0
  52. package/src/analytics.js +1 -19
  53. package/src/app-context.js +12 -2
  54. package/src/app-stage.jsx +2 -34
  55. package/src/asset-pane.jsx +6 -5
  56. package/src/camera-block.js +21 -0
  57. package/src/camera-direction.js +120 -0
  58. package/src/character-kind.js +3 -9
  59. package/src/command-bus.js +10 -8
  60. package/src/commands/cast.js +5 -34
  61. package/src/commands/elements/character.js +1 -1
  62. package/src/commands/elements/motion.js +1 -6
  63. package/src/commands/elements/object.js +6 -2
  64. package/src/commands/elements/shot.js +4 -1
  65. package/src/commands/elements.js +38 -14
  66. package/src/commands/index.js +3 -1
  67. package/src/commands/kits.js +37 -0
  68. package/src/commands/motion-timing.js +57 -0
  69. package/src/commands/motion.js +9 -152
  70. package/src/commands/motion3-compile.js +65 -0
  71. package/src/commands/motion3.js +214 -0
  72. package/src/commands/objects.js +6 -4
  73. package/src/commands/shot.js +55 -13
  74. package/src/commands/stage.js +14 -1
  75. package/src/commands/view.js +4 -1
  76. package/src/document-mirrors.js +42 -0
  77. package/src/document-store.js +4 -0
  78. package/src/domains/cast.js +19 -194
  79. package/src/domains/motion/motion-range-pin-rules.js +1 -1
  80. package/src/domains/motion/take-source.js +53 -0
  81. package/src/domains/motion.js +60 -1838
  82. package/src/domains/scenes.js +12 -55
  83. package/src/domains/shots.js +2 -2
  84. package/src/domains/stage.js +4 -2
  85. package/src/draft-ghost.js +47 -0
  86. package/src/draft-ghost.jsx +129 -0
  87. package/src/dualview.jsx +4 -3
  88. package/src/effects/EffectsLayer.jsx +112 -0
  89. package/src/effects/effect-meshes.js +232 -0
  90. package/src/effects/effect-record.js +103 -0
  91. package/src/effects/emitter.js +59 -0
  92. package/src/effects/simulate.js +261 -0
  93. package/src/effects/state.js +59 -0
  94. package/src/execution-telemetry.js +2 -3
  95. package/src/first-success-guide.jsx +5 -5
  96. package/src/ghost-set.js +257 -0
  97. package/src/held-object-edit.jsx +113 -0
  98. package/src/held-object-pose.js +175 -0
  99. package/src/hierarchy-model.js +1 -1
  100. package/src/hierarchy-panel.jsx +1 -1
  101. package/src/imported-mesh.jsx +103 -0
  102. package/src/kits/held.js +84 -0
  103. package/src/kits/index.js +70 -0
  104. package/src/kits/smoking.js +57 -0
  105. package/src/light-blockers.js +93 -0
  106. package/src/motion/beat-board-model.js +84 -0
  107. package/src/motion/beat-board.css +124 -0
  108. package/src/motion/beat-board.jsx +60 -0
  109. package/src/motion/center-of-mass.js +66 -0
  110. package/src/motion/fix-collisions.js +850 -0
  111. package/src/motion/physics-review.js +118 -0
  112. package/src/{ardy → motion}/physics-support.js +1 -76
  113. package/src/motion/rig-snapshot.js +22 -0
  114. package/src/motion/take-segments.jsx +140 -0
  115. package/src/{ardy → motion}/timeline-coordinates.js +0 -21
  116. package/src/{ardy → motion}/timeline.css +1 -2
  117. package/src/{ardy → motion}/timeline.jsx +42 -413
  118. package/src/motion/waypoints.js +76 -0
  119. package/src/motion3/beats.js +83 -0
  120. package/src/motion3/body.js +158 -0
  121. package/src/motion3/bones.js +47 -0
  122. package/src/motion3/carried.js +47 -0
  123. package/src/motion3/compile-job.js +79 -0
  124. package/src/motion3/compile-worker.js +10 -0
  125. package/src/motion3/compiler/anchors.js +113 -0
  126. package/src/motion3/compiler/arm-orient.js +128 -0
  127. package/src/motion3/compiler/channels.js +125 -0
  128. package/src/motion3/compiler/compile.js +205 -0
  129. package/src/motion3/compiler/gait-rhythm.js +97 -0
  130. package/src/motion3/compiler/grip.js +171 -0
  131. package/src/motion3/compiler/head-steady.js +48 -0
  132. package/src/motion3/compiler/hold.js +134 -0
  133. package/src/motion3/compiler/idle.js +113 -0
  134. package/src/motion3/compiler/limbs.js +197 -0
  135. package/src/motion3/compiler/math.js +72 -0
  136. package/src/motion3/compiler/pose.js +177 -0
  137. package/src/motion3/compiler/quat.js +49 -0
  138. package/src/motion3/compiler/skeleton.js +74 -0
  139. package/src/motion3/compiler/validate-common.js +32 -0
  140. package/src/motion3/compiler/validate-goals.js +118 -0
  141. package/src/motion3/compiler/validate-objects.js +144 -0
  142. package/src/motion3/compiler/validate-parts.js +118 -0
  143. package/src/motion3/compiler/validate.js +122 -0
  144. package/src/motion3/compiler/vocab.js +74 -0
  145. package/src/motion3/compiler/walk-pelvis.js +275 -0
  146. package/src/motion3/compiler/walk.js +207 -0
  147. package/src/motion3/compiler/wrist-clamp.js +32 -0
  148. package/src/motion3/delta.js +47 -0
  149. package/src/motion3/describe.js +177 -0
  150. package/src/motion3/docs.js +27 -0
  151. package/src/motion3/edit-carry.js +21 -0
  152. package/src/motion3/fix/ease.js +16 -0
  153. package/src/motion3/fix/ground.js +37 -0
  154. package/src/motion3/fix/index.js +52 -0
  155. package/src/motion3/fix/push.js +71 -0
  156. package/src/motion3/fix/reach.js +46 -0
  157. package/src/motion3/fix/retime.js +79 -0
  158. package/src/motion3/fix/self.js +211 -0
  159. package/src/motion3/fix/slide.js +70 -0
  160. package/src/motion3/fix/turn.js +51 -0
  161. package/src/motion3/follow.js +39 -0
  162. package/src/motion3/free-motion.js +204 -0
  163. package/src/motion3/grip-choice.js +130 -0
  164. package/src/motion3/hold-plan.js +157 -0
  165. package/src/motion3/json-patch.js +77 -0
  166. package/src/motion3/key-aim.js +105 -0
  167. package/src/motion3/key-edit.js +82 -0
  168. package/src/motion3/lenient.js +127 -0
  169. package/src/motion3/object-keys.js +236 -0
  170. package/src/motion3/object-pose.js +182 -0
  171. package/src/motion3/object-tracks.js +12 -0
  172. package/src/motion3/people.js +82 -0
  173. package/src/motion3/pipeline.js +102 -0
  174. package/src/motion3/playback.js +51 -0
  175. package/src/motion3/probes.js +91 -0
  176. package/src/motion3/qa/body-checks.js +34 -0
  177. package/src/motion3/qa/check-names.js +14 -0
  178. package/src/motion3/qa/checks.js +125 -0
  179. package/src/motion3/qa/contact-checks.js +51 -0
  180. package/src/motion3/qa/explain.js +80 -0
  181. package/src/motion3/qa/fmt.js +5 -0
  182. package/src/motion3/qa/foot-checks.js +72 -0
  183. package/src/motion3/qa/geometry.js +77 -0
  184. package/src/motion3/qa/goals.js +191 -0
  185. package/src/motion3/qa/ground.js +60 -0
  186. package/src/motion3/qa/hints-contact.js +195 -0
  187. package/src/motion3/qa/hints-goal.js +160 -0
  188. package/src/motion3/qa/hints-knee.js +24 -0
  189. package/src/motion3/qa/hints-motion.js +209 -0
  190. package/src/motion3/qa/hints-object.js +91 -0
  191. package/src/motion3/qa/index.js +44 -0
  192. package/src/motion3/qa/key-checks.js +82 -0
  193. package/src/motion3/qa/near.js +96 -0
  194. package/src/motion3/qa/object-checks.js +135 -0
  195. package/src/motion3/qa/patch.js +161 -0
  196. package/src/motion3/qa/people-checks.js +37 -0
  197. package/src/motion3/qa/severity.js +38 -0
  198. package/src/motion3/qa/spec-checks.js +65 -0
  199. package/src/motion3/qa/style.js +228 -0
  200. package/src/motion3/qa/wrist-checks.js +69 -0
  201. package/src/motion3/qa/wrist-obs.js +60 -0
  202. package/src/motion3/refs.js +129 -0
  203. package/src/motion3/repair-tune.js +121 -0
  204. package/src/motion3/repair.js +83 -0
  205. package/src/motion3/report.js +67 -0
  206. package/src/motion3/rigs/index.js +14 -0
  207. package/src/motion3/rigs/x-bot-tpose-body.json +1 -0
  208. package/src/motion3/rigs/x-bot-tpose.json +1 -0
  209. package/src/motion3/rigs/y-bot-tpose-body.json +1 -0
  210. package/src/motion3/rigs/y-bot-tpose.json +1 -0
  211. package/src/motion3/scene.js +60 -0
  212. package/src/motion3/schema/brief.js +89 -0
  213. package/src/motion3/schema/fields.js +44 -0
  214. package/src/motion3/schema/spec-examples.js +46 -0
  215. package/src/motion3/schema/topics.js +113 -0
  216. package/src/motion3/schema/types.js +149 -0
  217. package/src/motion3/search.js +117 -0
  218. package/src/motion3/second-hand.js +112 -0
  219. package/src/motion3/settle.js +136 -0
  220. package/src/motion3/skills/basic.js +83 -0
  221. package/src/motion3/skills/book.js +76 -0
  222. package/src/motion3/skills/car.js +145 -0
  223. package/src/motion3/skills/flip.js +200 -0
  224. package/src/motion3/skills/frames-auto.js +29 -0
  225. package/src/motion3/skills/impact.js +109 -0
  226. package/src/motion3/skills/index.js +85 -0
  227. package/src/motion3/skills/info.js +80 -0
  228. package/src/motion3/skills/smoke-kit.js +109 -0
  229. package/src/motion3/skills/smoke.js +160 -0
  230. package/src/motion3/spec-store.js +59 -0
  231. package/src/motion3/take-edit.js +155 -0
  232. package/src/motion3/take.js +63 -0
  233. package/src/motion3/timeline.js +127 -0
  234. package/src/motion3/views.js +121 -0
  235. package/src/motion3/walk-plan.js +119 -0
  236. package/src/object-catalog.jsx +7 -1
  237. package/src/object-colors.js +98 -0
  238. package/src/object-gizmo-parts.js +115 -0
  239. package/src/object-gizmo.jsx +37 -122
  240. package/src/object-glow.js +139 -0
  241. package/src/object-hidden.js +33 -0
  242. package/src/object-look.js +196 -0
  243. package/src/object-size.js +10 -0
  244. package/src/object-travel.js +71 -6
  245. package/src/panels/CameraPanel.jsx +7 -7
  246. package/src/panels/HdrEnvironmentControls.jsx +59 -0
  247. package/src/panels/LightPanel.jsx +25 -4
  248. package/src/panels/ObjectLookPanel.jsx +88 -0
  249. package/src/panels/PosePanel.jsx +2 -17
  250. package/src/panels/RigControlPanel.jsx +5 -53
  251. package/src/panels/SubjectBox.jsx +4 -1
  252. package/src/panels/details.css +14 -0
  253. package/src/posestudio.jsx +4 -27
  254. package/src/project-browser.jsx +3 -4
  255. package/src/project-resources.js +18 -31
  256. package/src/project.js +13 -104
  257. package/src/props.jsx +25 -280
  258. package/src/qa-label.js +25 -0
  259. package/src/rail-dot-drag.js +23 -0
  260. package/src/render-passes.js +10 -0
  261. package/src/resource-status.jsx +1 -0
  262. package/src/result-modal.jsx +4 -19
  263. package/src/room.jsx +20 -12
  264. package/src/scene-assets.js +8 -6
  265. package/src/scene-light-place.js +72 -0
  266. package/src/scene-lights.jsx +148 -0
  267. package/src/scene-objects.js +31 -139
  268. package/src/scenes.js +15 -105
  269. package/src/semantic-edit.js +2 -5
  270. package/src/set-pieces.jsx +183 -0
  271. package/src/settings-menu.jsx +3 -11
  272. package/src/shell/BottomDock.jsx +9 -51
  273. package/src/shell/DetailsSlot.jsx +16 -200
  274. package/src/shell/GhostsMenuGroup.jsx +74 -0
  275. package/src/shell/LibrarySlot.jsx +1 -3
  276. package/src/shell/MenuBar.jsx +3 -3
  277. package/src/shell/PreferencesDialog.jsx +15 -264
  278. package/src/shell/PreferencesSlot.jsx +2 -8
  279. package/src/shell/TopBar.jsx +5 -84
  280. package/src/shell/ViewportToolbar.jsx +10 -70
  281. package/src/shell/agent-glass.css +19 -6
  282. package/src/shell/details-selection.js +42 -0
  283. package/src/shell/ghosts-menu.css +22 -0
  284. package/src/shell/glass-regions.css +29 -3
  285. package/src/shell/preferences.css +6 -1
  286. package/src/shot-authoring.js +4 -7
  287. package/src/soft-shadows.js +37 -0
  288. package/src/stage-attach-frames.js +12 -12
  289. package/src/stage-canvas-rigs.jsx +3 -3
  290. package/src/stage-capture.jsx +42 -8
  291. package/src/stage-characters.jsx +22 -216
  292. package/src/stage-editor-gizmos.jsx +6 -6
  293. package/src/stage-environment.js +93 -0
  294. package/src/stage-hdr-builtins.js +107 -0
  295. package/src/stage-hdr-image.js +116 -0
  296. package/src/stage-hdr-library.js +70 -0
  297. package/src/stage-hdr-map.js +94 -0
  298. package/src/stage-hdr.js +130 -0
  299. package/src/stage-lighting.js +149 -0
  300. package/src/stage-occlusion.js +210 -0
  301. package/src/stage-sky.jsx +159 -0
  302. package/src/stage-startup-defaults.js +5 -9
  303. package/src/studio-actions.js +16 -14
  304. package/src/studio-agent-commands.js +19 -16
  305. package/src/studio-agent-motion.js +9 -9
  306. package/src/studio-agent-protocol.js +47 -77
  307. package/src/studio-app-binding.js +27 -47
  308. package/src/studio-asset-list.js +17 -0
  309. package/src/studio-contact-sheet.js +37 -5
  310. package/src/studio-elements.js +27 -7
  311. package/src/studio-entity-bounds.js +18 -0
  312. package/src/studio-error-codes.js +15 -0
  313. package/src/studio-export-framing.js +152 -0
  314. package/src/studio-lighting-check.js +103 -0
  315. package/src/studio-motion-visual.js +150 -0
  316. package/src/studio-schema-errors.js +80 -0
  317. package/src/studio-support-gap.js +74 -0
  318. package/src/styles.css +1 -19
  319. package/src/timeline-defaults.js +5 -0
  320. package/src/timeline-extent.js +8 -20
  321. package/src/tutorial-walk.js +17 -0
  322. package/src/ui-scrub.js +1 -1
  323. package/src/use-shot-camera-tracks.js +12 -0
  324. package/src/view-ghosts.js +97 -0
  325. package/src/view-ghosts.jsx +49 -0
  326. package/src/workflow/AgentPanel.jsx +47 -166
  327. package/src/workflow/AgentProgressCard.jsx +109 -0
  328. package/src/workflow/AgentReplyText.jsx +37 -0
  329. package/src/workflow/AgentTurnSteps.jsx +84 -0
  330. package/src/workflow/LoginPanel.jsx +140 -0
  331. package/src/workflow/WorkflowBuilder.jsx +7 -23
  332. package/src/workflow/agent-client.js +54 -51
  333. package/src/workflow/agent-panel.css +71 -1
  334. package/src/workflow/agent-progress-card.css +167 -0
  335. package/src/workflow/agent-progress-view.js +47 -0
  336. package/src/workflow/agent-turn-steps.css +113 -0
  337. package/src/workflow/agent-turn.js +191 -0
  338. package/src/workflow/login-client.js +34 -0
  339. package/src/workflow/motion-input.js +18 -31
  340. package/src/workflow/node-schema.js +1 -1
  341. package/src/workflow/reply-markdown.js +69 -0
  342. package/src/workflow/scene-asset-sync.js +8 -8
  343. package/tools/agent-session-stats.mjs +61 -0
  344. package/tools/dev-full.mjs +5 -56
  345. package/tools/eslint-baseline.json +12 -13
  346. package/tools/knip-baseline.json +0 -179
  347. package/tools/loc-baseline.json +31 -81
  348. package/tools/motion3/extract-body.mjs +103 -0
  349. package/tools/motion3/extract-rig.mjs +85 -0
  350. package/tools/process-supervisor.mjs +0 -88
  351. package/tools/run-tests.mjs +9 -125
  352. package/bin/agent/motion-runtime.mjs +0 -76
  353. package/dist/ardy/cskel27-rest.json +0 -557
  354. package/dist/assets/analytics-C9pMpW7s.js +0 -1
  355. package/dist/assets/app-B_2XB9rw.css +0 -1
  356. package/dist/assets/app-DAuvKPP8.js +0 -4920
  357. package/dist/assets/config-Bx7pYsD9.js +0 -1
  358. package/dist/assets/config-DeoFTYzb.css +0 -1
  359. package/dist/assets/demo-CvKuBgy5.js +0 -1
  360. package/dist/assets/scene-asset-sync-DKkpjKBV.js +0 -19
  361. package/dist/assets/scene-asset-sync-DjJ_cJ2R.css +0 -1
  362. package/dist/assets/ticket-BPk2Ni95.js +0 -1
  363. package/dist/assets/workflow-jJRBR94Z.js +0 -179
  364. package/dist/demo/walk-then-stop.npz +0 -0
  365. package/mcp/ardy-prompts.mjs +0 -218
  366. package/src/ardy/auto-fix-panel.css +0 -108
  367. package/src/ardy/auto-physics.js +0 -1194
  368. package/src/ardy/client.js +0 -153
  369. package/src/ardy/convert.js +0 -313
  370. package/src/ardy/cskel27-neutral.js +0 -39
  371. package/src/ardy/cskel27.js +0 -77
  372. package/src/ardy/export.js +0 -165
  373. package/src/ardy/fix-collisions.js +0 -2257
  374. package/src/ardy/foot-lock.js +0 -230
  375. package/src/ardy/motion-calibration.js +0 -118
  376. package/src/ardy/motion-edit.js +0 -213
  377. package/src/ardy/motion-url.js +0 -55
  378. package/src/ardy/mp4-duration.js +0 -102
  379. package/src/ardy/npz.js +0 -595
  380. package/src/ardy/physics-panel.css +0 -21
  381. package/src/ardy/physics-panel.jsx +0 -89
  382. package/src/ardy/physics-refine.js +0 -111
  383. package/src/ardy/physics-review.js +0 -567
  384. package/src/ardy/physics-temporal.js +0 -54
  385. package/src/ardy/platform-fit-panel.css +0 -64
  386. package/src/ardy/platform-fit-panel.jsx +0 -41
  387. package/src/ardy/platform-fit.js +0 -326
  388. package/src/ardy/playback.js +0 -711
  389. package/src/ardy/pose-pin.js +0 -97
  390. package/src/ardy/prompt-clips.js +0 -30
  391. package/src/ardy/retime.js +0 -211
  392. package/src/ardy/root-drop.js +0 -369
  393. package/src/ardy/timeline-resize.js +0 -13
  394. package/src/ardy/to-cskel27.js +0 -225
  395. package/src/ardy/trim.js +0 -33
  396. package/src/ardy/waypoints.js +0 -369
  397. package/src/ardy-bridge-contract.js +0 -281
  398. package/src/domains/motion/motion-video-capture.js +0 -664
  399. package/src/i2v-motion-client.js +0 -77
  400. package/src/i2v-motion-studio.jsx +0 -180
  401. package/src/line-edit.js +0 -1348
  402. package/src/motion/generation.js +0 -105
  403. package/src/motion-readiness-ui.jsx +0 -67
  404. package/src/motion-readiness.js +0 -40
  405. package/src/motion-resources.js +0 -177
  406. package/src/motion-store.js +0 -65
  407. package/src/motion-trail.js +0 -601
  408. package/src/multimodel-ingest.js +0 -394
  409. package/src/panels/PromptBlocksPanel.jsx +0 -444
  410. package/src/panels/VideoCapturePanel.jsx +0 -181
  411. package/src/pose-extract/browser.js +0 -42
  412. package/src/pose-extract/detector.js +0 -100
  413. package/src/pose-extract/fit.js +0 -227
  414. package/src/pose-extract/image-frame.js +0 -51
  415. package/src/pose-extract/index.js +0 -58
  416. package/src/pose-extract/keyframes.js +0 -74
  417. package/src/pose-extract/landmarks.js +0 -162
  418. package/src/pose-extract/mirror.js +0 -153
  419. package/src/pose-extract/take.js +0 -131
  420. package/src/pose-extract/video-frames.js +0 -91
  421. package/src/take-recipe.js +0 -165
  422. package/src/trail-key-conflicts.js +0 -39
  423. package/src/trail-pick.js +0 -59
  424. package/src/use-i2v-capture-modal.js +0 -15
  425. package/tools/ardy/BRIDGE.md +0 -37
  426. package/tools/ardy/GVHMR-NPZ.md +0 -68
  427. package/tools/ardy/README.md +0 -124
  428. package/tools/ardy/__pycache__/cclay_gvhmr_worker.cpython-313.pyc +0 -0
  429. package/tools/ardy/artifacts.mjs +0 -34
  430. package/tools/ardy/bridge.mjs +0 -1732
  431. package/tools/ardy/bvh-cskel27.mjs +0 -1265
  432. package/tools/ardy/cclay_constrained_generate.py +0 -561
  433. package/tools/ardy/cclay_gvhmr_worker.py +0 -264
  434. package/tools/ardy/cclay_motion_edit.py +0 -510
  435. package/tools/ardy/cclay_sequence_generate.py +0 -705
  436. package/tools/ardy/cclay_worker.py +0 -304
  437. package/tools/ardy/dump-npz.py +0 -205
  438. package/tools/ardy/extract-rest.mjs +0 -299
  439. package/tools/ardy/extract.mjs +0 -507
  440. package/tools/ardy/footage.mjs +0 -467
  441. package/tools/ardy/gvhmr-floor.mjs +0 -102
  442. package/tools/ardy/gvhmr-to-cskel27.mjs +0 -21
  443. package/tools/ardy/gvhmr_fastpath.py +0 -168
  444. package/tools/ardy/gvhmr_trajectory.py +0 -240
  445. package/tools/ardy/merge-text-encoder.py +0 -160
  446. package/tools/ardy/mocap-metrics.mjs +0 -200
  447. package/tools/ardy/mocap-quality-gate.mjs +0 -110
  448. package/tools/ardy/motion-stabilize.mjs +0 -348
  449. package/tools/ardy/npz.mjs +0 -414
  450. package/tools/ardy/pose-to-npz.mjs +0 -106
  451. package/tools/ardy/prompt-limits.mjs +0 -5
  452. package/tools/ardy/run-edit-on-box.sh +0 -73
  453. package/tools/ardy/run-local.mjs +0 -233
  454. package/tools/ardy/run-on-box.sh +0 -593
  455. package/tools/ardy/run-sequence-on-box.sh +0 -177
  456. package/tools/ardy/runners/gvhmr-worker.mjs +0 -206
  457. package/tools/ardy/runners/index.mjs +0 -18
  458. package/tools/ardy/runners/local.mjs +0 -455
  459. package/tools/ardy/runners/proc.mjs +0 -125
  460. package/tools/ardy/runners/remote.mjs +0 -252
  461. package/tools/ardy/setup-local.mjs +0 -189
  462. package/tools/ardy/setup-text-encoder-on-box.sh +0 -93
  463. package/tools/ardy/setup-text-encoder.py +0 -306
  464. package/tools/ardy/smpl-cskel27.mjs +0 -178
  465. package/tools/ardy/visual-qa.mjs +0 -196
  466. package/tools/ardy/vq-car.mjs +0 -52
  467. package/tools/bench/EXP3.md +0 -61
  468. package/tools/bench/cclay_bench_extract_incam.py +0 -125
  469. package/tools/bench/cclay_bench_extract_obs.py +0 -204
  470. package/tools/bench/cclay_bench_runner.py +0 -42
  471. package/tools/bench/cube-contact.mjs +0 -162
  472. package/tools/bench/exp3.mjs +0 -152
  473. package/tools/bench/extract-bench-lib.mjs +0 -216
  474. package/tools/bench/extract-bench.mjs +0 -302
  475. package/tools/bench/fal-generate.mjs +0 -88
  476. package/tools/bench/fit/README.md +0 -189
  477. package/tools/bench/fit/camera.mjs +0 -59
  478. package/tools/bench/fit/contact.mjs +0 -419
  479. package/tools/bench/fit/footlock.mjs +0 -234
  480. package/tools/bench/fit/motion.mjs +0 -85
  481. package/tools/bench/fit/pin.mjs +0 -27
  482. package/tools/bench/fit/remote.mjs +0 -105
  483. package/tools/bench/fit-bench.mjs +0 -126
  484. package/tools/bench/fit-sanity.mjs +0 -45
  485. package/tools/bench/metrics.mjs +0 -313
  486. package/tools/bench/obs/depth.mjs +0 -258
  487. package/tools/bench/obs/extrinsics.mjs +0 -175
  488. package/tools/bench/obs/fit_mannequin_betas.py +0 -340
  489. package/tools/bench/obs/ground.mjs +0 -294
  490. package/tools/bench/obs/heading.mjs +0 -151
  491. package/tools/bench/obs/ladder.mjs +0 -555
  492. package/tools/bench/obs/mannequin-betas.json +0 -124
  493. package/tools/bench/obs/remote.mjs +0 -83
  494. package/tools/bench/obs/rest_joints.py +0 -52
  495. package/tools/bench/obs/ybot-targets.mjs +0 -49
  496. package/tools/bench/obs-bench.mjs +0 -520
  497. package/tools/bench/score.mjs +0 -343
  498. package/tools/bench/summarize.mjs +0 -86
  499. package/tools/demo-worker/README.md +0 -137
  500. package/tools/demo-worker/api-client.mjs +0 -233
  501. package/tools/demo-worker/generate.mjs +0 -301
  502. package/tools/demo-worker/index.mjs +0 -466
  503. package/tools/demo-worker/sign-core.mjs +0 -112
  504. package/tools/demo-worker/sign.mjs +0 -161
  505. package/tools/gt-render/browser.mjs +0 -182
  506. package/tools/gt-render/camera-math.mjs +0 -276
  507. package/tools/gt-render/page.mjs +0 -267
  508. package/tools/gt-render/render.mjs +0 -514
  509. package/tools/gt-render/scene-box.mjs +0 -31
  510. package/tools/gt-render/take-transform.mjs +0 -87
  511. package/tools/kimodo/compare-seam.mjs +0 -108
  512. package/tools/kimodo/constraints.mjs +0 -244
  513. package/tools/kimodo/edit.mjs +0 -259
  514. package/tools/kimodo/effector-constraints.mjs +0 -200
  515. package/tools/kimodo/generate.mjs +0 -646
  516. package/tools/kimodo/local-output.mjs +0 -265
  517. package/tools/kimodo/measure-pose.mjs +0 -65
  518. package/tools/kimodo/measure-preserve.mjs +0 -899
  519. package/tools/kimodo/measure-waypoints.mjs +0 -55
  520. package/tools/kimodo/mlx-generate.py +0 -111
  521. package/tools/kimodo/pose-constraints.mjs +0 -248
  522. package/tools/kimodo/preserve-mask.mjs +0 -543
  523. package/tools/kimodo/read-npz.mjs +0 -189
  524. package/tools/kimodo/run-edit-on-box.mjs +0 -155
  525. package/tools/kimodo/run-sequence-on-box.mjs +0 -178
  526. package/tools/kimodo/runner.mjs +0 -284
  527. package/tools/kimodo/seam-batch.mjs +0 -77
  528. package/tools/kimodo/setup-local.mjs +0 -30
  529. package/tools/kimodo/setup-on-box.sh +0 -339
  530. package/tools/kimodo/soma77-to-cskel27.mjs +0 -305
  531. package/tools/morphgs/assets/gen_truth.py +0 -39
  532. package/tools/morphgs/assets/mesh_ori_rig.txt +0 -27
  533. package/tools/morphgs/assets/playback-check.mjs +0 -30
  534. package/tools/morphgs/demo-gate.sh +0 -26
  535. package/tools/morphgs/fbx2morphgs.mjs +0 -68
  536. package/tools/morphgs/morphgs-to-cskel27.mjs +0 -105
  537. package/tools/morphgs/patches/preprocess_src-none-mode.patch +0 -76
  538. package/tools/morphgs/setup-on-cluster.sh +0 -126
  539. package/tools/projflow/driver.py +0 -1069
  540. package/tools/projflow/generate.mjs +0 -805
  541. package/tools/projflow/hml22-to-cskel27.mjs +0 -735
  542. package/tools/projflow/line-edit-job.mjs +0 -547
  543. package/tools/projflow/replay.mjs +0 -452
  544. package/tools/projflow/runner.mjs +0 -269
  545. package/tools/projflow/service.mjs +0 -742
  546. package/tools/track/DESIGN.md +0 -513
  547. package/tools/track/backfill-provenance.mjs +0 -116
  548. package/tools/track/budget.mjs +0 -8
  549. package/tools/track/check-rig.mjs +0 -209
  550. package/tools/track/diagnostics.schema.json +0 -60
  551. package/tools/track/export-rig.mjs +0 -256
  552. package/tools/track/fallback.mjs +0 -7
  553. package/tools/track/fk-parity-fixture.mjs +0 -161
  554. package/tools/track/gate.mjs +0 -349
  555. package/tools/track/masks.mjs +0 -318
  556. package/tools/track/metrics.mjs +0 -201
  557. package/tools/track/publish-obs.mjs +0 -108
  558. package/tools/track/py/check_env.py +0 -61
  559. package/tools/track/py/eval_lr.py +0 -229
  560. package/tools/track/py/lr_viterbi.py +0 -294
  561. package/tools/track/py/masks.py +0 -405
  562. package/tools/track/py/objective.py +0 -382
  563. package/tools/track/py/rig.py +0 -508
  564. package/tools/track/py/scene.py +0 -326
  565. package/tools/track/py/test_joint_indices.py +0 -123
  566. package/tools/track/py/test_lr_viterbi.py +0 -195
  567. package/tools/track/py/test_masks.py +0 -229
  568. package/tools/track/py/test_rig.py +0 -288
  569. package/tools/track/py/test_scene.py +0 -354
  570. package/tools/track/py/test_track.py +0 -328
  571. package/tools/track/py/track.py +0 -411
  572. package/tools/track/remote.mjs +0 -140
  573. package/tools/track/rig-dump.mjs +0 -227
  574. package/tools/track/run-box-tests.mjs +0 -14
  575. package/tools/track/run-box.mjs +0 -168
  576. package/tools/track/setup-box.sh +0 -59
  577. package/tools/track/study-2d.mjs +0 -728
  578. /package/src/{ardy → motion}/collision-blockers.js +0 -0
  579. /package/src/{ardy → motion}/ground.js +0 -0
  580. /package/src/{ardy → motion}/ik-drag.js +0 -0
  581. /package/src/{ardy → motion}/ik-key-json.js +0 -0
  582. /package/src/{ardy → motion}/ik.js +0 -0
  583. /package/src/{ardy → motion}/physics-surface.js +0 -0
  584. /package/src/{ardy → motion}/playback-clock.js +0 -0
  585. /package/src/{ardy → motion}/range-pin.js +0 -0
@@ -14,84 +14,25 @@ if (!process.env.COZYCLAY_AGENT_SESSIONS_DIR) {
14
14
  }
15
15
 
16
16
  const NODE_FILES = [
17
- "test/verify-proxy-figure.mjs",
17
+ "test/motion3/verify-motion3-core.mjs", "test/motion3/verify-motion3-idle.mjs", "test/motion3/verify-motion3-flip.mjs", "test/motion3/verify-motion3-timing.mjs", "test/motion3/verify-motion3-self.mjs", "test/motion3/verify-motion3-commands.mjs", "test/motion3/verify-motion3-exitcar.mjs", "test/motion3/verify-motion3-agentloop.mjs", "test/motion3/verify-motion3-search.mjs", "test/motion3/verify-motion3-skills.mjs", "test/motion3/verify-motion3-carried.mjs", "test/motion3/verify-motion3-people.mjs", "test/motion3/verify-motion3-hit.mjs", "test/motion3/verify-motion3-contracts.mjs", "test/motion3/verify-motion3-describe.mjs", "test/motion3/verify-motion3-timeline.mjs", "test/motion3/verify-motion3-probes.mjs", "test/motion3/verify-motion3-grab.mjs", "test/motion3/verify-motion3-patch.mjs", "test/motion3/verify-motion3-repair.mjs", "test/motion3/verify-motion3-specstore.mjs", "test/motion3/verify-motion3-visual.mjs", "test/motion3/verify-motion3-goals.mjs", "test/motion3/verify-motion3-prompt.mjs", "test/motion3/verify-motion3-cup.mjs", "test/verify-proxy-figure.mjs",
18
18
  "test/verify-proxy-figure-bounds.mjs",
19
19
  "test/verify-character-capabilities.mjs",
20
20
  "test/verify-root-path.mjs",
21
- "test/verify-morphgs-exporter.mjs",
22
21
  "test/verify-studio-elements.mjs",
23
22
  "test/bus/verify-view-mode-pose.mjs",
24
23
  "test/verify-studio-actions.mjs",
25
- "test/ardy/verify-base-free.mjs",
26
- "test/ardy/verify-browser-motion.mjs",
27
24
  "test/ardy/verify-collision-blockers.mjs",
28
- "test/ardy/verify-compare-npz.mjs",
29
- "test/ardy/verify-fill.mjs",
30
- "test/ardy/verify-fk.mjs",
31
- "test/ardy/verify-gvhmr-worker.mjs",
32
- "test/ardy/verify-mocap-quality-gate.mjs",
33
- "test/ardy/verify-motion-calibration.mjs",
34
- "test/ardy/verify-palette-segmentation.mjs",
35
- "test/verify-motion-stabilize.mjs",
36
- "test/verify-i2v-motion-prompt.mjs",
37
25
  "test/verify-facing-marks.mjs",
38
26
  "test/verify-pose-fade.mjs",
39
27
  "test/verify-pose-gizmo.mjs",
40
- "test/ardy/verify-gvhmr-floor.mjs",
41
- "test/verify-gvhmr-detector-flag.mjs",
42
- "test/verify-gvhmr-only.mjs",
43
- "test/verify-extract-bench.mjs",
44
- "test/verify-fit-bench.mjs",
45
- "test/verify-obs-extrinsics.mjs",
46
- "test/verify-obs-depth.mjs",
47
- "test/verify-obs-ground.mjs",
48
- "test/verify-obs-betas.mjs",
49
- "test/verify-obs-remote.mjs",
50
- "test/verify-track-run-box.mjs",
51
- "test/verify-track-gate.mjs",
52
- "test/verify-track-backfill.mjs",
53
- "test/verify-track-remote.mjs",
54
- "test/verify-track-metrics.mjs",
55
- "test/verify-track-study-2d.mjs",
56
- "test/verify-track-masks.mjs",
57
- "test/verify-obs-ladder.mjs",
58
- "test/verify-obs-isolation.mjs",
59
- "test/verify-obs-bench-t1.mjs",
60
- "test/verify-track-rig-dump.mjs",
61
- "test/verify-scene-continuity.mjs",
62
- "test/verify-heading-unwrap.mjs",
63
- "test/verify-scene-ray.mjs",
64
- "test/verify-footlock.mjs",
65
- "test/verify-cube-contact.mjs",
66
28
  "test/ardy/verify-key-runs.mjs",
67
- "test/ardy/verify-playback-skinning.mjs",
68
29
  "test/ardy/verify-playback-clock.mjs",
69
- "test/ardy/verify-pose-export.mjs",
70
- "test/ardy/verify-pose-pin.mjs",
71
- "test/ardy/verify-pose-shape.mjs",
72
- "test/ardy/verify-prompt-move.mjs",
73
- "test/ardy/verify-rest.mjs",
74
- "test/ardy/verify-root-drop.mjs",
75
- "test/ardy/verify-surface-rise.mjs",
76
- "test/ardy/verify-secure-artifacts.mjs",
77
- "test/ardy/verify-motion-cors.mjs",
78
30
  "test/ardy/verify-timeline-coordinates.mjs",
79
- "test/ardy/verify-timeline-resize.mjs",
80
31
  "test/verify-tokens.mjs",
81
- "test/demo/verify-demo-pages.mjs",
82
- "test/demo/verify-motion-api.mjs",
83
- "test/demo/verify-motion-url-allowlist.mjs",
84
- "test/demo/verify-queue-policy.mjs",
85
- "test/demo/verify-queue-concurrency.mjs",
86
- "test/demo/verify-ops.mjs",
87
- "test/demo/verify-demo-worker-signing.mjs",
88
- "test/demo/verify-demo-worker-loop.mjs",
89
- "test/ik/verify-fix-collisions.mjs",
90
- "test/ik/verify-foot-lock.mjs",
32
+ "test/demo/verify-api-routes.mjs",
33
+ "test/ik/verify-collision-capsules.mjs",
91
34
  "test/ik/verify-ground.mjs",
92
- "test/ik/verify-auto-physics.mjs",
93
35
  "test/ik/verify-physics-review.mjs",
94
- "test/ik/verify-platform-fit.mjs",
95
36
  "test/ik/verify-physics-support.mjs",
96
37
  "test/ik/verify-physics-surface.mjs",
97
38
  "test/ik/verify-ik.mjs",
@@ -104,13 +45,12 @@ const NODE_FILES = [
104
45
  "test/ik/verify-range-pin-object-transform.mjs",
105
46
  "test/verify-ik-camera-performance.mjs",
106
47
  "test/verify-ik-entry-camera.mjs",
107
- "test/process/verify-bridge-launch.mjs",
108
48
  "test/process/verify-lifecycle.mjs",
109
49
  "test/process/verify-mcp-package-isolation.mjs",
110
50
  "test/process/verify-package-telemetry.mjs",
111
51
  "test/process/verify-agent-deps.mjs",
112
52
  "test/verify-agent-image-references.mjs",
113
- "test/verify-agent-panel.mjs",
53
+ "test/verify-agent-panel.mjs", "test/verify-agent-turn-view.mjs", "test/verify-agent-reply-text.mjs",
114
54
  "test/verify-agent-host.mjs",
115
55
  "test/verify-agent-routes.mjs",
116
56
  "test/verify-studio-owner-restart.mjs",
@@ -120,16 +60,15 @@ const NODE_FILES = [
120
60
  "test/verify-agent-runner-errors.mjs",
121
61
  "test/verify-agent-steer.mjs",
122
62
  "test/verify-pi-tools.mjs",
123
- "test/verify-agent-providers.mjs",
63
+ "test/verify-agent-providers.mjs", "test/verify-agent-login.mjs",
124
64
  "test/verify-cliproxy-live-model.mjs",
125
65
  "test/verify-schema-to-typebox.mjs",
126
66
  "test/verify-agent-sse-golden.mjs",
127
- "test/verify-agent-context-budget.mjs",
67
+ "test/verify-agent-context-budget.mjs", "test/verify-agent-context-trim.mjs",
128
68
  "test/verify-agent-supervisor.mjs",
129
69
  "test/verify-studio-agent-protocol.mjs",
130
70
  "test/verify-studio-agent-sampled-framing.mjs",
131
71
  "test/verify-studio-agent-tokens.mjs",
132
- "test/verify-studio-agent-jobs.mjs",
133
72
  "test/verify-agent-execution.mjs",
134
73
  "test/verify-workflow-execution.mjs",
135
74
  "test/verify-execution-shared-hooks.mjs",
@@ -157,8 +96,7 @@ const NODE_FILES = [
157
96
  "test/verify-blocking-depth.mjs",
158
97
  "test/verify-render-passes-video.mjs",
159
98
  "test/verify-burn-in.mjs",
160
- "test/verify-bvh-cskel27.mjs",
161
- "test/verify-camera-block.mjs",
99
+ "test/verify-camera-block.mjs", "test/verify-camera-direction.mjs",
162
100
  "test/verify-camera-follow.mjs",
163
101
  "test/verify-camera-move.mjs",
164
102
  "test/verify-camera-rail-schedule.mjs",
@@ -169,78 +107,39 @@ const NODE_FILES = [
169
107
  "test/verify-cuts.mjs",
170
108
  "test/verify-shot-guides.mjs",
171
109
  "test/verify-error-boundary.mjs",
172
- "test/verify-footage-bridge.mjs",
173
110
  "test/verify-g006-css.mjs",
174
111
  "test/verify-gizmo-claim.mjs",
175
112
  "test/verify-grid-view.mjs",
176
113
  "test/verify-hierarchy.mjs",
177
114
  "test/verify-history.mjs",
178
- "test/verify-image-pose.mjs",
179
115
  "test/verify-image-versions.mjs",
180
- "test/verify-kimodo-cskel27.mjs",
181
- "test/verify-kimodo-edit.mjs",
182
- "test/verify-kimodo-effector.mjs",
183
- "test/verify-kimodo-local-output.mjs", "test/verify-kimodo-mlx-output.mjs",
184
- "test/verify-kimodo-pose.mjs",
185
- "test/verify-kimodo-preserve.mjs",
186
- "test/verify-kimodo-runner.mjs",
187
- "test/verify-kimodo-setup.mjs",
188
- "test/verify-motion-trail.mjs",
189
- "test/verify-motion-trail-limb.mjs",
190
- "test/verify-trail-key-conflicts.mjs",
191
- "test/verify-motion-trail-orientation.mjs",
192
- "test/verify-trail-pick.mjs",
193
- "test/verify-trail-rendered-geometry.mjs",
194
- "test/verify-motion-trail-overreach.mjs",
195
- "test/verify-motion-trail-persistence.mjs",
196
- "test/verify-kimodo-waypoints.mjs",
197
116
  "test/verify-keyframe-pack.mjs",
198
117
  "test/verify-keyframe-pack-request.mjs",
199
118
  "test/verify-korean-ui.mjs",
200
119
  "test/verify-label-tooltips.mjs",
201
120
  "test/verify-layout.mjs",
202
121
  "test/verify-beginner-screen.mjs",
203
- "test/verify-line-edit-draw.mjs",
204
- "test/verify-line-edit-pins.mjs",
205
122
  "test/verify-live-agent-commands.mjs",
206
123
  "test/verify-live-cli.mjs",
207
124
  "test/verify-live-control.mjs",
208
125
  "test/verify-matte-editor.mjs",
209
126
  "test/verify-matte.mjs",
210
127
  "test/verify-model-presets.mjs",
211
- "test/verify-mp4-duration.mjs",
212
- "test/verify-gt-render-camera.mjs",
213
- "test/verify-bench-metrics.mjs",
214
128
  "test/verify-mcp-invariants.mjs",
215
- "test/verify-motion-edit.mjs",
216
- "test/verify-motion-readiness.mjs",
217
- "test/verify-demo-seed.mjs",
218
- "test/verify-motion-readiness-ui.mjs",
219
- "test/verify-multimodel-ingest.mjs",
220
129
  "test/verify-offscreen-export.mjs",
221
130
  "test/verify-export-capture.mjs",
222
131
  "test/verify-export-recovery.mjs",
223
132
  "test/verify-record-mp4-source.mjs",
224
133
  "test/verify-timeline-extent.mjs",
225
134
  "test/verify-otio.mjs",
226
- "test/verify-pose-extract.mjs",
227
135
  "test/verify-pose-library.mjs",
228
- "test/verify-pose-mirror.mjs",
229
- "test/verify-pose-yaw.mjs",
230
- "test/verify-preserve-bridge.mjs",
231
136
  "test/verify-project.mjs",
232
137
  "test/verify-workflow-send.mjs",
233
138
  "test/verify-animation-export.mjs",
234
139
  "test/verify-project-previs-mode.mjs",
235
- "test/verify-projflow-bridge.mjs",
236
- "test/verify-projflow-cskel27.mjs",
237
- "test/verify-projflow-replay.mjs",
238
- "test/verify-projflow-runner.mjs",
239
- "test/verify-projflow-service.mjs",
240
140
  "test/verify-pwa.mjs",
241
141
  "test/verify-package-signature.mjs",
242
142
  "test/verify-resilience.mjs",
243
- "test/verify-retime.mjs",
244
143
  "test/verify-sample-at.mjs",
245
144
  "test/verify-scene-asset-cache.mjs",
246
145
  "test/verify-scene-assets.mjs",
@@ -277,7 +176,6 @@ const NODE_FILES = [
277
176
  "test/verify-shot-meta.mjs",
278
177
  "test/verify-shot-prompt.mjs",
279
178
  "test/verify-shot-prompt-node.mjs",
280
- "test/verify-take-recipe.mjs",
281
179
  "test/verify-theme.mjs",
282
180
  "test/verify-telemetry-state.mjs",
283
181
  "test/verify-timeline-camera.mjs",
@@ -287,22 +185,18 @@ const NODE_FILES = [
287
185
  "test/verify-shot-cast-overrides.mjs",
288
186
  "test/verify-panel-stylize.mjs",
289
187
  "test/verify-tool-handlers.mjs",
290
- "test/verify-trim.mjs",
291
188
  "test/verify-update-check.mjs",
292
189
  "test/verify-usd-camera.mjs",
293
- "test/verify-video-frames.mjs",
294
190
  "test/verify-zip-store.mjs",
295
191
  "test/verify-render-passes.mjs",
296
192
  "mcp/verify.mjs",
297
193
  "mcp/verify-http-origin.mjs",
298
194
  "mcp/verify-live.mjs",
299
195
  "mcp/verify-live-proxy-frame.mjs",
300
- "mcp/verify-live-motion-job.mjs",
301
196
  "mcp/verify-live-p0.mjs",
302
197
  "mcp/verify-live-port.mjs",
303
198
  "mcp/verify-live-controller.mjs",
304
199
  "mcp/verify-live-routing.mjs",
305
- "mcp/verify-prompts.mjs",
306
200
  "mcp/verify-protocol-version.mjs",
307
201
  "mcp/verify-tool-annotations.mjs",
308
202
  "mcp/verify-import-mesh.mjs",
@@ -314,8 +208,6 @@ const NODE_FILES = [
314
208
  "test/verify-group-rotation.mjs",
315
209
  "test/verify-number-field-scrub.mjs",
316
210
  "test/verify-speed-envelope.mjs",
317
- "test/verify-motion-resources.mjs",
318
- "test/verify-motion-store.mjs",
319
211
  "test/verify-project-resources.mjs",
320
212
  "test/verify-workflow-resources.mjs",
321
213
  "test/verify-resource-status.mjs",
@@ -328,7 +220,6 @@ const BROWSER_FILES = [
328
220
  "test/qa-storyboard-export-browser.mjs",
329
221
  "test/qa-proxy-figure-browser.mjs",
330
222
  "test/qa-rail-lean-browser.mjs",
331
- "test/qa-motion-readiness-browser.mjs",
332
223
  "test/qa-export-recovery-browser.mjs",
333
224
  "test/verify-camera-mode-browser.mjs",
334
225
  "test/verify-camera-rail-browser.mjs",
@@ -346,7 +237,6 @@ const BROWSER_FILES = [
346
237
  "test/verify-settings-menu-browser.mjs",
347
238
  "test/verify-static-shot-export-browser.mjs",
348
239
  "test/qa-agent-view-toggle-browser.mjs",
349
- "test/qa-studio-agent-browser.mjs",
350
240
  "test/qa-agent-scenarios-browser.mjs",
351
241
  "test/qa-camera-tutorial-browser.mjs",
352
242
  "test/qa-first-shot-handoff-browser.mjs",
@@ -359,12 +249,9 @@ const BROWSER_FILES = [
359
249
  "test/qa-reference-slots-browser.mjs",
360
250
  "test/qa-scene-playback-browser.mjs",
361
251
  "test/qa-scene-switcher-browser.mjs",
362
- "test/qa-project-resources-browser.mjs",
363
252
  "test/qa-send-to-ai-browser.mjs",
364
253
  "test/qa-execution-outcomes-browser.mjs",
365
254
  "test/qa-view-menu-browser.mjs",
366
- "test/qa-agent-activity-browser.mjs",
367
- "test/qa-platform-fit-browser.mjs",
368
255
  "test/qa-scenes-v5-migration-browser.mjs",
369
256
  "test/qa-clipboard-paste-browser.mjs",
370
257
  "test/qa-rail-ring-browser.mjs",
@@ -375,7 +262,7 @@ const BROWSER_FILES = [
375
262
  // The inventory sweep only picks up `verify*.mjs`; a browser suite named for
376
263
  // the QA runner it needs is listed here so it still shows up in the manifest
377
264
  // (as an EXCLUDE with its reason) instead of going unmentioned.
378
- const EXTRA_INVENTORY = ["test/ik/translation-step.mjs", "test/qa-scenes-v5-migration-browser.mjs", "test/qa-studio-agent-browser.mjs", "test/qa-agent-scenarios-browser.mjs", "test/qa-execution-outcomes-browser.mjs", "test/qa-motion-readiness-browser.mjs", "test/qa-export-recovery-browser.mjs", "test/qa-agent-view-toggle-browser.mjs", "test/qa-camera-tutorial-browser.mjs", "test/qa-first-shot-handoff-browser.mjs", "test/qa-tutorial-analytics-browser.mjs", "test/qa-camera-pointer-lock-browser.mjs", "test/qa-first-edit-browser.mjs", "test/qa-ia-tail-browser.mjs", "test/qa-keyframe-pack-browser.mjs", "test/qa-preview-browser.mjs", "test/qa-project-resources-browser.mjs", "test/qa-reference-slots-browser.mjs", "test/qa-scene-playback-browser.mjs", "test/qa-scene-switcher-browser.mjs", "test/qa-send-to-ai-browser.mjs", "test/qa-view-menu-browser.mjs", "test/qa-agent-activity-browser.mjs", "test/qa-live-reconnect-browser.mjs", "test/qa-platform-fit-browser.mjs", "test/qa-clipboard-paste-browser.mjs", "test/qa-rail-lean-browser.mjs", "test/qa-rail-reach-browser.mjs", "test/qa-rail-ring-browser.mjs", "test/qa-speed-graph-browser.mjs"];
265
+ const EXTRA_INVENTORY = ["test/ik/translation-step.mjs", "test/qa-scenes-v5-migration-browser.mjs", "test/qa-agent-scenarios-browser.mjs", "test/qa-execution-outcomes-browser.mjs", "test/qa-export-recovery-browser.mjs", "test/qa-agent-view-toggle-browser.mjs", "test/qa-camera-tutorial-browser.mjs", "test/qa-first-shot-handoff-browser.mjs", "test/qa-tutorial-analytics-browser.mjs", "test/qa-camera-pointer-lock-browser.mjs", "test/qa-first-edit-browser.mjs", "test/qa-ia-tail-browser.mjs", "test/qa-keyframe-pack-browser.mjs", "test/qa-preview-browser.mjs", "test/qa-reference-slots-browser.mjs", "test/qa-scene-playback-browser.mjs", "test/qa-scene-switcher-browser.mjs", "test/qa-send-to-ai-browser.mjs", "test/qa-view-menu-browser.mjs", "test/qa-live-reconnect-browser.mjs", "test/qa-clipboard-paste-browser.mjs", "test/qa-rail-lean-browser.mjs", "test/qa-rail-reach-browser.mjs", "test/qa-rail-ring-browser.mjs", "test/qa-speed-graph-browser.mjs"];
379
266
 
380
267
  EXTRA_INVENTORY.push("test/qa-proxy-figure-browser.mjs");
381
268
  EXTRA_INVENTORY.push("test/qa-proxy-entry-browser.mjs");
@@ -466,10 +353,8 @@ function run(file, { buffered }) {
466
353
  // instead of by luck. Everything else picks its port inside the process that
467
354
  // keeps it.
468
355
  const SERIAL_ONLY = new Set([
469
- "test/process/verify-bridge-launch.mjs",
470
356
  "mcp/verify-http-origin.mjs",
471
357
  "mcp/verify-live-controller.mjs",
472
- "mcp/verify-live-motion-job.mjs",
473
358
  "mcp/verify-live-p0.mjs",
474
359
  "mcp/verify-live-port.mjs",
475
360
  "mcp/verify-live-routing.mjs",
@@ -479,7 +364,6 @@ const SERIAL_ONLY = new Set([
479
364
  const SLOW_FIRST = [
480
365
  "test/verify-studio-agent-motion.mjs",
481
366
  "test/verify-studio-agent-binding.mjs",
482
- "test/ardy/verify-gvhmr-floor.mjs",
483
367
  "test/verify-part-colours.mjs",
484
368
  "test/verify-agent-runner-errors.mjs",
485
369
  ];
@@ -508,7 +392,7 @@ async function runAll(files, jobs) {
508
392
  // but older 22.x installs are still common enough that the manifest should
509
393
  // degrade gracefully instead of aborting the whole run.
510
394
  const NODE_SQLITE_MIN = [22, 13, 0];
511
- const NODE_SQLITE_FILES = ["test/demo/verify-ops.mjs", "test/demo/verify-queue-concurrency.mjs"];
395
+ const NODE_SQLITE_FILES = [];
512
396
 
513
397
  function meetsMinimumNodeVersion([major, minor, patch], current = process.versions.node) {
514
398
  const [currentMajor, currentMinor, currentPatch] = current.split(".").map(Number);
@@ -1,76 +0,0 @@
1
- // Stream decoding retained for the legacy MCP bridge client. Studio motion
2
- // jobs run exclusively in the editor command bus; this module owns no jobs.
3
- import { StudioProtocolError } from "../../src/studio-agent-protocol.js";
4
-
5
- const motionUrlPattern = /^\/(ardy\/motions\/[0-9]+-[0-9a-f]{6}|ardy\/assembled\/[A-Za-z0-9._-]+\.npz)$/;
6
- const error = (code, message) => new StudioProtocolError(code, message);
7
- const MAX_RECORD_BYTES = 64 * 1024;
8
-
9
- /** EOF is a record boundary, not a success signal. */
10
- export function extractNdjsonRecords(buffer, { final = false } = {}) {
11
- if (typeof buffer !== "string") throw new TypeError("NDJSON buffer must be a string");
12
- const lines = buffer.split("\n");
13
- const remainder = final ? "" : lines.pop();
14
- const records = [];
15
- for (const line of lines) {
16
- if (Buffer.byteLength(line) > MAX_RECORD_BYTES) throw error("BACKEND_UNAVAILABLE", "Bridge record exceeds limit");
17
- if (line.trim()) {
18
- try { records.push(JSON.parse(line)); }
19
- catch { throw error("BACKEND_UNAVAILABLE", final ? "Malformed final NDJSON record" : "Malformed NDJSON record"); }
20
- }
21
- }
22
- if (Buffer.byteLength(remainder) > MAX_RECORD_BYTES) throw error("BACKEND_UNAVAILABLE", "Bridge record exceeds limit");
23
- return { records, remainder };
24
- }
25
- async function refusalReason(response) {
26
- if (!response.body) return null;
27
- let body = "";
28
- try {
29
- const reader = response.body.getReader(); const decoder = new TextDecoder(); let bytes = 0;
30
- try {
31
- while (bytes < 64 * 1024) {
32
- const chunk = await reader.read(); if (chunk.done) break;
33
- const part = chunk.value.subarray(0, 64 * 1024 - bytes); bytes += part.byteLength; body += decoder.decode(part, { stream: bytes < 64 * 1024 });
34
- if (part.byteLength < chunk.value.byteLength) break;
35
- }
36
- } finally { await reader.cancel().catch(() => {}); reader.releaseLock(); }
37
- } catch { return null; }
38
- try {
39
- const value = JSON.parse(body);
40
- for (const key of ["reason", "error", "message"]) if (typeof value?.[key] === "string" && value[key].trim()) return value[key].trim();
41
- } catch {}
42
- return null;
43
- }
44
- export async function readMotionStream(response, { onProgress = () => {} } = {}) {
45
- if (!response.ok || !response.body) {
46
- const reason = response.ok ? null : await refusalReason(response);
47
- if (response.status === 400) throw error("INVALID_ARGUMENT", `Bridge refused the request${reason ? `: ${reason}` : ""}`);
48
- throw error("BACKEND_UNAVAILABLE", `Generation refused (HTTP ${response.status})${reason ? `: ${reason}` : ""}`);
49
- }
50
- const reader = response.body.getReader(); const decoder = new TextDecoder("utf-8", { fatal: true });
51
- let buffer = "", motionUrl = null, finished = false;
52
- try {
53
- for (;;) {
54
- const chunk = await reader.read();
55
- buffer += chunk.done ? decoder.decode() : decoder.decode(chunk.value, { stream: true });
56
- const parsed = extractNdjsonRecords(buffer, { final: chunk.done }); buffer = parsed.remainder;
57
- for (const record of parsed.records) {
58
- if (!record || typeof record !== "object" || typeof record.event !== "string") throw error("BACKEND_UNAVAILABLE", "Invalid bridge record");
59
- if (record.event === "error") {
60
- const detail = [record.message, record.reason, record.error].find(value => typeof value === "string" && value.trim());
61
- throw error("BACKEND_UNAVAILABLE", `Generator reported an error${detail ? `: ${detail.trim()}` : ""}`);
62
- }
63
- if (record.event === "done") {
64
- if (typeof record.motionUrl !== "string" || !motionUrlPattern.test(record.motionUrl)) throw error("BACKEND_UNAVAILABLE", "Generator returned an invalid motion URL");
65
- if (motionUrl && motionUrl !== record.motionUrl) throw error("BACKEND_UNAVAILABLE", "Conflicting final artifacts");
66
- motionUrl = record.motionUrl;
67
- } else if (Number.isFinite(record.progress)) onProgress(record.progress);
68
- }
69
- if (chunk.done) { finished = true; break; }
70
- }
71
- if (!motionUrl) throw error("BACKEND_UNAVAILABLE", "Generation ended without a motion");
72
- return motionUrl;
73
- } finally {
74
- try { if (!finished) await reader.cancel(); } finally { reader.releaseLock(); }
75
- }
76
- }