@dreamerbird/camera-studio 0.0.0-stage → 0.2.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 (837) hide show
  1. package/LICENSE +866 -0
  2. package/assets/models/Y Bot.glb +0 -0
  3. package/assets/poseThumbs/qbx-hands-01-base-base-l.png +0 -0
  4. package/assets/poseThumbs/qbx-hands-01-base-base-r.png +0 -0
  5. package/assets/poseThumbs/qbx-hands-01-base-point-relaxed-l.png +0 -0
  6. package/assets/poseThumbs/qbx-hands-01-base-point-relaxed-r.png +0 -0
  7. package/assets/poseThumbs/qbx-hands-01-base-point-straight-l.png +0 -0
  8. package/assets/poseThumbs/qbx-hands-01-base-point-straight-r.png +0 -0
  9. package/assets/poseThumbs/qbx-hands-01-base-relaxed-01-l.png +0 -0
  10. package/assets/poseThumbs/qbx-hands-01-base-relaxed-01-r.png +0 -0
  11. package/assets/poseThumbs/qbx-hands-01-base-relaxed-02-l.png +0 -0
  12. package/assets/poseThumbs/qbx-hands-01-base-relaxed-02-r.png +0 -0
  13. package/assets/poseThumbs/qbx-hands-01-base-relaxed-03-l.png +0 -0
  14. package/assets/poseThumbs/qbx-hands-01-base-relaxed-03-r.png +0 -0
  15. package/assets/poseThumbs/qbx-hands-01-base-relaxed-04-l.png +0 -0
  16. package/assets/poseThumbs/qbx-hands-01-base-relaxed-04-r.png +0 -0
  17. package/assets/poseThumbs/qbx-hands-01-base-relaxed-05-l.png +0 -0
  18. package/assets/poseThumbs/qbx-hands-01-base-relaxed-05-r.png +0 -0
  19. package/assets/poseThumbs/qbx-hands-01-base-relaxed-06-l.png +0 -0
  20. package/assets/poseThumbs/qbx-hands-01-base-relaxed-06-r.png +0 -0
  21. package/assets/poseThumbs/qbx-hands-02-other-bowl-l.png +0 -0
  22. package/assets/poseThumbs/qbx-hands-02-other-bowl-r.png +0 -0
  23. package/assets/poseThumbs/qbx-hands-02-other-card-l.png +0 -0
  24. package/assets/poseThumbs/qbx-hands-02-other-card-r.png +0 -0
  25. package/assets/poseThumbs/qbx-hands-02-other-claw-l.png +0 -0
  26. package/assets/poseThumbs/qbx-hands-02-other-claw-r.png +0 -0
  27. package/assets/poseThumbs/qbx-hands-02-other-fist-l.png +0 -0
  28. package/assets/poseThumbs/qbx-hands-02-other-fist-r.png +0 -0
  29. package/assets/poseThumbs/qbx-hands-02-other-grip-l.png +0 -0
  30. package/assets/poseThumbs/qbx-hands-02-other-grip-r.png +0 -0
  31. package/assets/poseThumbs/qbx-hands-02-other-ko-l.png +0 -0
  32. package/assets/poseThumbs/qbx-hands-02-other-ko-r.png +0 -0
  33. package/assets/poseThumbs/qbx-hands-02-other-nail-check-01-l.png +0 -0
  34. package/assets/poseThumbs/qbx-hands-02-other-nail-check-01-r.png +0 -0
  35. package/assets/poseThumbs/qbx-hands-02-other-nail-check-02-l.png +0 -0
  36. package/assets/poseThumbs/qbx-hands-02-other-nail-check-02-r.png +0 -0
  37. package/assets/poseThumbs/qbx-hands-02-other-offer-l.png +0 -0
  38. package/assets/poseThumbs/qbx-hands-02-other-offer-r.png +0 -0
  39. package/assets/poseThumbs/qbx-hands-02-other-push-l.png +0 -0
  40. package/assets/poseThumbs/qbx-hands-02-other-push-r.png +0 -0
  41. package/assets/poseThumbs/qbx-hands-02-other-push-the-button-l.png +0 -0
  42. package/assets/poseThumbs/qbx-hands-02-other-push-the-button-r.png +0 -0
  43. package/assets/poseThumbs/qbx-hands-02-other-scratch-l.png +0 -0
  44. package/assets/poseThumbs/qbx-hands-02-other-scratch-r.png +0 -0
  45. package/assets/poseThumbs/qbx-hands-02-other-spread-l.png +0 -0
  46. package/assets/poseThumbs/qbx-hands-02-other-spread-r.png +0 -0
  47. package/assets/poseThumbs/qbx-hands-02-other-write-l.png +0 -0
  48. package/assets/poseThumbs/qbx-hands-02-other-write-r.png +0 -0
  49. package/assets/poseThumbs/qbx-hands-03-signs-cobblepot-l.png +0 -0
  50. package/assets/poseThumbs/qbx-hands-03-signs-cobblepot-r.png +0 -0
  51. package/assets/poseThumbs/qbx-hands-03-signs-fingers-crossed-l.png +0 -0
  52. package/assets/poseThumbs/qbx-hands-03-signs-fingers-crossed-r.png +0 -0
  53. package/assets/poseThumbs/qbx-hands-03-signs-five-l.png +0 -0
  54. package/assets/poseThumbs/qbx-hands-03-signs-five-r.png +0 -0
  55. package/assets/poseThumbs/qbx-hands-03-signs-four-l.png +0 -0
  56. package/assets/poseThumbs/qbx-hands-03-signs-four-r.png +0 -0
  57. package/assets/poseThumbs/qbx-hands-03-signs-four-ring-l.png +0 -0
  58. package/assets/poseThumbs/qbx-hands-03-signs-four-ring-r.png +0 -0
  59. package/assets/poseThumbs/qbx-hands-03-signs-fu-l.png +0 -0
  60. package/assets/poseThumbs/qbx-hands-03-signs-fu-r.png +0 -0
  61. package/assets/poseThumbs/qbx-hands-03-signs-index-l.png +0 -0
  62. package/assets/poseThumbs/qbx-hands-03-signs-index-r.png +0 -0
  63. package/assets/poseThumbs/qbx-hands-03-signs-martian-reactor-switch-l.png +0 -0
  64. package/assets/poseThumbs/qbx-hands-03-signs-martian-reactor-switch-r.png +0 -0
  65. package/assets/poseThumbs/qbx-hands-03-signs-one-does-not-simply-l.png +0 -0
  66. package/assets/poseThumbs/qbx-hands-03-signs-one-does-not-simply-r.png +0 -0
  67. package/assets/poseThumbs/qbx-hands-03-signs-peace-flipped-r.png +0 -0
  68. package/assets/poseThumbs/qbx-hands-03-signs-peace-flipped.png +0 -0
  69. package/assets/poseThumbs/qbx-hands-03-signs-peace-l.png +0 -0
  70. package/assets/poseThumbs/qbx-hands-03-signs-peace-r.png +0 -0
  71. package/assets/poseThumbs/qbx-hands-03-signs-perfect-l.png +0 -0
  72. package/assets/poseThumbs/qbx-hands-03-signs-perfect-r.png +0 -0
  73. package/assets/poseThumbs/qbx-hands-03-signs-pinky-swear-l.png +0 -0
  74. package/assets/poseThumbs/qbx-hands-03-signs-pinky-swear-r.png +0 -0
  75. package/assets/poseThumbs/qbx-hands-03-signs-rock-out-l.png +0 -0
  76. package/assets/poseThumbs/qbx-hands-03-signs-rock-out-r.png +0 -0
  77. package/assets/poseThumbs/qbx-hands-03-signs-scout-salute-l.png +0 -0
  78. package/assets/poseThumbs/qbx-hands-03-signs-scout-salute-r.png +0 -0
  79. package/assets/poseThumbs/qbx-hands-03-signs-spock-l.png +0 -0
  80. package/assets/poseThumbs/qbx-hands-03-signs-spock-r.png +0 -0
  81. package/assets/poseThumbs/qbx-hands-03-signs-stop-l.png +0 -0
  82. package/assets/poseThumbs/qbx-hands-03-signs-stop-r.png +0 -0
  83. package/assets/poseThumbs/qbx-hands-03-signs-surf-s-up-flipped-l.png +0 -0
  84. package/assets/poseThumbs/qbx-hands-03-signs-surf-s-up-flipped-r.png +0 -0
  85. package/assets/poseThumbs/qbx-hands-03-signs-surf-s-up-l.png +0 -0
  86. package/assets/poseThumbs/qbx-hands-03-signs-surf-s-up-r.png +0 -0
  87. package/assets/poseThumbs/qbx-hands-03-signs-three-hicox-l.png +0 -0
  88. package/assets/poseThumbs/qbx-hands-03-signs-three-hicox-r.png +0 -0
  89. package/assets/poseThumbs/qbx-hands-03-signs-three-l.png +0 -0
  90. package/assets/poseThumbs/qbx-hands-03-signs-three-r.png +0 -0
  91. package/assets/poseThumbs/qbx-hands-03-signs-three-ring-l.png +0 -0
  92. package/assets/poseThumbs/qbx-hands-03-signs-three-ring-r.png +0 -0
  93. package/assets/poseThumbs/qbx-hands-03-signs-thumbs-up-l.png +0 -0
  94. package/assets/poseThumbs/qbx-hands-03-signs-thumbs-up-r.png +0 -0
  95. package/assets/poseThumbs/qbx-hands-04-weapons-detonator-l.png +0 -0
  96. package/assets/poseThumbs/qbx-hands-04-weapons-detonator-r.png +0 -0
  97. package/assets/poseThumbs/qbx-hands-04-weapons-grip-sword-l.png +0 -0
  98. package/assets/poseThumbs/qbx-hands-04-weapons-grip-sword-r.png +0 -0
  99. package/assets/poseThumbs/qbx-hands-04-weapons-gun-01-l.png +0 -0
  100. package/assets/poseThumbs/qbx-hands-04-weapons-gun-01-r.png +0 -0
  101. package/assets/poseThumbs/qbx-hands-04-weapons-gun-02-l.png +0 -0
  102. package/assets/poseThumbs/qbx-hands-04-weapons-gun-02-r.png +0 -0
  103. package/assets/poseThumbs/qbx-hands-04-weapons-gun-03-l-cock-the-hammer.png +0 -0
  104. package/assets/poseThumbs/qbx-hands-04-weapons-gun-03-r-cock-the-hammer.png +0 -0
  105. package/assets/poseThumbs/qbx-hands-04-weapons-hadoken-l.png +0 -0
  106. package/assets/poseThumbs/qbx-hands-04-weapons-hadoken-r.png +0 -0
  107. package/assets/poseThumbs/qbx-hands-04-weapons-pistol-double-l.png +0 -0
  108. package/assets/poseThumbs/qbx-hands-04-weapons-pistol-double-r.png +0 -0
  109. package/assets/poseThumbs/qbx-hands-04-weapons-pistol-l.png +0 -0
  110. package/assets/poseThumbs/qbx-hands-04-weapons-pistol-r.png +0 -0
  111. package/assets/poseThumbs/qbx-hands-04-weapons-throw-l.png +0 -0
  112. package/assets/poseThumbs/qbx-hands-04-weapons-throw-r.png +0 -0
  113. package/dist/Anchors.d.ts +11 -0
  114. package/dist/Anchors.d.ts.map +1 -0
  115. package/dist/Anchors.js +315 -0
  116. package/dist/App.hostFlows.test.d.ts +2 -0
  117. package/dist/App.hostFlows.test.d.ts.map +1 -0
  118. package/dist/App.hostFlows.test.js +48 -0
  119. package/dist/CameraPath.d.ts +130 -0
  120. package/dist/CameraPath.d.ts.map +1 -0
  121. package/dist/CameraPath.js +920 -0
  122. package/dist/CameraScene.d.ts +45 -0
  123. package/dist/CameraScene.d.ts.map +1 -0
  124. package/dist/CameraScene.js +1777 -0
  125. package/dist/CameraScene.test.d.ts +2 -0
  126. package/dist/CameraScene.test.d.ts.map +1 -0
  127. package/dist/CameraScene.test.js +259 -0
  128. package/dist/PathPresetDropRig.d.ts +27 -0
  129. package/dist/PathPresetDropRig.d.ts.map +1 -0
  130. package/dist/PathPresetDropRig.js +192 -0
  131. package/dist/PathPresetThumb.d.ts +11 -0
  132. package/dist/PathPresetThumb.d.ts.map +1 -0
  133. package/dist/PathPresetThumb.js +85 -0
  134. package/dist/PipCameraSelector.d.ts +15 -0
  135. package/dist/PipCameraSelector.d.ts.map +1 -0
  136. package/dist/PipCameraSelector.js +92 -0
  137. package/dist/PlacementManager.d.ts +252 -0
  138. package/dist/PlacementManager.d.ts.map +1 -0
  139. package/dist/PlacementManager.js +1552 -0
  140. package/dist/ShotCamera.d.ts +21 -0
  141. package/dist/ShotCamera.d.ts.map +1 -0
  142. package/dist/ShotCamera.js +568 -0
  143. package/dist/TopToolbar.d.ts +43 -0
  144. package/dist/TopToolbar.d.ts.map +1 -0
  145. package/dist/TopToolbar.js +167 -0
  146. package/dist/TopToolbar.test.d.ts +2 -0
  147. package/dist/TopToolbar.test.d.ts.map +1 -0
  148. package/dist/TopToolbar.test.js +107 -0
  149. package/dist/agent/api.d.ts +95 -0
  150. package/dist/agent/api.d.ts.map +1 -0
  151. package/dist/agent/api.js +337 -0
  152. package/dist/agent/api.test.d.ts +2 -0
  153. package/dist/agent/api.test.d.ts.map +1 -0
  154. package/dist/agent/api.test.js +907 -0
  155. package/dist/agent/bridgeClient.d.ts +62 -0
  156. package/dist/agent/bridgeClient.d.ts.map +1 -0
  157. package/dist/agent/bridgeClient.js +277 -0
  158. package/dist/agent/bridgeClient.test.d.ts +2 -0
  159. package/dist/agent/bridgeClient.test.d.ts.map +1 -0
  160. package/dist/agent/bridgeClient.test.js +413 -0
  161. package/dist/agent/bridgeFiles.d.ts +33 -0
  162. package/dist/agent/bridgeFiles.d.ts.map +1 -0
  163. package/dist/agent/bridgeFiles.js +193 -0
  164. package/dist/agent/bridgeFiles.test.d.ts +2 -0
  165. package/dist/agent/bridgeFiles.test.d.ts.map +1 -0
  166. package/dist/agent/bridgeFiles.test.js +220 -0
  167. package/dist/agent/commands/anchors.d.ts +43 -0
  168. package/dist/agent/commands/anchors.d.ts.map +1 -0
  169. package/dist/agent/commands/anchors.js +331 -0
  170. package/dist/agent/commands/anchors.test.d.ts +2 -0
  171. package/dist/agent/commands/anchors.test.d.ts.map +1 -0
  172. package/dist/agent/commands/anchors.test.js +447 -0
  173. package/dist/agent/commands/animations.d.ts +47 -0
  174. package/dist/agent/commands/animations.d.ts.map +1 -0
  175. package/dist/agent/commands/animations.js +245 -0
  176. package/dist/agent/commands/animations.test.d.ts +2 -0
  177. package/dist/agent/commands/animations.test.d.ts.map +1 -0
  178. package/dist/agent/commands/animations.test.js +426 -0
  179. package/dist/agent/commands/assets.d.ts +34 -0
  180. package/dist/agent/commands/assets.d.ts.map +1 -0
  181. package/dist/agent/commands/assets.js +367 -0
  182. package/dist/agent/commands/assets.test.d.ts +2 -0
  183. package/dist/agent/commands/assets.test.d.ts.map +1 -0
  184. package/dist/agent/commands/assets.test.js +405 -0
  185. package/dist/agent/commands/bindings.realStudio.test.d.ts +21 -0
  186. package/dist/agent/commands/bindings.realStudio.test.d.ts.map +1 -0
  187. package/dist/agent/commands/bindings.realStudio.test.js +281 -0
  188. package/dist/agent/commands/cameras.d.ts +65 -0
  189. package/dist/agent/commands/cameras.d.ts.map +1 -0
  190. package/dist/agent/commands/cameras.js +498 -0
  191. package/dist/agent/commands/cameras.test.d.ts +2 -0
  192. package/dist/agent/commands/cameras.test.d.ts.map +1 -0
  193. package/dist/agent/commands/cameras.test.js +560 -0
  194. package/dist/agent/commands/delete.test.d.ts +2 -0
  195. package/dist/agent/commands/delete.test.d.ts.map +1 -0
  196. package/dist/agent/commands/delete.test.js +518 -0
  197. package/dist/agent/commands/exports.d.ts +12 -0
  198. package/dist/agent/commands/exports.d.ts.map +1 -0
  199. package/dist/agent/commands/exports.js +132 -0
  200. package/dist/agent/commands/exports.test.d.ts +2 -0
  201. package/dist/agent/commands/exports.test.d.ts.map +1 -0
  202. package/dist/agent/commands/exports.test.js +402 -0
  203. package/dist/agent/commands/history.d.ts +17 -0
  204. package/dist/agent/commands/history.d.ts.map +1 -0
  205. package/dist/agent/commands/history.js +96 -0
  206. package/dist/agent/commands/history.test.d.ts +2 -0
  207. package/dist/agent/commands/history.test.d.ts.map +1 -0
  208. package/dist/agent/commands/history.test.js +140 -0
  209. package/dist/agent/commands/jobs.d.ts +23 -0
  210. package/dist/agent/commands/jobs.d.ts.map +1 -0
  211. package/dist/agent/commands/jobs.js +66 -0
  212. package/dist/agent/commands/keyframes.d.ts +42 -0
  213. package/dist/agent/commands/keyframes.d.ts.map +1 -0
  214. package/dist/agent/commands/keyframes.js +310 -0
  215. package/dist/agent/commands/keyframes.realStudio.test.d.ts +11 -0
  216. package/dist/agent/commands/keyframes.realStudio.test.d.ts.map +1 -0
  217. package/dist/agent/commands/keyframes.realStudio.test.js +95 -0
  218. package/dist/agent/commands/keyframes.test.d.ts +2 -0
  219. package/dist/agent/commands/keyframes.test.d.ts.map +1 -0
  220. package/dist/agent/commands/keyframes.test.js +474 -0
  221. package/dist/agent/commands/models.d.ts +34 -0
  222. package/dist/agent/commands/models.d.ts.map +1 -0
  223. package/dist/agent/commands/models.js +137 -0
  224. package/dist/agent/commands/models.test.d.ts +2 -0
  225. package/dist/agent/commands/models.test.d.ts.map +1 -0
  226. package/dist/agent/commands/models.test.js +268 -0
  227. package/dist/agent/commands/objects.d.ts +4 -0
  228. package/dist/agent/commands/objects.d.ts.map +1 -0
  229. package/dist/agent/commands/objects.js +182 -0
  230. package/dist/agent/commands/objects.test.d.ts +2 -0
  231. package/dist/agent/commands/objects.test.d.ts.map +1 -0
  232. package/dist/agent/commands/objects.test.js +316 -0
  233. package/dist/agent/commands/paths.d.ts +111 -0
  234. package/dist/agent/commands/paths.d.ts.map +1 -0
  235. package/dist/agent/commands/paths.js +576 -0
  236. package/dist/agent/commands/paths.test.d.ts +2 -0
  237. package/dist/agent/commands/paths.test.d.ts.map +1 -0
  238. package/dist/agent/commands/paths.test.js +773 -0
  239. package/dist/agent/commands/poses.d.ts +101 -0
  240. package/dist/agent/commands/poses.d.ts.map +1 -0
  241. package/dist/agent/commands/poses.js +500 -0
  242. package/dist/agent/commands/poses.realStudio.test.d.ts +15 -0
  243. package/dist/agent/commands/poses.realStudio.test.d.ts.map +1 -0
  244. package/dist/agent/commands/poses.realStudio.test.js +161 -0
  245. package/dist/agent/commands/poses.test.d.ts +2 -0
  246. package/dist/agent/commands/poses.test.d.ts.map +1 -0
  247. package/dist/agent/commands/poses.test.js +735 -0
  248. package/dist/agent/commands/project.d.ts +12 -0
  249. package/dist/agent/commands/project.d.ts.map +1 -0
  250. package/dist/agent/commands/project.js +42 -0
  251. package/dist/agent/commands/project.test.d.ts +2 -0
  252. package/dist/agent/commands/project.test.d.ts.map +1 -0
  253. package/dist/agent/commands/project.test.js +125 -0
  254. package/dist/agent/commands/revision.realStudio.test.d.ts +14 -0
  255. package/dist/agent/commands/revision.realStudio.test.d.ts.map +1 -0
  256. package/dist/agent/commands/revision.realStudio.test.js +129 -0
  257. package/dist/agent/commands/scene.d.ts +32 -0
  258. package/dist/agent/commands/scene.d.ts.map +1 -0
  259. package/dist/agent/commands/scene.js +100 -0
  260. package/dist/agent/commands/scene.test.d.ts +2 -0
  261. package/dist/agent/commands/scene.test.d.ts.map +1 -0
  262. package/dist/agent/commands/scene.test.js +147 -0
  263. package/dist/agent/commands/selection.d.ts +21 -0
  264. package/dist/agent/commands/selection.d.ts.map +1 -0
  265. package/dist/agent/commands/selection.js +101 -0
  266. package/dist/agent/commands/selection.test.d.ts +2 -0
  267. package/dist/agent/commands/selection.test.d.ts.map +1 -0
  268. package/dist/agent/commands/selection.test.js +173 -0
  269. package/dist/agent/commands/sequence.d.ts +25 -0
  270. package/dist/agent/commands/sequence.d.ts.map +1 -0
  271. package/dist/agent/commands/sequence.js +174 -0
  272. package/dist/agent/commands/sequence.test.d.ts +2 -0
  273. package/dist/agent/commands/sequence.test.d.ts.map +1 -0
  274. package/dist/agent/commands/sequence.test.js +264 -0
  275. package/dist/agent/commands/ui.d.ts +40 -0
  276. package/dist/agent/commands/ui.d.ts.map +1 -0
  277. package/dist/agent/commands/ui.js +166 -0
  278. package/dist/agent/commands/view.d.ts +61 -0
  279. package/dist/agent/commands/view.d.ts.map +1 -0
  280. package/dist/agent/commands/view.js +229 -0
  281. package/dist/agent/commands/view.test.d.ts +2 -0
  282. package/dist/agent/commands/view.test.d.ts.map +1 -0
  283. package/dist/agent/commands/view.test.js +347 -0
  284. package/dist/agent/contractCoverage.test.d.ts +2 -0
  285. package/dist/agent/contractCoverage.test.d.ts.map +1 -0
  286. package/dist/agent/contractCoverage.test.js +87 -0
  287. package/dist/agent/deleteHandlers.d.ts +61 -0
  288. package/dist/agent/deleteHandlers.d.ts.map +1 -0
  289. package/dist/agent/deleteHandlers.js +41 -0
  290. package/dist/agent/errors.d.ts +24 -0
  291. package/dist/agent/errors.d.ts.map +1 -0
  292. package/dist/agent/errors.js +59 -0
  293. package/dist/agent/errors.test.d.ts +2 -0
  294. package/dist/agent/errors.test.d.ts.map +1 -0
  295. package/dist/agent/errors.test.js +25 -0
  296. package/dist/agent/expectedCommands.d.ts +9 -0
  297. package/dist/agent/expectedCommands.d.ts.map +1 -0
  298. package/dist/agent/expectedCommands.js +79 -0
  299. package/dist/agent/jobs.d.ts +52 -0
  300. package/dist/agent/jobs.d.ts.map +1 -0
  301. package/dist/agent/jobs.js +175 -0
  302. package/dist/agent/jobs.test.d.ts +2 -0
  303. package/dist/agent/jobs.test.d.ts.map +1 -0
  304. package/dist/agent/jobs.test.js +281 -0
  305. package/dist/agent/keyframeTracks.d.ts +57 -0
  306. package/dist/agent/keyframeTracks.d.ts.map +1 -0
  307. package/dist/agent/keyframeTracks.js +127 -0
  308. package/dist/agent/objectIds.d.ts +7 -0
  309. package/dist/agent/objectIds.d.ts.map +1 -0
  310. package/dist/agent/objectIds.js +20 -0
  311. package/dist/agent/objectIds.test.d.ts +2 -0
  312. package/dist/agent/objectIds.test.d.ts.map +1 -0
  313. package/dist/agent/objectIds.test.js +10 -0
  314. package/dist/agent/objectResolver.d.ts +34 -0
  315. package/dist/agent/objectResolver.d.ts.map +1 -0
  316. package/dist/agent/objectResolver.js +112 -0
  317. package/dist/agent/pathCommands.d.ts +78 -0
  318. package/dist/agent/pathCommands.d.ts.map +1 -0
  319. package/dist/agent/pathCommands.js +240 -0
  320. package/dist/agent/propAccess.d.ts +42 -0
  321. package/dist/agent/propAccess.d.ts.map +1 -0
  322. package/dist/agent/propAccess.js +181 -0
  323. package/dist/agent/registerCommands.d.ts +9 -0
  324. package/dist/agent/registerCommands.d.ts.map +1 -0
  325. package/dist/agent/registerCommands.js +77 -0
  326. package/dist/agent/registry.d.ts +33 -0
  327. package/dist/agent/registry.d.ts.map +1 -0
  328. package/dist/agent/registry.js +55 -0
  329. package/dist/agent/registry.test.d.ts +2 -0
  330. package/dist/agent/registry.test.d.ts.map +1 -0
  331. package/dist/agent/registry.test.js +106 -0
  332. package/dist/agent/runtime/animationStatus.d.ts +25 -0
  333. package/dist/agent/runtime/animationStatus.d.ts.map +1 -0
  334. package/dist/agent/runtime/animationStatus.js +13 -0
  335. package/dist/agent/runtime/cameraLifecycle.d.ts +37 -0
  336. package/dist/agent/runtime/cameraLifecycle.d.ts.map +1 -0
  337. package/dist/agent/runtime/cameraLifecycle.js +112 -0
  338. package/dist/agent/runtime/directorView.d.ts +42 -0
  339. package/dist/agent/runtime/directorView.d.ts.map +1 -0
  340. package/dist/agent/runtime/directorView.js +27 -0
  341. package/dist/agent/runtime/exportRuntime.d.ts +95 -0
  342. package/dist/agent/runtime/exportRuntime.d.ts.map +1 -0
  343. package/dist/agent/runtime/exportRuntime.js +227 -0
  344. package/dist/agent/runtime/objectRuntime.d.ts +26 -0
  345. package/dist/agent/runtime/objectRuntime.d.ts.map +1 -0
  346. package/dist/agent/runtime/objectRuntime.js +29 -0
  347. package/dist/agent/runtime/pathRuntime.d.ts +21 -0
  348. package/dist/agent/runtime/pathRuntime.d.ts.map +1 -0
  349. package/dist/agent/runtime/pathRuntime.js +13 -0
  350. package/dist/agent/runtime/placementLifecycle.d.ts +34 -0
  351. package/dist/agent/runtime/placementLifecycle.d.ts.map +1 -0
  352. package/dist/agent/runtime/placementLifecycle.js +63 -0
  353. package/dist/agent/runtime/placementLifecycle.test.d.ts +2 -0
  354. package/dist/agent/runtime/placementLifecycle.test.d.ts.map +1 -0
  355. package/dist/agent/runtime/placementLifecycle.test.js +68 -0
  356. package/dist/agent/runtime/poseSessionRuntime.d.ts +17 -0
  357. package/dist/agent/runtime/poseSessionRuntime.d.ts.map +1 -0
  358. package/dist/agent/runtime/poseSessionRuntime.js +64 -0
  359. package/dist/agent/runtime.d.ts +67 -0
  360. package/dist/agent/runtime.d.ts.map +1 -0
  361. package/dist/agent/runtime.js +214 -0
  362. package/dist/agent/runtime.test.d.ts +2 -0
  363. package/dist/agent/runtime.test.d.ts.map +1 -0
  364. package/dist/agent/runtime.test.js +142 -0
  365. package/dist/agent/sequenceLength.d.ts +20 -0
  366. package/dist/agent/sequenceLength.d.ts.map +1 -0
  367. package/dist/agent/sequenceLength.js +18 -0
  368. package/dist/agent/types.d.ts +70 -0
  369. package/dist/agent/types.d.ts.map +1 -0
  370. package/dist/agent/types.js +6 -0
  371. package/dist/agent/validation.d.ts +7 -0
  372. package/dist/agent/validation.d.ts.map +1 -0
  373. package/dist/agent/validation.js +39 -0
  374. package/dist/aimTargets.d.ts +128 -0
  375. package/dist/aimTargets.d.ts.map +1 -0
  376. package/dist/aimTargets.js +367 -0
  377. package/dist/aimTargets.test.d.ts +2 -0
  378. package/dist/aimTargets.test.d.ts.map +1 -0
  379. package/dist/aimTargets.test.js +84 -0
  380. package/dist/anchorParenting.test.d.ts +2 -0
  381. package/dist/anchorParenting.test.d.ts.map +1 -0
  382. package/dist/anchorParenting.test.js +87 -0
  383. package/dist/anchorsRegistry.d.ts +45 -0
  384. package/dist/anchorsRegistry.d.ts.map +1 -0
  385. package/dist/anchorsRegistry.js +101 -0
  386. package/dist/anchorsRegistry.test.d.ts +2 -0
  387. package/dist/anchorsRegistry.test.d.ts.map +1 -0
  388. package/dist/anchorsRegistry.test.js +29 -0
  389. package/dist/assetLibrary/AssetLibraryPanel.d.ts +35 -0
  390. package/dist/assetLibrary/AssetLibraryPanel.d.ts.map +1 -0
  391. package/dist/assetLibrary/AssetLibraryPanel.js +544 -0
  392. package/dist/assetLibrary/AssetLibraryPanel.viewer.test.d.ts +2 -0
  393. package/dist/assetLibrary/AssetLibraryPanel.viewer.test.d.ts.map +1 -0
  394. package/dist/assetLibrary/AssetLibraryPanel.viewer.test.js +133 -0
  395. package/dist/assetLibrary/ModelPickerSlot.d.ts +24 -0
  396. package/dist/assetLibrary/ModelPickerSlot.d.ts.map +1 -0
  397. package/dist/assetLibrary/ModelPickerSlot.js +32 -0
  398. package/dist/assetLibrary/catalogThumbs.d.ts +7 -0
  399. package/dist/assetLibrary/catalogThumbs.d.ts.map +1 -0
  400. package/dist/assetLibrary/catalogThumbs.js +75 -0
  401. package/dist/assetLibrary/classify.d.ts +14 -0
  402. package/dist/assetLibrary/classify.d.ts.map +1 -0
  403. package/dist/assetLibrary/classify.js +43 -0
  404. package/dist/assetLibrary/classify.test.d.ts +2 -0
  405. package/dist/assetLibrary/classify.test.d.ts.map +1 -0
  406. package/dist/assetLibrary/classify.test.js +44 -0
  407. package/dist/assetLibrary/contract.indexeddb.test.d.ts +2 -0
  408. package/dist/assetLibrary/contract.indexeddb.test.d.ts.map +1 -0
  409. package/dist/assetLibrary/contract.indexeddb.test.js +10 -0
  410. package/dist/assetLibrary/contractTests.d.ts +12 -0
  411. package/dist/assetLibrary/contractTests.d.ts.map +1 -0
  412. package/dist/assetLibrary/contractTests.js +51 -0
  413. package/dist/assetLibrary/dispose.d.ts +4 -0
  414. package/dist/assetLibrary/dispose.d.ts.map +1 -0
  415. package/dist/assetLibrary/dispose.js +21 -0
  416. package/dist/assetLibrary/draco.d.ts +6 -0
  417. package/dist/assetLibrary/draco.d.ts.map +1 -0
  418. package/dist/assetLibrary/draco.js +45 -0
  419. package/dist/assetLibrary/draco.test.d.ts +2 -0
  420. package/dist/assetLibrary/draco.test.d.ts.map +1 -0
  421. package/dist/assetLibrary/draco.test.js +93 -0
  422. package/dist/assetLibrary/exportGLB.d.ts +45 -0
  423. package/dist/assetLibrary/exportGLB.d.ts.map +1 -0
  424. package/dist/assetLibrary/exportGLB.js +125 -0
  425. package/dist/assetLibrary/exportGLB.test.d.ts +2 -0
  426. package/dist/assetLibrary/exportGLB.test.d.ts.map +1 -0
  427. package/dist/assetLibrary/exportGLB.test.js +127 -0
  428. package/dist/assetLibrary/gltfLoader.d.ts +8 -0
  429. package/dist/assetLibrary/gltfLoader.d.ts.map +1 -0
  430. package/dist/assetLibrary/gltfLoader.js +11 -0
  431. package/dist/assetLibrary/hash.d.ts +7 -0
  432. package/dist/assetLibrary/hash.d.ts.map +1 -0
  433. package/dist/assetLibrary/hash.js +17 -0
  434. package/dist/assetLibrary/importModelFile.d.ts +5 -0
  435. package/dist/assetLibrary/importModelFile.d.ts.map +1 -0
  436. package/dist/assetLibrary/importModelFile.js +19 -0
  437. package/dist/assetLibrary/importModelFile.test.d.ts +2 -0
  438. package/dist/assetLibrary/importModelFile.test.d.ts.map +1 -0
  439. package/dist/assetLibrary/importModelFile.test.js +77 -0
  440. package/dist/assetLibrary/importPipeline.d.ts +61 -0
  441. package/dist/assetLibrary/importPipeline.d.ts.map +1 -0
  442. package/dist/assetLibrary/importPipeline.js +253 -0
  443. package/dist/assetLibrary/importPipeline.test.d.ts +2 -0
  444. package/dist/assetLibrary/importPipeline.test.d.ts.map +1 -0
  445. package/dist/assetLibrary/importPipeline.test.js +188 -0
  446. package/dist/assetLibrary/indexedDBBackend.d.ts +31 -0
  447. package/dist/assetLibrary/indexedDBBackend.d.ts.map +1 -0
  448. package/dist/assetLibrary/indexedDBBackend.js +134 -0
  449. package/dist/assetLibrary/indexedDBBackend.test.d.ts +2 -0
  450. package/dist/assetLibrary/indexedDBBackend.test.d.ts.map +1 -0
  451. package/dist/assetLibrary/indexedDBBackend.test.js +148 -0
  452. package/dist/assetLibrary/legacySeedCleanup.d.ts +19 -0
  453. package/dist/assetLibrary/legacySeedCleanup.d.ts.map +1 -0
  454. package/dist/assetLibrary/legacySeedCleanup.js +50 -0
  455. package/dist/assetLibrary/legacySeedCleanup.test.d.ts +2 -0
  456. package/dist/assetLibrary/legacySeedCleanup.test.d.ts.map +1 -0
  457. package/dist/assetLibrary/legacySeedCleanup.test.js +74 -0
  458. package/dist/assetLibrary/library.d.ts +122 -0
  459. package/dist/assetLibrary/library.d.ts.map +1 -0
  460. package/dist/assetLibrary/library.js +424 -0
  461. package/dist/assetLibrary/library.test.d.ts +2 -0
  462. package/dist/assetLibrary/library.test.d.ts.map +1 -0
  463. package/dist/assetLibrary/library.test.js +520 -0
  464. package/dist/assetLibrary/options.d.ts +9 -0
  465. package/dist/assetLibrary/options.d.ts.map +1 -0
  466. package/dist/assetLibrary/options.js +20 -0
  467. package/dist/assetLibrary/options.test.d.ts +2 -0
  468. package/dist/assetLibrary/options.test.d.ts.map +1 -0
  469. package/dist/assetLibrary/options.test.js +70 -0
  470. package/dist/assetLibrary/pose.d.ts +15 -0
  471. package/dist/assetLibrary/pose.d.ts.map +1 -0
  472. package/dist/assetLibrary/pose.js +41 -0
  473. package/dist/assetLibrary/pose.test.d.ts +2 -0
  474. package/dist/assetLibrary/pose.test.d.ts.map +1 -0
  475. package/dist/assetLibrary/pose.test.js +45 -0
  476. package/dist/assetLibrary/poseThumbnail.d.ts +30 -0
  477. package/dist/assetLibrary/poseThumbnail.d.ts.map +1 -0
  478. package/dist/assetLibrary/poseThumbnail.js +144 -0
  479. package/dist/assetLibrary/poseThumbnail.test.d.ts +2 -0
  480. package/dist/assetLibrary/poseThumbnail.test.d.ts.map +1 -0
  481. package/dist/assetLibrary/poseThumbnail.test.js +111 -0
  482. package/dist/assetLibrary/rig.d.ts +14 -0
  483. package/dist/assetLibrary/rig.d.ts.map +1 -0
  484. package/dist/assetLibrary/rig.js +33 -0
  485. package/dist/assetLibrary/rig.test.d.ts +2 -0
  486. package/dist/assetLibrary/rig.test.d.ts.map +1 -0
  487. package/dist/assetLibrary/rig.test.js +55 -0
  488. package/dist/assetLibrary/seedAssetsManifest.d.ts +24 -0
  489. package/dist/assetLibrary/seedAssetsManifest.d.ts.map +1 -0
  490. package/dist/assetLibrary/seedAssetsManifest.js +347 -0
  491. package/dist/assetLibrary/seedBuiltinPoses.d.ts +29 -0
  492. package/dist/assetLibrary/seedBuiltinPoses.d.ts.map +1 -0
  493. package/dist/assetLibrary/seedBuiltinPoses.js +114 -0
  494. package/dist/assetLibrary/seedBuiltinPoses.test.d.ts +2 -0
  495. package/dist/assetLibrary/seedBuiltinPoses.test.d.ts.map +1 -0
  496. package/dist/assetLibrary/seedBuiltinPoses.test.js +176 -0
  497. package/dist/assetLibrary/seedPoses.d.ts +8 -0
  498. package/dist/assetLibrary/seedPoses.d.ts.map +1 -0
  499. package/dist/assetLibrary/seedPoses.js +2414 -0
  500. package/dist/assetLibrary/seedPosesDpl.d.ts +8 -0
  501. package/dist/assetLibrary/seedPosesDpl.d.ts.map +1 -0
  502. package/dist/assetLibrary/seedPosesDpl.js +11660 -0
  503. package/dist/assetLibrary/seedPosesQbx.d.ts +8 -0
  504. package/dist/assetLibrary/seedPosesQbx.d.ts.map +1 -0
  505. package/dist/assetLibrary/seedPosesQbx.js +5612 -0
  506. package/dist/assetLibrary/seedPosesQbx.test.d.ts +2 -0
  507. package/dist/assetLibrary/seedPosesQbx.test.d.ts.map +1 -0
  508. package/dist/assetLibrary/seedPosesQbx.test.js +181 -0
  509. package/dist/assetLibrary/source.d.ts +45 -0
  510. package/dist/assetLibrary/source.d.ts.map +1 -0
  511. package/dist/assetLibrary/source.js +11 -0
  512. package/dist/assetLibrary/source.test.d.ts +2 -0
  513. package/dist/assetLibrary/source.test.d.ts.map +1 -0
  514. package/dist/assetLibrary/source.test.js +28 -0
  515. package/dist/assetLibrary/staticCatalogSource.d.ts +48 -0
  516. package/dist/assetLibrary/staticCatalogSource.d.ts.map +1 -0
  517. package/dist/assetLibrary/staticCatalogSource.js +140 -0
  518. package/dist/assetLibrary/staticCatalogSource.test.d.ts +2 -0
  519. package/dist/assetLibrary/staticCatalogSource.test.d.ts.map +1 -0
  520. package/dist/assetLibrary/staticCatalogSource.test.js +154 -0
  521. package/dist/assetLibrary/thumbnail.d.ts +14 -0
  522. package/dist/assetLibrary/thumbnail.d.ts.map +1 -0
  523. package/dist/assetLibrary/thumbnail.js +70 -0
  524. package/dist/assetLibrary/types.d.ts +54 -0
  525. package/dist/assetLibrary/types.d.ts.map +1 -0
  526. package/dist/assetLibrary/types.js +1 -0
  527. package/dist/assetLibrary/useModelThumbUrl.d.ts +10 -0
  528. package/dist/assetLibrary/useModelThumbUrl.d.ts.map +1 -0
  529. package/dist/assetLibrary/useModelThumbUrl.js +56 -0
  530. package/dist/boneAnchorWiring.test.d.ts +2 -0
  531. package/dist/boneAnchorWiring.test.d.ts.map +1 -0
  532. package/dist/boneAnchorWiring.test.js +173 -0
  533. package/dist/boneAnchors.d.ts +30 -0
  534. package/dist/boneAnchors.d.ts.map +1 -0
  535. package/dist/boneAnchors.js +111 -0
  536. package/dist/boneAnchors.test.d.ts +2 -0
  537. package/dist/boneAnchors.test.d.ts.map +1 -0
  538. package/dist/boneAnchors.test.js +98 -0
  539. package/dist/bootstrap.d.ts +37 -0
  540. package/dist/bootstrap.d.ts.map +1 -0
  541. package/dist/bootstrap.js +394 -0
  542. package/dist/bootstrap.test.d.ts +2 -0
  543. package/dist/bootstrap.test.d.ts.map +1 -0
  544. package/dist/bootstrap.test.js +647 -0
  545. package/dist/cameraRegistry.d.ts +65 -0
  546. package/dist/cameraRegistry.d.ts.map +1 -0
  547. package/dist/cameraRegistry.js +151 -0
  548. package/dist/cameraRegistry.test.d.ts +2 -0
  549. package/dist/cameraRegistry.test.d.ts.map +1 -0
  550. package/dist/cameraRegistry.test.js +68 -0
  551. package/dist/config.d.ts +92 -0
  552. package/dist/config.d.ts.map +1 -0
  553. package/dist/config.js +1 -0
  554. package/dist/contextMenu.d.ts +16 -0
  555. package/dist/contextMenu.d.ts.map +1 -0
  556. package/dist/contextMenu.js +10 -0
  557. package/dist/dropPoint.d.ts +61 -0
  558. package/dist/dropPoint.d.ts.map +1 -0
  559. package/dist/dropPoint.js +97 -0
  560. package/dist/dropPoint.test.d.ts +2 -0
  561. package/dist/dropPoint.test.d.ts.map +1 -0
  562. package/dist/dropPoint.test.js +174 -0
  563. package/dist/editorOnly.d.ts +6 -0
  564. package/dist/editorOnly.d.ts.map +1 -0
  565. package/dist/editorOnly.js +32 -0
  566. package/dist/errors.d.ts +24 -0
  567. package/dist/errors.d.ts.map +1 -0
  568. package/dist/errors.js +13 -0
  569. package/dist/firstScreenGate.d.ts +28 -0
  570. package/dist/firstScreenGate.d.ts.map +1 -0
  571. package/dist/firstScreenGate.js +67 -0
  572. package/dist/firstScreenGate.test.d.ts +2 -0
  573. package/dist/firstScreenGate.test.d.ts.map +1 -0
  574. package/dist/firstScreenGate.test.js +83 -0
  575. package/dist/gestureProps.d.ts +99 -0
  576. package/dist/gestureProps.d.ts.map +1 -0
  577. package/dist/gestureProps.js +118 -0
  578. package/dist/gestureProps.test.d.ts +2 -0
  579. package/dist/gestureProps.test.d.ts.map +1 -0
  580. package/dist/gestureProps.test.js +182 -0
  581. package/dist/gesturePropsEditor.d.ts +27 -0
  582. package/dist/gesturePropsEditor.d.ts.map +1 -0
  583. package/dist/gesturePropsEditor.js +121 -0
  584. package/dist/getDeep.d.ts +8 -0
  585. package/dist/getDeep.d.ts.map +1 -0
  586. package/dist/getDeep.js +15 -0
  587. package/dist/gizmoRegistry.test.d.ts +2 -0
  588. package/dist/gizmoRegistry.test.d.ts.map +1 -0
  589. package/dist/gizmoRegistry.test.js +40 -0
  590. package/dist/hostFlows.d.ts +55 -0
  591. package/dist/hostFlows.d.ts.map +1 -0
  592. package/dist/hostFlows.js +77 -0
  593. package/dist/hostFlows.test.d.ts +2 -0
  594. package/dist/hostFlows.test.d.ts.map +1 -0
  595. package/dist/hostFlows.test.js +191 -0
  596. package/dist/i18n.d.ts +26 -0
  597. package/dist/i18n.d.ts.map +1 -0
  598. package/dist/i18n.js +271 -0
  599. package/dist/i18n.test.d.ts +2 -0
  600. package/dist/i18n.test.d.ts.map +1 -0
  601. package/dist/i18n.test.js +41 -0
  602. package/dist/index.d.ts +42 -0
  603. package/dist/index.d.ts.map +1 -0
  604. package/dist/index.js +11 -0
  605. package/dist/menuModel.d.ts +51 -0
  606. package/dist/menuModel.d.ts.map +1 -0
  607. package/dist/menuModel.js +111 -0
  608. package/dist/menuModel.test.d.ts +2 -0
  609. package/dist/menuModel.test.d.ts.map +1 -0
  610. package/dist/menuModel.test.js +197 -0
  611. package/dist/modalGrab.d.ts +29 -0
  612. package/dist/modalGrab.d.ts.map +1 -0
  613. package/dist/modalGrab.js +127 -0
  614. package/dist/outlineObjectMenu.d.ts +41 -0
  615. package/dist/outlineObjectMenu.d.ts.map +1 -0
  616. package/dist/outlineObjectMenu.js +58 -0
  617. package/dist/outlineObjectMenu.test.d.ts +2 -0
  618. package/dist/outlineObjectMenu.test.d.ts.map +1 -0
  619. package/dist/outlineObjectMenu.test.js +83 -0
  620. package/dist/pathBinding.d.ts +16 -0
  621. package/dist/pathBinding.d.ts.map +1 -0
  622. package/dist/pathBinding.js +19 -0
  623. package/dist/pathBinding.test.d.ts +2 -0
  624. package/dist/pathBinding.test.d.ts.map +1 -0
  625. package/dist/pathBinding.test.js +14 -0
  626. package/dist/pathModel.d.ts +123 -0
  627. package/dist/pathModel.d.ts.map +1 -0
  628. package/dist/pathModel.js +343 -0
  629. package/dist/pathModel.test.d.ts +2 -0
  630. package/dist/pathModel.test.d.ts.map +1 -0
  631. package/dist/pathModel.test.js +394 -0
  632. package/dist/pathPresets.d.ts +38 -0
  633. package/dist/pathPresets.d.ts.map +1 -0
  634. package/dist/pathPresets.js +180 -0
  635. package/dist/pathPresets.test.d.ts +2 -0
  636. package/dist/pathPresets.test.d.ts.map +1 -0
  637. package/dist/pathPresets.test.js +154 -0
  638. package/dist/pathRegistry.d.ts +46 -0
  639. package/dist/pathRegistry.d.ts.map +1 -0
  640. package/dist/pathRegistry.js +105 -0
  641. package/dist/pathRegistry.test.d.ts +2 -0
  642. package/dist/pathRegistry.test.d.ts.map +1 -0
  643. package/dist/pathRegistry.test.js +23 -0
  644. package/dist/pickerRegistry.d.ts +49 -0
  645. package/dist/pickerRegistry.d.ts.map +1 -0
  646. package/dist/pickerRegistry.js +17 -0
  647. package/dist/pickerRegistry.test.d.ts +2 -0
  648. package/dist/pickerRegistry.test.d.ts.map +1 -0
  649. package/dist/pickerRegistry.test.js +31 -0
  650. package/dist/pipLayout.d.ts +7 -0
  651. package/dist/pipLayout.d.ts.map +1 -0
  652. package/dist/pipLayout.js +58 -0
  653. package/dist/placementKey.test.d.ts +2 -0
  654. package/dist/placementKey.test.d.ts.map +1 -0
  655. package/dist/placementKey.test.js +32 -0
  656. package/dist/placementPoseProps.d.ts +29 -0
  657. package/dist/placementPoseProps.d.ts.map +1 -0
  658. package/dist/placementPoseProps.js +43 -0
  659. package/dist/placementPoseProps.test.d.ts +2 -0
  660. package/dist/placementPoseProps.test.d.ts.map +1 -0
  661. package/dist/placementPoseProps.test.js +35 -0
  662. package/dist/poseMode/PoseModeBar.d.ts +18 -0
  663. package/dist/poseMode/PoseModeBar.d.ts.map +1 -0
  664. package/dist/poseMode/PoseModeBar.js +127 -0
  665. package/dist/poseMode/PoseModeRig.d.ts +9 -0
  666. package/dist/poseMode/PoseModeRig.d.ts.map +1 -0
  667. package/dist/poseMode/PoseModeRig.js +300 -0
  668. package/dist/poseMode/PosePickerFrame.d.ts +42 -0
  669. package/dist/poseMode/PosePickerFrame.d.ts.map +1 -0
  670. package/dist/poseMode/PosePickerFrame.js +164 -0
  671. package/dist/poseMode/PosePropEditor.d.ts +30 -0
  672. package/dist/poseMode/PosePropEditor.d.ts.map +1 -0
  673. package/dist/poseMode/PosePropEditor.js +139 -0
  674. package/dist/poseMode/controlSpec.d.ts +26 -0
  675. package/dist/poseMode/controlSpec.d.ts.map +1 -0
  676. package/dist/poseMode/controlSpec.js +157 -0
  677. package/dist/poseMode/controlSpec.test.d.ts +2 -0
  678. package/dist/poseMode/controlSpec.test.d.ts.map +1 -0
  679. package/dist/poseMode/controlSpec.test.js +196 -0
  680. package/dist/poseMode/dragState.d.ts +16 -0
  681. package/dist/poseMode/dragState.d.ts.map +1 -0
  682. package/dist/poseMode/dragState.js +15 -0
  683. package/dist/poseMode/dragState.test.d.ts +2 -0
  684. package/dist/poseMode/dragState.test.d.ts.map +1 -0
  685. package/dist/poseMode/dragState.test.js +23 -0
  686. package/dist/poseMode/poseDisplayText.d.ts +18 -0
  687. package/dist/poseMode/poseDisplayText.d.ts.map +1 -0
  688. package/dist/poseMode/poseDisplayText.js +13 -0
  689. package/dist/poseMode/poseDisplayText.test.d.ts +2 -0
  690. package/dist/poseMode/poseDisplayText.test.d.ts.map +1 -0
  691. package/dist/poseMode/poseDisplayText.test.js +35 -0
  692. package/dist/poseMode/poseExitGuard.d.ts +8 -0
  693. package/dist/poseMode/poseExitGuard.d.ts.map +1 -0
  694. package/dist/poseMode/poseExitGuard.js +13 -0
  695. package/dist/poseMode/poseExitGuard.test.d.ts +2 -0
  696. package/dist/poseMode/poseExitGuard.test.d.ts.map +1 -0
  697. package/dist/poseMode/poseExitGuard.test.js +41 -0
  698. package/dist/poseMode/poseFrame.d.ts +11 -0
  699. package/dist/poseMode/poseFrame.d.ts.map +1 -0
  700. package/dist/poseMode/poseFrame.js +7 -0
  701. package/dist/poseMode/poseFrame.test.d.ts +2 -0
  702. package/dist/poseMode/poseFrame.test.d.ts.map +1 -0
  703. package/dist/poseMode/poseFrame.test.js +25 -0
  704. package/dist/poseMode/poseInterpolate.d.ts +4 -0
  705. package/dist/poseMode/poseInterpolate.d.ts.map +1 -0
  706. package/dist/poseMode/poseInterpolate.js +75 -0
  707. package/dist/poseMode/poseInterpolate.test.d.ts +2 -0
  708. package/dist/poseMode/poseInterpolate.test.d.ts.map +1 -0
  709. package/dist/poseMode/poseInterpolate.test.js +61 -0
  710. package/dist/poseMode/poseLibResolve.d.ts +9 -0
  711. package/dist/poseMode/poseLibResolve.d.ts.map +1 -0
  712. package/dist/poseMode/poseLibResolve.js +49 -0
  713. package/dist/poseMode/poseLibResolve.test.d.ts +2 -0
  714. package/dist/poseMode/poseLibResolve.test.d.ts.map +1 -0
  715. package/dist/poseMode/poseLibResolve.test.js +59 -0
  716. package/dist/poseMode/poseMigration.d.ts +5 -0
  717. package/dist/poseMode/poseMigration.d.ts.map +1 -0
  718. package/dist/poseMode/poseMigration.js +16 -0
  719. package/dist/poseMode/poseMigration.test.d.ts +2 -0
  720. package/dist/poseMode/poseMigration.test.d.ts.map +1 -0
  721. package/dist/poseMode/poseMigration.test.js +25 -0
  722. package/dist/poseMode/poseOptions.d.ts +45 -0
  723. package/dist/poseMode/poseOptions.d.ts.map +1 -0
  724. package/dist/poseMode/poseOptions.js +39 -0
  725. package/dist/poseMode/poseOptions.test.d.ts +2 -0
  726. package/dist/poseMode/poseOptions.test.d.ts.map +1 -0
  727. package/dist/poseMode/poseOptions.test.js +83 -0
  728. package/dist/poseMode/poseOverride.d.ts +13 -0
  729. package/dist/poseMode/poseOverride.d.ts.map +1 -0
  730. package/dist/poseMode/poseOverride.js +26 -0
  731. package/dist/poseMode/poseOverride.test.d.ts +2 -0
  732. package/dist/poseMode/poseOverride.test.d.ts.map +1 -0
  733. package/dist/poseMode/poseOverride.test.js +23 -0
  734. package/dist/poseMode/poseRetarget.d.ts +17 -0
  735. package/dist/poseMode/poseRetarget.d.ts.map +1 -0
  736. package/dist/poseMode/poseRetarget.js +53 -0
  737. package/dist/poseMode/poseRetarget.test.d.ts +2 -0
  738. package/dist/poseMode/poseRetarget.test.d.ts.map +1 -0
  739. package/dist/poseMode/poseRetarget.test.js +88 -0
  740. package/dist/poseMode/poseSession.d.ts +58 -0
  741. package/dist/poseMode/poseSession.d.ts.map +1 -0
  742. package/dist/poseMode/poseSession.js +183 -0
  743. package/dist/poseMode/poseSession.test.d.ts +2 -0
  744. package/dist/poseMode/poseSession.test.d.ts.map +1 -0
  745. package/dist/poseMode/poseSession.test.js +159 -0
  746. package/dist/poseMode/poseSessionHooks.test.d.ts +2 -0
  747. package/dist/poseMode/poseSessionHooks.test.d.ts.map +1 -0
  748. package/dist/poseMode/poseSessionHooks.test.js +49 -0
  749. package/dist/poseMode/poseTrack.d.ts +30 -0
  750. package/dist/poseMode/poseTrack.d.ts.map +1 -0
  751. package/dist/poseMode/poseTrack.js +155 -0
  752. package/dist/poseMode/poseTrack.test.d.ts +2 -0
  753. package/dist/poseMode/poseTrack.test.d.ts.map +1 -0
  754. package/dist/poseMode/poseTrack.test.js +84 -0
  755. package/dist/poseMode/poseValue.d.ts +22 -0
  756. package/dist/poseMode/poseValue.d.ts.map +1 -0
  757. package/dist/poseMode/poseValue.js +73 -0
  758. package/dist/poseMode/poseValue.test.d.ts +2 -0
  759. package/dist/poseMode/poseValue.test.d.ts.map +1 -0
  760. package/dist/poseMode/poseValue.test.js +62 -0
  761. package/dist/poseMode/savePose.d.ts +23 -0
  762. package/dist/poseMode/savePose.d.ts.map +1 -0
  763. package/dist/poseMode/savePose.js +29 -0
  764. package/dist/poseMode/selectionModes.d.ts +14 -0
  765. package/dist/poseMode/selectionModes.d.ts.map +1 -0
  766. package/dist/poseMode/selectionModes.js +39 -0
  767. package/dist/poseMode/selectionModes.test.d.ts +2 -0
  768. package/dist/poseMode/selectionModes.test.d.ts.map +1 -0
  769. package/dist/poseMode/selectionModes.test.js +91 -0
  770. package/dist/poseNameMessages.d.ts +13 -0
  771. package/dist/poseNameMessages.d.ts.map +1 -0
  772. package/dist/poseNameMessages.js +370 -0
  773. package/dist/poseNames.d.ts +14 -0
  774. package/dist/poseNames.d.ts.map +1 -0
  775. package/dist/poseNames.js +21 -0
  776. package/dist/poseNames.test.d.ts +2 -0
  777. package/dist/poseNames.test.d.ts.map +1 -0
  778. package/dist/poseNames.test.js +41 -0
  779. package/dist/poseStatusText.d.ts +2 -0
  780. package/dist/poseStatusText.d.ts.map +1 -0
  781. package/dist/poseStatusText.js +11 -0
  782. package/dist/poseStatusText.test.d.ts +2 -0
  783. package/dist/poseStatusText.test.d.ts.map +1 -0
  784. package/dist/poseStatusText.test.js +21 -0
  785. package/dist/presetThumbGeometry.d.ts +26 -0
  786. package/dist/presetThumbGeometry.d.ts.map +1 -0
  787. package/dist/presetThumbGeometry.js +103 -0
  788. package/dist/presetThumbGeometry.test.d.ts +2 -0
  789. package/dist/presetThumbGeometry.test.d.ts.map +1 -0
  790. package/dist/presetThumbGeometry.test.js +83 -0
  791. package/dist/selectionOutline.d.ts +42 -0
  792. package/dist/selectionOutline.d.ts.map +1 -0
  793. package/dist/selectionOutline.js +174 -0
  794. package/dist/selectionOutline.test.d.ts +2 -0
  795. package/dist/selectionOutline.test.d.ts.map +1 -0
  796. package/dist/selectionOutline.test.js +58 -0
  797. package/dist/smoke.test.d.ts +1 -0
  798. package/dist/smoke.test.d.ts.map +1 -0
  799. package/dist/smoke.test.js +17 -0
  800. package/dist/uiConfig.d.ts +16 -0
  801. package/dist/uiConfig.d.ts.map +1 -0
  802. package/dist/uiConfig.js +13 -0
  803. package/dist/uiConfig.test.d.ts +2 -0
  804. package/dist/uiConfig.test.d.ts.map +1 -0
  805. package/dist/uiConfig.test.js +98 -0
  806. package/dist/undoShortcuts.d.ts +28 -0
  807. package/dist/undoShortcuts.d.ts.map +1 -0
  808. package/dist/undoShortcuts.js +59 -0
  809. package/dist/undoShortcuts.test.d.ts +2 -0
  810. package/dist/undoShortcuts.test.d.ts.map +1 -0
  811. package/dist/undoShortcuts.test.js +37 -0
  812. package/dist/useCameraStudio.d.ts +3 -0
  813. package/dist/useCameraStudio.d.ts.map +1 -0
  814. package/dist/useCameraStudio.js +86 -0
  815. package/dist/version.d.ts +2 -0
  816. package/dist/version.d.ts.map +1 -0
  817. package/dist/version.js +11 -0
  818. package/dist/videoExport/BlobCollectSink.d.ts +25 -0
  819. package/dist/videoExport/BlobCollectSink.d.ts.map +1 -0
  820. package/dist/videoExport/BlobCollectSink.js +56 -0
  821. package/dist/videoExport/BlobCollectSink.test.d.ts +2 -0
  822. package/dist/videoExport/BlobCollectSink.test.d.ts.map +1 -0
  823. package/dist/videoExport/BlobCollectSink.test.js +78 -0
  824. package/dist/videoExport/encoder.d.ts +34 -0
  825. package/dist/videoExport/encoder.d.ts.map +1 -0
  826. package/dist/videoExport/encoder.js +61 -0
  827. package/dist/videoExport/encoder.test.d.ts +2 -0
  828. package/dist/videoExport/encoder.test.d.ts.map +1 -0
  829. package/dist/videoExport/encoder.test.js +21 -0
  830. package/dist/videoExport/exporter.d.ts +24 -0
  831. package/dist/videoExport/exporter.d.ts.map +1 -0
  832. package/dist/videoExport/exporter.js +74 -0
  833. package/dist/videoExport/sinks.d.ts +55 -0
  834. package/dist/videoExport/sinks.d.ts.map +1 -0
  835. package/dist/videoExport/sinks.js +69 -0
  836. package/package.json +59 -3
  837. package/README.md +0 -3
@@ -0,0 +1,78 @@
1
+ import type { ISheet } from '@dreamerbird/core';
2
+ import type { BoundCameraReset } from '../pathRegistry';
3
+ import type { Vec3Like } from '../pathModel';
4
+ import type { PathPreset } from '../pathPresets';
5
+ /**
6
+ * 预设创建:注册表取下一个可用 key → 同名孤儿(对象带旧点/已建轨)
7
+ * 先真删(同 UI placePresetPath 的教训:不删会被当既有路径延伸) →
8
+ * 一个事务同时写 meta points(局部坐标,P1..Pn)、position(落点)和
9
+ * Paths 注册表清单 = 一步撤销。
10
+ *
11
+ * center 由命令层算好(显式 at 或 findFreeSpot 避让结果)。
12
+ */
13
+ export declare function createPresetPath(sheet: ISheet, preset: PathPreset, center: Vec3Like, beforeWrite?: () => void): {
14
+ pathKey: string;
15
+ pointKeys: string[];
16
+ };
17
+ /**
18
+ * 默认落点:findFreeSpot 避开已放置模型和已有路径的原点,基点原点
19
+ * (高度语义属 UI 的取景便利,Agent 命令默认落地面原点;要精确落点
20
+ * 传显式 at)。
21
+ */
22
+ export declare function defaultPresetSpot(sheet: ISheet): Vec3Like;
23
+ /** 加点:沿最后一段方向延伸等长一段;空名单拒绝(没点就不出现) */
24
+ export declare function addPathPointDomain(sheet: ISheet, pathKey: string, beforeWrite?: () => void): {
25
+ pointKey: string;
26
+ };
27
+ /**
28
+ * 改控制点:position 整体替换(局部坐标),handle 拖一侧
29
+ * (withDraggedHandle 对齐规则:被拖侧取新偏移,另一侧共线镜像,
30
+ * 与 UI 手柄拖动同一纯函数)。两者可同一次给出 = 一个事务。
31
+ */
32
+ export declare function updatePathPointDomain(sheet: ISheet, pathKey: string, pointKey: string, patch: {
33
+ position?: Vec3Like;
34
+ handle?: {
35
+ side: 'left' | 'right';
36
+ offset: Vec3Like;
37
+ };
38
+ }, beforeWrite?: () => void): void;
39
+ /**
40
+ * 调进度锚点:内部点写显式 u(withMovedU 夹到相邻锚点之间,保住单调,
41
+ * 与 UI 数值浮条同一纯函数);u:null = 清掉显式锚点恢复自动(弧长等比)。
42
+ * 首尾点恒为 0/1,显式设置/恢复都拒绝。
43
+ */
44
+ export declare function setPathPointTimingDomain(sheet: ISheet, pathKey: string, pointKey: string, u: number | null, beforeWrite?: () => void): void;
45
+ /**
46
+ * 删除路径前收集绑定它的相机(连同机位定格),折进清单移除的同一个
47
+ * scrub 回退——撤销删除时清单行/绑定/机位一起还原,不留"绑定还在但
48
+ * 路径没了"的中间态(见 pathRegistry.removePathFromRegistry 的撤销陷阱
49
+ * 注释)。
50
+ *
51
+ * 与 CameraScene.collectBoundCameraResets 同语义,数据源换成 Agent
52
+ * 运行时:相机 SheetObject 来自 objectRuntime(ShotCamera 登记),
53
+ * 定格采样来自 pathRuntime(CameraPath 登记);路径未挂载(无采样器)
54
+ * 或没点 = 没被驱动过,只清绑定不定格。
55
+ */
56
+ export declare function collectBoundCamerasForPath(sheet: ISheet, pathKey: string): BoundCameraReset[];
57
+ /**
58
+ * 删除整条路径(preflight ruling:领域函数的家在 agent 层,CameraScene
59
+ * UI、最后一点删除和 Task 14 的 objects.delete 都调这里):
60
+ * forgetObject 清持久数据 + 注册表移除 + 绑定相机回退(定格机位/清
61
+ * 绑定)合并为单个事务 = 一步撤销(2026-10-19,Task 14 合并,见
62
+ * removePathFromRegistry);detachObject 显式脱离是非 historic 清理,
63
+ * 放在事务之后。
64
+ *
65
+ * boundCameras 缺省时按 Agent 运行时登记现收集;CameraScene 传入自己
66
+ * 按 refs 收集的结果(既有 UI 行为逐行保留)。
67
+ */
68
+ export declare function deletePathDomain(sheet: ISheet, pathKey: string, options?: {
69
+ boundCameras?: BoundCameraReset[];
70
+ }): void;
71
+ /**
72
+ * 删控制点:非最后一点只更新名单(一步撤销);删掉最后一个点 = 删除
73
+ * 整条路径("没点就不出现",走 deletePathDomain 的完整清理)。
74
+ */
75
+ export declare function deletePathPointDomain(sheet: ISheet, pathKey: string, pointKey: string, beforeWrite?: () => void): {
76
+ pathDeleted: boolean;
77
+ };
78
+ //# sourceMappingURL=pathCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathCommands.d.ts","sourceRoot":"","sources":["../../src/agent/pathCommands.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAC,MAAM,EAAwB,MAAM,mBAAmB,CAAA;AASpE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAA;AAcrD,OAAO,KAAK,EAAiB,QAAQ,EAAC,MAAM,cAAc,CAAA;AAE1D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAiD9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,QAAQ,EAChB,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,CA0BxC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAUzD;AAED,qCAAqC;AACrC,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAiBpB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE;IACL,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAC,CAAA;CACpD,EACD,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,GAAG,IAAI,EAChB,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,IAAI,CAoBN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE,CA2BpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAM,GAChD,IAAI,CAKN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB;IAAC,WAAW,EAAE,OAAO,CAAA;CAAC,CAoBxB"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * 路径领域命令(2026-10-17,Task 11):预设创建、控制点读改写、
3
+ * 进度锚点和整路径删除的纯领域实现,供 `paths.*` 命令、CameraScene UI
4
+ * 和 Task 14 的 objects.delete 共用(preflight ruling:deletePathDomain
5
+ * 的家在这里,UI 不做领域所有者)。
6
+ *
7
+ * 约定:
8
+ * - 名单读改写一律 parsePathPoints → pathModel 纯函数变换 →
9
+ * serializePathPoints,写入是单个 studio.transaction(一个命令一个
10
+ * 撤销步骤);回调同步,不跨 await。
11
+ * - `points` 是领域专属属性(propAccess.domainOwnedProps):写前先做
12
+ * 建轨预检(isPropSequenced),已建轨抛 INVALID_STATE——与
13
+ * cameras/poses 的 domainOwned 写入同一 ruling。
14
+ * - beforeWrite 钩子:所有校验(点存在/建轨)之后、第一个历史写入之前
15
+ * 调用,命令层用它挂 expectedRevision 检查(先校验后 revision,
16
+ * revision 先于任何副作用——同 cameras 的 writeCameraStaticProp 排序)。
17
+ * - 写路径允许落实 meta 句柄(getPathMeta);路径在注册表=对象必然
18
+ * 存在或允许创建(mutation 语义)。查询不走这里。
19
+ */
20
+ import { getStudioSync, val } from '@dreamerbird/core';
21
+ import { Vector3 } from 'three';
22
+ import { getPathMeta, pathExists } from '../CameraPath';
23
+ import { getPathsRegistry, nextPathEntry, readPathEntries, removePathFromRegistry, } from '../pathRegistry';
24
+ import { getCamerasRegistry, readCameraEntries } from '../cameraRegistry';
25
+ import { resolveBoundPathKey } from '../pathBinding';
26
+ import { buildCurve, extendPathPoint, nextPointKey, parsePathPoints, serializePathPoints, withDraggedHandle, withMovedPoint, withMovedU, withResetU, } from '../pathModel';
27
+ import { findFreeSpot, presetPlacement } from '../pathPresets';
28
+ import { readPlacementPositions } from '../PlacementManager';
29
+ import { isPropSequenced } from './propAccess';
30
+ import { AgentApiError } from './errors';
31
+ import { formatSceneObjectId } from './objectIds';
32
+ import { getSceneSheetObject } from './runtime/objectRuntime';
33
+ import { getPathSampler } from './runtime/pathRuntime';
34
+ /** Studio 不可用 = SCENE_UNAVAILABLE(spec 8.3:静默 return 不得翻译成成功) */
35
+ function requireStudio() {
36
+ const studio = getStudioSync();
37
+ if (!studio) {
38
+ throw new AgentApiError('SCENE_UNAVAILABLE', 'Studio 不可用,无法写入路径');
39
+ }
40
+ return studio;
41
+ }
42
+ /** points 建轨预检:已建轨的名单写入会落成关键帧,拒绝(改用 keyframes.*) */
43
+ function assertPointsStatic(meta, pathKey) {
44
+ if (isPropSequenced(meta, 'points')) {
45
+ throw new AgentApiError('INVALID_STATE', `路径 ${pathKey} 的控制点已建轨,拒绝静态写入`, { details: { pathKey, prop: 'points' } });
46
+ }
47
+ }
48
+ /** 单事务写名单(+ 可选同事务额外写入);调用前必须完成全部校验 */
49
+ function commitPoints(studio, meta, entries, extra) {
50
+ studio.transaction(({ set }) => {
51
+ set(meta.props.points, serializePathPoints(entries));
52
+ extra?.(set);
53
+ });
54
+ }
55
+ function pointNotFound(pathKey, pointKey) {
56
+ return new AgentApiError('PATH_POINT_NOT_FOUND', `路径 ${pathKey} 没有控制点 ${pointKey}`, { details: { pathKey, pointKey } });
57
+ }
58
+ /**
59
+ * 预设创建:注册表取下一个可用 key → 同名孤儿(对象带旧点/已建轨)
60
+ * 先真删(同 UI placePresetPath 的教训:不删会被当既有路径延伸) →
61
+ * 一个事务同时写 meta points(局部坐标,P1..Pn)、position(落点)和
62
+ * Paths 注册表清单 = 一步撤销。
63
+ *
64
+ * center 由命令层算好(显式 at 或 findFreeSpot 避让结果)。
65
+ */
66
+ export function createPresetPath(sheet, preset, center, beforeWrite) {
67
+ const studio = requireStudio();
68
+ const registry = getPathsRegistry(sheet);
69
+ const entry = nextPathEntry(readPathEntries(registry));
70
+ const orphanMeta = getPathMeta(sheet, entry.pathKey);
71
+ const orphan = parsePathPoints(orphanMeta.value.points).length > 0 ||
72
+ isPropSequenced(orphanMeta, 'points');
73
+ // 校验与探测完毕;revision 检查先于孤儿删除和播种这两个副作用
74
+ beforeWrite?.();
75
+ if (orphan) {
76
+ removePathFromRegistry(sheet, entry);
77
+ }
78
+ const meta = getPathMeta(sheet, entry.pathKey);
79
+ // 落点 = 路径原点:控制点存相对落点的局部坐标,位置变换在同一次提交里
80
+ const { points, position } = presetPlacement(preset, center);
81
+ const entries = points.map((p, i) => ({
82
+ key: `P${i + 1}`,
83
+ position: { x: p.x, y: p.y, z: p.z },
84
+ }));
85
+ const list = readPathEntries(registry);
86
+ commitPoints(studio, meta, entries, (set) => {
87
+ set(meta.props.position, { x: position.x, y: position.y, z: position.z });
88
+ set(registry.props.list, JSON.stringify([...list, entry]));
89
+ });
90
+ return { pathKey: entry.pathKey, pointKeys: entries.map((e) => e.key) };
91
+ }
92
+ /**
93
+ * 默认落点:findFreeSpot 避开已放置模型和已有路径的原点,基点原点
94
+ * (高度语义属 UI 的取景便利,Agent 命令默认落地面原点;要精确落点
95
+ * 传显式 at)。
96
+ */
97
+ export function defaultPresetSpot(sheet) {
98
+ const occupied = [...readPlacementPositions(sheet)];
99
+ for (const entry of readPathEntries(getPathsRegistry(sheet))) {
100
+ if (!pathExists(sheet, entry.pathKey))
101
+ continue;
102
+ const position = val(getPathMeta(sheet, entry.pathKey).props.position);
103
+ if (position)
104
+ occupied.push(position);
105
+ }
106
+ return findFreeSpot(occupied);
107
+ }
108
+ /** 加点:沿最后一段方向延伸等长一段;空名单拒绝(没点就不出现) */
109
+ export function addPathPointDomain(sheet, pathKey, beforeWrite) {
110
+ const studio = requireStudio();
111
+ const meta = getPathMeta(sheet, pathKey);
112
+ const entries = parsePathPoints(meta.value.points);
113
+ if (entries.length === 0) {
114
+ throw new AgentApiError('INVALID_STATE', `路径 ${pathKey} 没有控制点,无法延伸;请用 paths.createPreset 播种`, { details: { pathKey } });
115
+ }
116
+ assertPointsStatic(meta, pathKey);
117
+ const pointKey = nextPointKey(entries);
118
+ const position = extendPathPoint(entries);
119
+ beforeWrite?.();
120
+ commitPoints(studio, meta, [...entries, { key: pointKey, position }]);
121
+ return { pointKey };
122
+ }
123
+ /**
124
+ * 改控制点:position 整体替换(局部坐标),handle 拖一侧
125
+ * (withDraggedHandle 对齐规则:被拖侧取新偏移,另一侧共线镜像,
126
+ * 与 UI 手柄拖动同一纯函数)。两者可同一次给出 = 一个事务。
127
+ */
128
+ export function updatePathPointDomain(sheet, pathKey, pointKey, patch, beforeWrite) {
129
+ const studio = requireStudio();
130
+ const meta = getPathMeta(sheet, pathKey);
131
+ const entries = parsePathPoints(meta.value.points);
132
+ if (!entries.some((e) => e.key === pointKey)) {
133
+ throw pointNotFound(pathKey, pointKey);
134
+ }
135
+ assertPointsStatic(meta, pathKey);
136
+ let next = entries;
137
+ if (patch.position)
138
+ next = withMovedPoint(next, pointKey, patch.position);
139
+ if (patch.handle) {
140
+ next = withDraggedHandle(next, pointKey, patch.handle.side, patch.handle.offset);
141
+ }
142
+ beforeWrite?.();
143
+ commitPoints(studio, meta, next);
144
+ }
145
+ /**
146
+ * 调进度锚点:内部点写显式 u(withMovedU 夹到相邻锚点之间,保住单调,
147
+ * 与 UI 数值浮条同一纯函数);u:null = 清掉显式锚点恢复自动(弧长等比)。
148
+ * 首尾点恒为 0/1,显式设置/恢复都拒绝。
149
+ */
150
+ export function setPathPointTimingDomain(sheet, pathKey, pointKey, u, beforeWrite) {
151
+ const studio = requireStudio();
152
+ const meta = getPathMeta(sheet, pathKey);
153
+ const entries = parsePathPoints(meta.value.points);
154
+ const idx = entries.findIndex((e) => e.key === pointKey);
155
+ if (idx < 0)
156
+ throw pointNotFound(pathKey, pointKey);
157
+ if (idx === 0 || idx === entries.length - 1) {
158
+ throw new AgentApiError('INVALID_ARGUMENT', `首尾控制点的进度锚点固定为 0/1,只有内部点可调: ${pointKey}`, { details: { pathKey, pointKey } });
159
+ }
160
+ assertPointsStatic(meta, pathKey);
161
+ const next = u === null
162
+ ? withResetU(entries, pointKey)
163
+ : withMovedU(entries, pointKey, u, buildCurve(entries));
164
+ beforeWrite?.();
165
+ commitPoints(studio, meta, next);
166
+ }
167
+ /**
168
+ * 删除路径前收集绑定它的相机(连同机位定格),折进清单移除的同一个
169
+ * scrub 回退——撤销删除时清单行/绑定/机位一起还原,不留"绑定还在但
170
+ * 路径没了"的中间态(见 pathRegistry.removePathFromRegistry 的撤销陷阱
171
+ * 注释)。
172
+ *
173
+ * 与 CameraScene.collectBoundCameraResets 同语义,数据源换成 Agent
174
+ * 运行时:相机 SheetObject 来自 objectRuntime(ShotCamera 登记),
175
+ * 定格采样来自 pathRuntime(CameraPath 登记);路径未挂载(无采样器)
176
+ * 或没点 = 没被驱动过,只清绑定不定格。
177
+ */
178
+ export function collectBoundCamerasForPath(sheet, pathKey) {
179
+ const registeredKeys = readPathEntries(getPathsRegistry(sheet)).map((e) => e.pathKey);
180
+ let freeze = null;
181
+ const sampler = getPathSampler(pathKey);
182
+ if (sampler && pathExists(sheet, pathKey)) {
183
+ const meta = getPathMeta(sheet, pathKey);
184
+ if (parsePathPoints(meta.value.points).length > 0) {
185
+ const progress = val(meta.props.progress) ?? 0;
186
+ const tmp = new Vector3();
187
+ if (sampler(progress, tmp)) {
188
+ freeze = { x: tmp.x, y: tmp.y, z: tmp.z };
189
+ }
190
+ }
191
+ }
192
+ const resets = [];
193
+ for (const entry of readCameraEntries(getCamerasRegistry(sheet))) {
194
+ const obj = getSceneSheetObject(formatSceneObjectId('camera', entry.cameraKey));
195
+ if (!obj)
196
+ continue;
197
+ const bound = val(obj.props.pathKey) ?? '';
198
+ if (resolveBoundPathKey(bound, registeredKeys) !== pathKey)
199
+ continue;
200
+ resets.push({ obj, freeze });
201
+ }
202
+ return resets;
203
+ }
204
+ /**
205
+ * 删除整条路径(preflight ruling:领域函数的家在 agent 层,CameraScene
206
+ * UI、最后一点删除和 Task 14 的 objects.delete 都调这里):
207
+ * forgetObject 清持久数据 + 注册表移除 + 绑定相机回退(定格机位/清
208
+ * 绑定)合并为单个事务 = 一步撤销(2026-10-19,Task 14 合并,见
209
+ * removePathFromRegistry);detachObject 显式脱离是非 historic 清理,
210
+ * 放在事务之后。
211
+ *
212
+ * boundCameras 缺省时按 Agent 运行时登记现收集;CameraScene 传入自己
213
+ * 按 refs 收集的结果(既有 UI 行为逐行保留)。
214
+ */
215
+ export function deletePathDomain(sheet, pathKey, options = {}) {
216
+ requireStudio();
217
+ const boundCameras = options.boundCameras ?? collectBoundCamerasForPath(sheet, pathKey);
218
+ removePathFromRegistry(sheet, { pathKey }, boundCameras);
219
+ }
220
+ /**
221
+ * 删控制点:非最后一点只更新名单(一步撤销);删掉最后一个点 = 删除
222
+ * 整条路径("没点就不出现",走 deletePathDomain 的完整清理)。
223
+ */
224
+ export function deletePathPointDomain(sheet, pathKey, pointKey, beforeWrite) {
225
+ const studio = requireStudio();
226
+ const meta = getPathMeta(sheet, pathKey);
227
+ const entries = parsePathPoints(meta.value.points);
228
+ if (!entries.some((e) => e.key === pointKey)) {
229
+ throw pointNotFound(pathKey, pointKey);
230
+ }
231
+ if (entries.length <= 1) {
232
+ beforeWrite?.();
233
+ deletePathDomain(sheet, pathKey);
234
+ return { pathDeleted: true };
235
+ }
236
+ assertPointsStatic(meta, pathKey);
237
+ beforeWrite?.();
238
+ commitPoints(studio, meta, entries.filter((e) => e.key !== pointKey));
239
+ return { pathDeleted: false };
240
+ }
@@ -0,0 +1,42 @@
1
+ import type { ISheetObject } from '@dreamerbird/core';
2
+ import type { $IntentionalAny } from '@dreamerbird/core/types/public';
3
+ import type { Pointer } from '@dreamerbird/dataverse';
4
+ /**
5
+ * 领域命令专属属性:generic objects.update 拒绝写入;姿势/相机/锚点/路径
6
+ * 命令完成自身校验与建轨检查后,经 setStaticProps 写各自显式拥有的属性。
7
+ */
8
+ declare const domainOwnedProps: Set<string>;
9
+ export { domainOwnedProps };
10
+ /** 按点路径('position.x')从 obj.props 导航出叶子指针,供 keyframes.* 使用 */
11
+ export declare function getSimplePropPointer(obj: ISheetObject<$IntentionalAny>, propPath: string): Pointer<$IntentionalAny>;
12
+ /**
13
+ * 检测属性是否已建轨。propPath 为顶层名('position')或点路径('position.x'):
14
+ * - 顶层简单属性:getTrackIdForProp 直接命中;
15
+ * - 顶层 compound:当前值的任一叶子建轨即整属性视为已建轨;
16
+ * - 叶子路径:sheet.sequence.getKeyframes(同 getKeyframesOfSimpleProp 的
17
+ * 内部 track map)非空即已建轨。
18
+ */
19
+ export declare function isPropSequenced(obj: ISheetObject<$IntentionalAny>, propPath: string): boolean;
20
+ /**
21
+ * 写前校验:属性存在、值形状递归匹配(有限数字/完整 compound)、未建轨。
22
+ * 全部通过才返回;任何一项失败抛出,调用方不得已进入事务。
23
+ */
24
+ export declare function assertStaticPropsWritable(sheetObject: ISheetObject<$IntentionalAny>, props: Record<string, unknown>): void;
25
+ /**
26
+ * 低层静态写入:先全量校验(值形状 + 建轨),再在单个事务内写完整个
27
+ * patch。供 objects.update 与领域命令复用;Studio 不可用抛
28
+ * SCENE_UNAVAILABLE(不静默返回,spec 8.3)。
29
+ */
30
+ export declare function setStaticProps(sheetObject: ISheetObject<$IntentionalAny>, props: Record<string, unknown>): void;
31
+ /**
32
+ * 领域静态写入 + 坐标定格同事务(2026-10-19,Agent API F1 修复):
33
+ * 绑定/父级切换类命令(setParent/clearParent/unbindPath/setAimTarget 解除)
34
+ * 把看护 effect 的坐标定格折进写领域属性的同一事务,守住
35
+ * undoable:'single-step' 契约(一次撤销同时回退属性与定格)。
36
+ *
37
+ * preflight(值形状 + 建轨拒绝)只覆盖 props 里的领域属性;freeze 里的
38
+ * position/rotation 与 UI 看护的 scrub 写入同语义——不做建轨拒绝
39
+ * (已建轨时 UI 看护同样照写),但只在领域属性通过校验后才落笔。
40
+ */
41
+ export declare function setStaticPropsWithFreeze(sheetObject: ISheetObject<$IntentionalAny>, props: Record<string, unknown>, freeze: Record<string, unknown>): void;
42
+ //# sourceMappingURL=propAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propAccess.d.ts","sourceRoot":"","sources":["../../src/agent/propAccess.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAInD;;;GAGG;AACH,QAAA,MAAM,gBAAgB,aAWpB,CAAA;AAEF,OAAO,EAAC,gBAAgB,EAAC,CAAA;AAEzB,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,EAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,EAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAaT;AA4FD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,YAAY,CAAC,eAAe,CAAC,EAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAyBN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,YAAY,CAAC,eAAe,CAAC,EAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAGN;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,YAAY,CAAC,eAAe,CAAC,EAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAGN"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * 静态属性访问守卫(2026-10-17,Task 5):objects.update 与姿势/相机/路径
3
+ * 领域命令共用的值形状校验、建轨检测和单事务静态写入。检测逻辑集中在
4
+ * 本模块,不散落到各命令。
5
+ *
6
+ * 建轨检测与 poseTrack.getTrackIdForProp、Sequence.getKeyframesOfSimpleProp
7
+ * 读同一份内部 track map(historic tracksByObject):顶层简单属性直接复用
8
+ * getTrackIdForProp;compound 顶层与叶子路径经公共 sheet.sequence.getKeyframes
9
+ * 适配(其内部即 trackIdByPropPath,键为 encodePathToProp(path))。
10
+ *
11
+ * 写入经 getStudioSync(与 poseTrack/Anchors/ShotCamera 同先例);整个 patch
12
+ * 在单个 transaction 回调内同步写完,回调不跨 await。
13
+ */
14
+ import { getStudioSync } from '@dreamerbird/core';
15
+ import { getTrackIdForProp } from '../poseMode/poseTrack';
16
+ import { AgentApiError } from './errors';
17
+ /**
18
+ * 领域命令专属属性:generic objects.update 拒绝写入;姿势/相机/锚点/路径
19
+ * 命令完成自身校验与建轨检查后,经 setStaticProps 写各自显式拥有的属性。
20
+ */
21
+ const domainOwnedProps = new Set([
22
+ 'points',
23
+ 'pose',
24
+ 'poseOverride',
25
+ 'gestureL',
26
+ 'gestureR',
27
+ 'animation',
28
+ 'aimTarget',
29
+ 'pathKey',
30
+ 'parent',
31
+ 'source',
32
+ ]);
33
+ export { domainOwnedProps };
34
+ /** 按点路径('position.x')从 obj.props 导航出叶子指针,供 keyframes.* 使用 */
35
+ export function getSimplePropPointer(obj, propPath) {
36
+ let pointer = obj.props;
37
+ for (const segment of propPath.split('.')) {
38
+ pointer = pointer?.[segment];
39
+ }
40
+ return pointer;
41
+ }
42
+ /**
43
+ * 检测属性是否已建轨。propPath 为顶层名('position')或点路径('position.x'):
44
+ * - 顶层简单属性:getTrackIdForProp 直接命中;
45
+ * - 顶层 compound:当前值的任一叶子建轨即整属性视为已建轨;
46
+ * - 叶子路径:sheet.sequence.getKeyframes(同 getKeyframesOfSimpleProp 的
47
+ * 内部 track map)非空即已建轨。
48
+ */
49
+ export function isPropSequenced(obj, propPath) {
50
+ const segments = propPath.split('.').filter((segment) => segment.length > 0);
51
+ if (segments.length === 0)
52
+ return false;
53
+ const [top, ...rest] = segments;
54
+ if (getTrackIdForProp(obj, top))
55
+ return true;
56
+ if (rest.length > 0)
57
+ return leafSequenced(obj, segments);
58
+ const current = obj.value?.[top];
59
+ if (current && typeof current === 'object') {
60
+ return collectLeafPaths(current).some((leaf) => leafSequenced(obj, [top, ...leaf]));
61
+ }
62
+ return false;
63
+ }
64
+ function leafSequenced(obj, segments) {
65
+ const pointer = getSimplePropPointer(obj, segments.join('.'));
66
+ return obj.sheet.sequence.getKeyframes(pointer).length > 0;
67
+ }
68
+ /** 收集 compound 当前值的全部叶子相对路径(空对象无叶子) */
69
+ function collectLeafPaths(value, prefix = []) {
70
+ const paths = [];
71
+ for (const [key, child] of Object.entries(value)) {
72
+ if (child && typeof child === 'object' && !Array.isArray(child)) {
73
+ paths.push(...collectLeafPaths(child, [...prefix, key]));
74
+ }
75
+ else {
76
+ paths.push([...prefix, key]);
77
+ }
78
+ }
79
+ return paths;
80
+ }
81
+ /** 值形状与当前求值递归匹配;compound 键集合必须完全一致(不做部分深合并) */
82
+ function validateValueShape(label, current, value) {
83
+ if (typeof current === 'number') {
84
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
85
+ throw new AgentApiError('INVALID_ARGUMENT', `${label} 必须是有限数字`);
86
+ }
87
+ return;
88
+ }
89
+ if (typeof current === 'string' || typeof current === 'boolean') {
90
+ if (typeof value !== typeof current) {
91
+ throw new AgentApiError('INVALID_ARGUMENT', `${label} 必须是 ${typeof current} 类型`);
92
+ }
93
+ return;
94
+ }
95
+ if (Array.isArray(current)) {
96
+ if (!Array.isArray(value) || value.length !== current.length) {
97
+ throw new AgentApiError('INVALID_ARGUMENT', `${label} 必须是长度为 ${current.length} 的数组`);
98
+ }
99
+ current.forEach((item, index) => validateValueShape(`${label}[${index}]`, item, value[index]));
100
+ return;
101
+ }
102
+ if (current && typeof current === 'object') {
103
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
104
+ throw new AgentApiError('INVALID_ARGUMENT', `${label} 必须是对象`);
105
+ }
106
+ const currentRecord = current;
107
+ const valueRecord = value;
108
+ const missing = Object.keys(currentRecord).filter((key) => !(key in valueRecord));
109
+ const extra = Object.keys(valueRecord).filter((key) => !(key in currentRecord));
110
+ if (missing.length > 0 || extra.length > 0) {
111
+ const parts = [];
112
+ if (missing.length > 0)
113
+ parts.push(`缺少 ${missing.join('、')}`);
114
+ if (extra.length > 0)
115
+ parts.push(`多余 ${extra.join('、')}`);
116
+ throw new AgentApiError('INVALID_ARGUMENT', `${label} 必须提供完整 compound 值(${parts.join(';')})`);
117
+ }
118
+ for (const key of Object.keys(currentRecord)) {
119
+ validateValueShape(`${label}.${key}`, currentRecord[key], valueRecord[key]);
120
+ }
121
+ return;
122
+ }
123
+ throw new AgentApiError('INVALID_ARGUMENT', `${label} 的当前值无法确定形状,拒绝写入`);
124
+ }
125
+ /**
126
+ * 写前校验:属性存在、值形状递归匹配(有限数字/完整 compound)、未建轨。
127
+ * 全部通过才返回;任何一项失败抛出,调用方不得已进入事务。
128
+ */
129
+ export function assertStaticPropsWritable(sheetObject, props) {
130
+ const current = sheetObject.value;
131
+ for (const [key, value] of Object.entries(props)) {
132
+ if (key.includes('.')) {
133
+ throw new AgentApiError('INVALID_ARGUMENT', `props 是顶层属性 patch,不接受嵌套路径: ${key}`);
134
+ }
135
+ if (!current || !(key in current)) {
136
+ throw new AgentApiError('INVALID_ARGUMENT', `未知属性: ${key}`, {
137
+ details: { prop: key },
138
+ });
139
+ }
140
+ validateValueShape(key, current[key], value);
141
+ }
142
+ for (const key of Object.keys(props)) {
143
+ if (isPropSequenced(sheetObject, key)) {
144
+ throw new AgentApiError('INVALID_STATE', `属性 ${key} 已建轨,请改用 keyframes.* 写入`, { details: { prop: key } });
145
+ }
146
+ }
147
+ }
148
+ /**
149
+ * 低层静态写入:先全量校验(值形状 + 建轨),再在单个事务内写完整个
150
+ * patch。供 objects.update 与领域命令复用;Studio 不可用抛
151
+ * SCENE_UNAVAILABLE(不静默返回,spec 8.3)。
152
+ */
153
+ export function setStaticProps(sheetObject, props) {
154
+ assertStaticPropsWritable(sheetObject, props);
155
+ writePropsInTransaction(sheetObject, props);
156
+ }
157
+ /**
158
+ * 领域静态写入 + 坐标定格同事务(2026-10-19,Agent API F1 修复):
159
+ * 绑定/父级切换类命令(setParent/clearParent/unbindPath/setAimTarget 解除)
160
+ * 把看护 effect 的坐标定格折进写领域属性的同一事务,守住
161
+ * undoable:'single-step' 契约(一次撤销同时回退属性与定格)。
162
+ *
163
+ * preflight(值形状 + 建轨拒绝)只覆盖 props 里的领域属性;freeze 里的
164
+ * position/rotation 与 UI 看护的 scrub 写入同语义——不做建轨拒绝
165
+ * (已建轨时 UI 看护同样照写),但只在领域属性通过校验后才落笔。
166
+ */
167
+ export function setStaticPropsWithFreeze(sheetObject, props, freeze) {
168
+ assertStaticPropsWritable(sheetObject, props);
169
+ writePropsInTransaction(sheetObject, { ...props, ...freeze });
170
+ }
171
+ function writePropsInTransaction(sheetObject, props) {
172
+ const studio = getStudioSync();
173
+ if (!studio) {
174
+ throw new AgentApiError('SCENE_UNAVAILABLE', 'Studio 不可用,无法写入静态属性');
175
+ }
176
+ studio.transaction(({ set }) => {
177
+ for (const [key, value] of Object.entries(props)) {
178
+ set(sheetObject.props[key], value);
179
+ }
180
+ });
181
+ }
@@ -0,0 +1,9 @@
1
+ import type { AgentCommandRegistry } from './registry';
2
+ import type { AgentRuntime } from './runtime';
3
+ /**
4
+ * 注册全部 Agent 命令。每个执行代次一份注册表(命令闭包绑定该代次的
5
+ * runtime facade:handlers 是代次级 live 视图,assertCurrent 按代次判定),
6
+ * 换代由调用方重建。
7
+ */
8
+ export declare function registerAllAgentCommands(registry: AgentCommandRegistry, runtime: AgentRuntime): void;
9
+ //# sourceMappingURL=registerCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerCommands.d.ts","sourceRoot":"","sources":["../../src/agent/registerCommands.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AA8B3C;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,YAAY,GACpB,IAAI,CAkCN"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * 全量 Agent 命令注册(2026-10-19,Task 15):按 Task 4–14 落地顺序
3
+ * 注册全部 18 个命令组(spec §9 命令面,71 条命令),供生产会话与
4
+ * 契约测试共用同一个注册入口。
5
+ *
6
+ * 重复命令兜底:registry.register 本身按名拒重(INVALID_STATE),注册
7
+ * 结束后再断言一次清单无重名——任何一个 register 模块被误注册两次
8
+ * (或将来合并模块时漏改名)都在这里立即炸,不带病运行。
9
+ */
10
+ import { AgentApiError } from './errors';
11
+ // Task 4:场景查询与选择(scene.getSnapshot / objects.list / objects.get)
12
+ import { registerSceneCommands } from './commands/scene';
13
+ import { registerSelectionCommands } from './commands/selection';
14
+ // Task 5 + Task 14:静态属性更新(objects.update)与统一删除(objects.delete)
15
+ import { registerObjectCommands } from './commands/objects';
16
+ // Task 6:sequence 播放/定位/时长 + history 撤销重做
17
+ import { registerSequenceCommands } from './commands/sequence';
18
+ import { registerHistoryCommands } from './commands/history';
19
+ // Task 7:显式关键帧
20
+ import { registerKeyframeCommands } from './commands/keyframes';
21
+ // Task 8:模型创建 + 资产管理 + 任务查询/取消
22
+ import { registerModelCommands } from './commands/models';
23
+ import { registerAssetCommands } from './commands/assets';
24
+ import { registerJobCommands } from './commands/jobs';
25
+ // Task 9:姿势/手势 + 动画
26
+ import { registerPoseCommands } from './commands/poses';
27
+ import { registerAnimationCommands } from './commands/animations';
28
+ // Task 10:相机 + 锚点
29
+ import { registerCameraCommands } from './commands/cameras';
30
+ import { registerAnchorCommands } from './commands/anchors';
31
+ // Task 11:路径预设/控制点/编辑会话
32
+ import { registerPathCommands } from './commands/paths';
33
+ // Task 12:视图 + UI + 项目导出
34
+ import { registerViewCommands } from './commands/view';
35
+ import { registerUiCommands } from './commands/ui';
36
+ import { registerProjectCommands } from './commands/project';
37
+ // Task 13:视频导出任务
38
+ import { registerExportCommands } from './commands/exports';
39
+ /**
40
+ * 注册全部 Agent 命令。每个执行代次一份注册表(命令闭包绑定该代次的
41
+ * runtime facade:handlers 是代次级 live 视图,assertCurrent 按代次判定),
42
+ * 换代由调用方重建。
43
+ */
44
+ export function registerAllAgentCommands(registry, runtime) {
45
+ // Task 4
46
+ registerSceneCommands(registry, runtime);
47
+ registerSelectionCommands(registry, runtime);
48
+ // Task 5 + Task 14
49
+ registerObjectCommands(registry, runtime);
50
+ // Task 6
51
+ registerSequenceCommands(registry, runtime);
52
+ registerHistoryCommands(registry, runtime);
53
+ // Task 7
54
+ registerKeyframeCommands(registry, runtime);
55
+ // Task 8
56
+ registerModelCommands(registry, runtime);
57
+ registerAssetCommands(registry, runtime);
58
+ registerJobCommands(registry, runtime);
59
+ // Task 9
60
+ registerPoseCommands(registry, runtime);
61
+ registerAnimationCommands(registry, runtime);
62
+ // Task 10
63
+ registerCameraCommands(registry, runtime);
64
+ registerAnchorCommands(registry, runtime);
65
+ // Task 11
66
+ registerPathCommands(registry, runtime);
67
+ // Task 12
68
+ registerViewCommands(registry, runtime);
69
+ registerUiCommands(registry, runtime);
70
+ registerProjectCommands(registry, runtime);
71
+ // Task 13
72
+ registerExportCommands(registry, runtime);
73
+ const names = registry.describe().commands.map((command) => command.name);
74
+ if (new Set(names).size !== names.length) {
75
+ throw new AgentApiError('INVALID_STATE', '命令注册表存在重复命令名');
76
+ }
77
+ }