@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,227 @@
1
+ import { onChange, val } from '@dreamerbird/core';
2
+ import { AgentApiError } from '../errors';
3
+ import { BlobCollectSink } from '../../videoExport/BlobCollectSink';
4
+ import { startShotExport } from '../../videoExport/exporter';
5
+ let controller;
6
+ /**
7
+ * CameraScene 挂载 effect 调用;返回解绑函数(仅当登记的还是同一
8
+ * 控制器才删,防过期 cleanup 抹掉新代次的登记,同 registerDirectorView)。
9
+ */
10
+ export function registerSceneExportController(next) {
11
+ controller = next;
12
+ return () => {
13
+ if (controller === next)
14
+ controller = undefined;
15
+ };
16
+ }
17
+ /** 当前登记的场景导出控制器;未挂载为 undefined(命令映射 SCENE_UNAVAILABLE) */
18
+ export function getSceneExportController() {
19
+ return controller;
20
+ }
21
+ function isCollectingSink(sink) {
22
+ return typeof sink.blob === 'function';
23
+ }
24
+ /**
25
+ * 录制核心:canvas + sink + sheet → startShotExport,外挂进度订阅
26
+ * (sequence 播放头 → 0..1)与 signal 取消;done 映射为导出结果。
27
+ * 返回 undefined = 编码器不可用(MediaRecorder 无可用格式)。
28
+ */
29
+ function recordShot(args) {
30
+ const { sheet, canvas, sink, signal, onProgress, onError } = args;
31
+ const handle = startShotExport({ canvas, sheet, sink, onError });
32
+ if (!handle)
33
+ return undefined;
34
+ // exporter 的 abort 收尾(用户 Esc、开录相机被删、signal 取消共用)会调
35
+ // sink.abort 丢弃已录内容;包一层记录"内容已弃",done 映射时据它把
36
+ // 用户侧中止(signal 未 abort)也识别为 JOB_CANCELLED,而不是掉进
37
+ // blob() 的 INVALID_STATE —— 轮询任务的 Agent 必须能区分"被中止"与真失败
38
+ let sinkAborted = false;
39
+ const originalAbort = sink.abort.bind(sink);
40
+ sink.abort = async () => {
41
+ sinkAborted = true;
42
+ await originalAbort();
43
+ };
44
+ // 进度随序列播放头更新:录制 = 序列从头播到尾,position/length 即进度
45
+ const sequence = sheet.sequence;
46
+ const length = val(sequence.pointer.length);
47
+ const offProgress = onChange(sequence.pointer.position, (position) => {
48
+ onProgress?.(length > 0 ? Math.min(1, Math.max(0, position / length)) : 0);
49
+ });
50
+ const onAbort = () => {
51
+ handle.abort();
52
+ // exporter 的 abort 收尾也会调 sink.abort;这里显式再调(幂等),
53
+ // 保证取消语义不依赖 exporter 内部顺序
54
+ sink.abort().catch(() => { });
55
+ };
56
+ if (signal?.aborted) {
57
+ onAbort();
58
+ }
59
+ else {
60
+ signal?.addEventListener('abort', onAbort, { once: true });
61
+ }
62
+ const done = (async () => {
63
+ try {
64
+ // handle.done 是唯一权威:resolve = 录制收尾完成(含 abort 的安静收尾)
65
+ await handle.done;
66
+ }
67
+ finally {
68
+ offProgress();
69
+ signal?.removeEventListener('abort', onAbort);
70
+ }
71
+ if (signal?.aborted) {
72
+ throw new AgentApiError('JOB_CANCELLED', '视频导出已取消');
73
+ }
74
+ // done resolve 但内容已被丢弃(sink.abort 被调)= 用户侧中止
75
+ // (Esc/开录相机被删):同样按取消交付,不报 INVALID_STATE 假失败
76
+ if (sinkAborted) {
77
+ throw new AgentApiError('JOB_CANCELLED', '视频导出被中止(Esc 取消或开录相机被删除)');
78
+ }
79
+ if (isCollectingSink(sink)) {
80
+ const blob = sink.blob();
81
+ return {
82
+ blob,
83
+ fileName: sink.fileName ?? 'video.webm',
84
+ mimeType: blob.type || sink.mimeType || '',
85
+ size: blob.size,
86
+ };
87
+ }
88
+ // UI sink(另存为/直接下载):结果落浏览器,无内存产出
89
+ return undefined;
90
+ })();
91
+ return { handle, done };
92
+ }
93
+ export function createSceneExportController(deps) {
94
+ let disposed = false;
95
+ let pending;
96
+ let active;
97
+ /** 视角/相机已生效:取 canvas 开录;失败恢复视图并拒绝 */
98
+ function startPending(p) {
99
+ const canvas = deps.getCanvas();
100
+ if (!canvas) {
101
+ deps.setShotView(p.prevShotView);
102
+ p.reject(new AgentApiError('INVALID_STATE', '找不到场景画布(canvas),无法导出'));
103
+ return;
104
+ }
105
+ deps.lockExportCamera(p.cameraKey);
106
+ const record = recordShot({
107
+ sheet: deps.sheet,
108
+ canvas,
109
+ sink: p.request.sink,
110
+ signal: p.request.signal,
111
+ onProgress: p.request.onProgress,
112
+ onError: p.request.onError,
113
+ });
114
+ if (!record) {
115
+ // 编码器不可用:onError 已由 startShotExport 提示(UI 通道),
116
+ // 这里拒绝 Promise(Agent 通道),两者不重复
117
+ deps.lockExportCamera(null);
118
+ deps.setShotView(p.prevShotView);
119
+ p.reject(new AgentApiError('CAPABILITY_UNAVAILABLE', '当前浏览器不支持视频录制(MediaRecorder 无可用格式)'));
120
+ return;
121
+ }
122
+ active = {
123
+ handle: record.handle,
124
+ sink: p.request.sink,
125
+ prevShotView: p.prevShotView,
126
+ reject: p.reject,
127
+ };
128
+ deps.setActiveHandle(record.handle);
129
+ deps.setExporting(true);
130
+ // 收尾(成功/失败/取消共用):清句柄与导出态、恢复导出前视角
131
+ const settle = () => {
132
+ if (active?.handle !== record.handle)
133
+ return;
134
+ active = undefined;
135
+ deps.setActiveHandle(null);
136
+ deps.setExporting(false);
137
+ deps.setShotView(p.prevShotView);
138
+ deps.lockExportCamera(null);
139
+ };
140
+ record.done.then((result) => {
141
+ settle();
142
+ p.resolve(result);
143
+ }, (error) => {
144
+ settle();
145
+ p.reject(error);
146
+ });
147
+ }
148
+ return {
149
+ isExporting: () => deps.isExporting() || pending !== undefined || active !== undefined,
150
+ getActiveCameraKey: () => deps.getActiveCameraKey(),
151
+ hasCamera: (key) => deps.hasCamera(key),
152
+ startVideo(request) {
153
+ if (disposed) {
154
+ throw new AgentApiError('API_DISPOSED', '场景已卸载,无法导出');
155
+ }
156
+ if (pending || active || deps.isExporting()) {
157
+ throw new AgentApiError('INVALID_STATE', '已有视频导出进行中');
158
+ }
159
+ const cameraKey = request.cameraKey ?? deps.getActiveCameraKey();
160
+ if (!cameraKey) {
161
+ throw new AgentApiError('INVALID_STATE', '没有活动相机,无法导出视频');
162
+ }
163
+ if (!deps.hasCamera(cameraKey)) {
164
+ throw new AgentApiError('OBJECT_NOT_FOUND', `相机不存在: ${cameraKey}`, { details: { cameraKey } });
165
+ }
166
+ const sink = request.sink ?? new BlobCollectSink();
167
+ const prevShotView = deps.getShotView();
168
+ return new Promise((resolve, reject) => {
169
+ const p = {
170
+ request: { ...request, sink },
171
+ cameraKey,
172
+ prevShotView,
173
+ resolve,
174
+ reject,
175
+ };
176
+ // 需要先切换(指定了非活动相机/不在镜头视角)就挂起,等场景副作用
177
+ // 在切换生效后 notifySceneReady 开录——对齐既有 UI 的开录时序;
178
+ // 无需切换则立即开录
179
+ const switchCamera = cameraKey !== deps.getActiveCameraKey();
180
+ const switchView = !deps.getShotView();
181
+ if (!switchCamera && !switchView) {
182
+ startPending(p);
183
+ return;
184
+ }
185
+ pending = p;
186
+ if (switchCamera)
187
+ deps.setActiveCamera(cameraKey);
188
+ if (switchView)
189
+ deps.setShotView(true);
190
+ });
191
+ },
192
+ notifySceneReady() {
193
+ if (disposed || !pending)
194
+ return;
195
+ const p = pending;
196
+ pending = undefined;
197
+ startPending(p);
198
+ },
199
+ dispose() {
200
+ if (disposed)
201
+ return;
202
+ disposed = true;
203
+ const p = pending;
204
+ pending = undefined;
205
+ const a = active;
206
+ active = undefined;
207
+ // 先 abort 在录任务(handle.abort + sink.abort)
208
+ if (a) {
209
+ a.handle.abort();
210
+ a.sink.abort().catch(() => { });
211
+ deps.setActiveHandle(null);
212
+ deps.setExporting(false);
213
+ deps.lockExportCamera(null);
214
+ }
215
+ // 再恢复视图
216
+ const prevShotView = p?.prevShotView ?? a?.prevShotView;
217
+ if (prevShotView !== undefined && deps.getShotView() !== prevShotView) {
218
+ deps.setShotView(prevShotView);
219
+ }
220
+ // 最后拒绝未完成任务(录制的 done 随后 settle 时 Promise 已拒绝,
221
+ // 先到的 API_DISPOSED 胜出)
222
+ const error = new AgentApiError('API_DISPOSED', '场景已卸载,导出终止');
223
+ p?.reject(error);
224
+ a?.reject(error);
225
+ },
226
+ };
227
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 场景 SheetObject 运行时登记(2026-10-17,Task 4):业务对象
3
+ * (模型/相机/锚点/路径)的组件在 objRef 填充时登记、清空时按 id
4
+ * 清理。Agent 查询/选择命令经此拿运行时 SheetObject —— 不绕运行时
5
+ * 直接用 key 调 sheet.object 构造(那会顺手创建不存在的对象,
6
+ * 查询的"无副作用"契约就破了)。
7
+ *
8
+ * 模块级表与 placementObjects/shotCameraObjects 同模式:单页单场景。
9
+ */
10
+ import type { ISheetObject } from '@dreamerbird/core';
11
+ import type { SceneObjectId } from '../types';
12
+ /** 登记某业务对象当前挂载的 SheetObject(objRef 填充时) */
13
+ export declare function registerSceneSheetObject(id: SceneObjectId, obj: ISheetObject<any>): void;
14
+ /**
15
+ * 按 id 清理登记(objRef 清空/组件卸载时)。传入 obj 时仅当登记的还是
16
+ * 同一对象才删 —— 防过期组件的 cleanup 清掉新代次的登记。
17
+ */
18
+ export declare function unregisterSceneSheetObject(id: SceneObjectId, obj?: ISheetObject<any>): void;
19
+ /** 当前挂载的 SheetObject;未挂载(注册表有条目但组件未起)为 undefined */
20
+ export declare function getSceneSheetObject(id: SceneObjectId): ISheetObject<any> | undefined;
21
+ /**
22
+ * 反查:selection.get 把 studio.selection 里的 SheetObject 映射回业务 ID;
23
+ * 未登记的 theatre 对象(Thingy、演示对象等)返回 undefined,由调用方跳过
24
+ */
25
+ export declare function resolveSceneObjectId(obj: unknown): SceneObjectId | undefined;
26
+ //# sourceMappingURL=objectRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectRuntime.d.ts","sourceRoot":"","sources":["../../../src/agent/runtime/objectRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAI3C,2CAA2C;AAC3C,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,aAAa,EACjB,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GACrB,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,aAAa,EACjB,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GACtB,IAAI,CAGN;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,aAAa,GAChB,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAE/B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAK5E"}
@@ -0,0 +1,29 @@
1
+ const sceneSheetObjects = new Map();
2
+ /** 登记某业务对象当前挂载的 SheetObject(objRef 填充时) */
3
+ export function registerSceneSheetObject(id, obj) {
4
+ sceneSheetObjects.set(id, obj);
5
+ }
6
+ /**
7
+ * 按 id 清理登记(objRef 清空/组件卸载时)。传入 obj 时仅当登记的还是
8
+ * 同一对象才删 —— 防过期组件的 cleanup 清掉新代次的登记。
9
+ */
10
+ export function unregisterSceneSheetObject(id, obj) {
11
+ if (obj && sceneSheetObjects.get(id) !== obj)
12
+ return;
13
+ sceneSheetObjects.delete(id);
14
+ }
15
+ /** 当前挂载的 SheetObject;未挂载(注册表有条目但组件未起)为 undefined */
16
+ export function getSceneSheetObject(id) {
17
+ return sceneSheetObjects.get(id);
18
+ }
19
+ /**
20
+ * 反查:selection.get 把 studio.selection 里的 SheetObject 映射回业务 ID;
21
+ * 未登记的 theatre 对象(Thingy、演示对象等)返回 undefined,由调用方跳过
22
+ */
23
+ export function resolveSceneObjectId(obj) {
24
+ for (const [id, registered] of sceneSheetObjects) {
25
+ if (registered === obj)
26
+ return id;
27
+ }
28
+ return undefined;
29
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 路径采样运行时(2026-10-17,Task 11):CameraPath 挂载时把当前曲线的
3
+ * 采样函数登记到这里,`paths.sample` 经此取世界坐标——与 ShotCamera
4
+ * 每帧采样(CameraPath 模块级登记表 + samplePathPoint)读同一份
5
+ * 名单/曲线/进度锚点/整体变换矩阵。
6
+ *
7
+ * 卸载只解绑自己的 pathKey:同一函数引用校验,防过期组件的 cleanup
8
+ * 抹掉新代次的登记(同 unregisterSceneSheetObject 的 obj 校验)。
9
+ * 模块级表与 objectRuntime/poseSessionRuntime 同模式:单页单场景。
10
+ */
11
+ import type { Vector3 } from 'three';
12
+ /**
13
+ * 按进度(0~1)在路径上取世界坐标点。返回 false = 路径没有控制点
14
+ * (调用方回退手动驱动 / Agent 映射 INVALID_STATE)。
15
+ */
16
+ export type PathSampler = (u: number, out: Vector3) => boolean;
17
+ /** CameraPath 挂载 effect 调用;返回解绑函数(仅当登记的还是同一函数才删) */
18
+ export declare function registerPathSampler(pathKey: string, sampler: PathSampler): () => void;
19
+ /** 当前登记的采样器;路径未挂载为 undefined(paths.sample 映射 INVALID_STATE) */
20
+ export declare function getPathSampler(pathKey: string): PathSampler | undefined;
21
+ //# sourceMappingURL=pathRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathRuntime.d.ts","sourceRoot":"","sources":["../../../src/agent/runtime/pathRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,OAAO,CAAA;AAElC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;AAI9D,oDAAoD;AACpD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,GACnB,MAAM,IAAI,CAKZ;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvE"}
@@ -0,0 +1,13 @@
1
+ const samplers = new Map();
2
+ /** CameraPath 挂载 effect 调用;返回解绑函数(仅当登记的还是同一函数才删) */
3
+ export function registerPathSampler(pathKey, sampler) {
4
+ samplers.set(pathKey, sampler);
5
+ return () => {
6
+ if (samplers.get(pathKey) === sampler)
7
+ samplers.delete(pathKey);
8
+ };
9
+ }
10
+ /** 当前登记的采样器;路径未挂载为 undefined(paths.sample 映射 INVALID_STATE) */
11
+ export function getPathSampler(pathKey) {
12
+ return samplers.get(pathKey);
13
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 放置挂载等待(2026-10-17,Task 8):key → deferred waiter。
3
+ *
4
+ * Agent `models.create` 的 completion:mounted 靠它兑现:
5
+ * `placeLibraryEntryAt` 在 `setPendingEntry` 之前创建 waiter 并随
6
+ * `{key, persisted}` 返回;`PlacedModelCore` 在注册表提交 + `onPersisted()`
7
+ * 之后 `resolvePlacementPersisted(key)`;`PlacedModelErrorBoundary` 在
8
+ * 加载/渲染失败时 `rejectPlacement(key, err)`;pending 条目未持久化即卸载
9
+ * 时由 persist effect 的 cleanup 拒绝,等待方不悬挂。
10
+ *
11
+ * waiter settle 后立即从 Map 删除(settle 幂等由此而来);resolve/reject
12
+ * 对未知 key 静默 no-op —— UI 放置路径(confirmPlacing 等)不创建 waiter。
13
+ *
14
+ * 模块级表与 placementObjects/objectRuntime 同模式:单页单场景。
15
+ */
16
+ /**
17
+ * 创建某 placement key 的挂载等待器,返回 persisted promise。
18
+ * 同 key 已有未 settle 的 waiter 时先拒绝旧的(它的挂载永远不会来了),
19
+ * 以新 waiter 为准 —— 旧等待方 settle 为失败,不悬挂。
20
+ */
21
+ export declare function createPlacementWaiter(key: string): Promise<void>;
22
+ /** 注册表提交 + onPersisted 之后由 PlacedModelCore 调用;未知 key no-op */
23
+ export declare function resolvePlacementPersisted(key: string): void;
24
+ /** 挂载/加载失败或提前卸载时拒绝;未知 key no-op */
25
+ export declare function rejectPlacement(key: string, error: unknown): void;
26
+ /** 该 key 是否有未 settle 的 waiter(测试与调试用) */
27
+ export declare function hasPlacementWaiter(key: string): boolean;
28
+ /**
29
+ * 会话拆解兜底(2026-10-19,Task 15):拒绝全部未 settle 的 waiter。
30
+ * dispose 不伴随 React 卸载的路径(如桥接直连 teardown)上,组件 cleanup
31
+ * 不会运行,pending waiter 必须由此拒绝(API_DISPOSED),等待方不悬挂。
32
+ */
33
+ export declare function rejectAllPlacements(error: unknown): void;
34
+ //# sourceMappingURL=placementLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placementLifecycle.d.ts","sourceRoot":"","sources":["../../../src/agent/runtime/placementLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhE;AAED,8DAA8D;AAC9D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEjE;AAED,yCAAyC;AACzC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAExD"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * 放置挂载等待(2026-10-17,Task 8):key → deferred waiter。
3
+ *
4
+ * Agent `models.create` 的 completion:mounted 靠它兑现:
5
+ * `placeLibraryEntryAt` 在 `setPendingEntry` 之前创建 waiter 并随
6
+ * `{key, persisted}` 返回;`PlacedModelCore` 在注册表提交 + `onPersisted()`
7
+ * 之后 `resolvePlacementPersisted(key)`;`PlacedModelErrorBoundary` 在
8
+ * 加载/渲染失败时 `rejectPlacement(key, err)`;pending 条目未持久化即卸载
9
+ * 时由 persist effect 的 cleanup 拒绝,等待方不悬挂。
10
+ *
11
+ * waiter settle 后立即从 Map 删除(settle 幂等由此而来);resolve/reject
12
+ * 对未知 key 静默 no-op —— UI 放置路径(confirmPlacing 等)不创建 waiter。
13
+ *
14
+ * 模块级表与 placementObjects/objectRuntime 同模式:单页单场景。
15
+ */
16
+ const waiters = new Map();
17
+ /**
18
+ * 创建某 placement key 的挂载等待器,返回 persisted promise。
19
+ * 同 key 已有未 settle 的 waiter 时先拒绝旧的(它的挂载永远不会来了),
20
+ * 以新 waiter 为准 —— 旧等待方 settle 为失败,不悬挂。
21
+ */
22
+ export function createPlacementWaiter(key) {
23
+ rejectPlacement(key, new Error(`放置等待被同 key 的新放置取代: ${key}`));
24
+ let resolvePromise;
25
+ let rejectPromise;
26
+ const promise = new Promise((resolve, reject) => {
27
+ resolvePromise = resolve;
28
+ rejectPromise = reject;
29
+ });
30
+ waiters.set(key, {
31
+ resolve: () => {
32
+ // 先删后兑现:settle 后 Map 不留条目,重复 settle 自然 no-op
33
+ waiters.delete(key);
34
+ resolvePromise();
35
+ },
36
+ reject: (error) => {
37
+ waiters.delete(key);
38
+ rejectPromise(error);
39
+ },
40
+ });
41
+ return promise;
42
+ }
43
+ /** 注册表提交 + onPersisted 之后由 PlacedModelCore 调用;未知 key no-op */
44
+ export function resolvePlacementPersisted(key) {
45
+ waiters.get(key)?.resolve();
46
+ }
47
+ /** 挂载/加载失败或提前卸载时拒绝;未知 key no-op */
48
+ export function rejectPlacement(key, error) {
49
+ waiters.get(key)?.reject(error);
50
+ }
51
+ /** 该 key 是否有未 settle 的 waiter(测试与调试用) */
52
+ export function hasPlacementWaiter(key) {
53
+ return waiters.has(key);
54
+ }
55
+ /**
56
+ * 会话拆解兜底(2026-10-19,Task 15):拒绝全部未 settle 的 waiter。
57
+ * dispose 不伴随 React 卸载的路径(如桥接直连 teardown)上,组件 cleanup
58
+ * 不会运行,pending waiter 必须由此拒绝(API_DISPOSED),等待方不悬挂。
59
+ */
60
+ export function rejectAllPlacements(error) {
61
+ for (const key of [...waiters.keys()])
62
+ rejectPlacement(key, error);
63
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=placementLifecycle.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placementLifecycle.test.d.ts","sourceRoot":"","sources":["../../../src/agent/runtime/placementLifecycle.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * placementLifecycle(2026-10-17,Task 8):key → deferred waiter 语义。
3
+ *
4
+ * waiter 在 setPendingEntry 前由 placeLibraryEntryAt 创建;
5
+ * PlacedModelCore 在注册表提交 + onPersisted 后 resolvePlacementPersisted,
6
+ * PlacedModelErrorBoundary 失败时 rejectPlacement;settle 后 waiter 立即
7
+ * 从 Map 删除,resolve/reject 对未知 key(UI 放置路径没有 waiter)静默 no-op。
8
+ */
9
+ import { createPlacementWaiter, hasPlacementWaiter, rejectAllPlacements, rejectPlacement, resolvePlacementPersisted, } from './placementLifecycle';
10
+ test('create 后 pending;resolvePlacementPersisted 后 promise 兑现且 waiter 从 Map 删除', async () => {
11
+ const persisted = createPlacementWaiter('k1');
12
+ expect(hasPlacementWaiter('k1')).toBe(true);
13
+ let settled = false;
14
+ void persisted.then(() => {
15
+ settled = true;
16
+ });
17
+ await Promise.resolve();
18
+ expect(settled).toBe(false);
19
+ resolvePlacementPersisted('k1');
20
+ await expect(persisted).resolves.toBeUndefined();
21
+ expect(settled).toBe(true);
22
+ expect(hasPlacementWaiter('k1')).toBe(false);
23
+ });
24
+ test('rejectPlacement 以原始错误 reject,并从 Map 删除', async () => {
25
+ const persisted = createPlacementWaiter('k2');
26
+ const failure = new Error('库模型加载失败');
27
+ rejectPlacement('k2', failure);
28
+ await expect(persisted).rejects.toBe(failure);
29
+ expect(hasPlacementWaiter('k2')).toBe(false);
30
+ });
31
+ test('未知 key 的 resolve/reject 静默 no-op(UI 放置路径没有 waiter)', () => {
32
+ expect(() => resolvePlacementPersisted('nope')).not.toThrow();
33
+ expect(() => rejectPlacement('nope', new Error('x'))).not.toThrow();
34
+ expect(hasPlacementWaiter('nope')).toBe(false);
35
+ });
36
+ test('settle 幂等:resolve 后的迟到 reject 不再生效', async () => {
37
+ const persisted = createPlacementWaiter('k3');
38
+ // 兜底消费,防万一实现退化成重复 reject 时出现 unhandled rejection
39
+ const guarded = persisted.catch((err) => err);
40
+ resolvePlacementPersisted('k3');
41
+ rejectPlacement('k3', new Error('late failure'));
42
+ await expect(persisted).resolves.toBeUndefined();
43
+ await expect(guarded).resolves.toBeUndefined();
44
+ expect(hasPlacementWaiter('k3')).toBe(false);
45
+ });
46
+ test('同 key 重复创建:旧 waiter 被拒绝(不悬挂),新 waiter 独立工作', async () => {
47
+ const first = createPlacementWaiter('k4');
48
+ const firstOutcome = first.then(() => 'resolved', (err) => (err instanceof Error ? err.message : String(err)));
49
+ const second = createPlacementWaiter('k4');
50
+ // 旧 waiter 必须 settle(reject),否则等待方永远悬挂
51
+ await expect(firstOutcome).resolves.toContain('取代');
52
+ expect(hasPlacementWaiter('k4')).toBe(true);
53
+ resolvePlacementPersisted('k4');
54
+ await expect(second).resolves.toBeUndefined();
55
+ expect(hasPlacementWaiter('k4')).toBe(false);
56
+ });
57
+ test('rejectAllPlacements:全部 pending waiter 以同一错误拒绝并清空(dispose 不悬挂,Task 15)', async () => {
58
+ const a = createPlacementWaiter('ra1');
59
+ const b = createPlacementWaiter('ra2');
60
+ const disposed = new Error('API_DISPOSED');
61
+ rejectAllPlacements(disposed);
62
+ await expect(a).rejects.toBe(disposed);
63
+ await expect(b).rejects.toBe(disposed);
64
+ expect(hasPlacementWaiter('ra1')).toBe(false);
65
+ expect(hasPlacementWaiter('ra2')).toBe(false);
66
+ // 空 Map 上调 rejectAll 静默 no-op
67
+ expect(() => rejectAllPlacements(new Error('again'))).not.toThrow();
68
+ });
@@ -0,0 +1,17 @@
1
+ /** PoseModeRig 登记的会话句柄 */
2
+ export type PoseSessionRigHandlers = {
3
+ /** 提交:脏检查 → 捕获实时骨骼写姿势帧(可撤销)→ 清会话 */
4
+ commit: () => void;
5
+ /** 取消:不写回直接清会话(姿势应用 effect 把当前值补刷回骨骼) */
6
+ cancel: () => void;
7
+ };
8
+ /** PoseModeRig 挂载 effect 调用;返回注销函数(组件卸载时调用) */
9
+ export declare function registerPoseSessionRig(key: string, handlers: PoseSessionRigHandlers): () => void;
10
+ /** 当前登记的 Rig 句柄;未挂载为 undefined */
11
+ export declare function getPoseSessionRig(key: string): PoseSessionRigHandlers | undefined;
12
+ /**
13
+ * 等待某 placement key 的 Rig 登记;已登记立即兑现。
14
+ * 同 key 重复等待复用同一 promise(幂等 start)。
15
+ */
16
+ export declare function whenPoseSessionRig(key: string): Promise<void>;
17
+ //# sourceMappingURL=poseSessionRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poseSessionRuntime.d.ts","sourceRoot":"","sources":["../../../src/agent/runtime/poseSessionRuntime.ts"],"names":[],"mappings":"AAgBA,0BAA0B;AAC1B,MAAM,MAAM,sBAAsB,GAAG;IACnC,oCAAoC;IACpC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,yCAAyC;IACzC,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AA2BD,+CAA+C;AAC/C,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,GAC/B,MAAM,IAAI,CAWZ;AAED,kCAAkC;AAClC,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,GACV,sBAAsB,GAAG,SAAS,CAEpC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7D"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * 姿势会话运行时(2026-10-17,Task 9):PoseModeRig 挂载后按 placementKey
3
+ * 登记提交/取消句柄,Agent `poses.session.*` 命令经此调用——与 UI 的
4
+ * Esc/双击空白退出同一条提交路径(句柄由 Rig 的挂载 effect 注册,
5
+ * 卸载即注销,绝不读到陈旧闭包)。
6
+ *
7
+ * `whenPoseSessionRig` 是 `poses.session.start` 的 completion:mounted
8
+ * 等待:Rig 登记即兑现;会话在登记前被清(防御路径:无根骨/无装配表
9
+ * 时 PoseModeRig 直接 clearPoseSession)或切换到别的模型时,等待方以
10
+ * INVALID_STATE 拒绝,不悬挂。
11
+ *
12
+ * 模块级表与 objectRuntime/placementLifecycle 同模式:单页单场景。
13
+ */
14
+ import { AgentApiError } from '../errors';
15
+ import { onPoseSessionChange } from '../../poseMode/poseSession';
16
+ const rigs = new Map();
17
+ const waiters = new Map();
18
+ // 会话生灭看护:等待中的 key 对应的会话消失/被切换时,拒绝其 waiter。
19
+ // 模块级单次订阅(单页单会话,同 poseSession 的全局唯一语义)。
20
+ onPoseSessionChange((session) => {
21
+ for (const [key, waiter] of waiters) {
22
+ if (session?.key === key)
23
+ continue;
24
+ waiters.delete(key);
25
+ waiter.reject(new AgentApiError('INVALID_STATE', `姿势会话未能建立:模型 ${key} 的 Rig 未挂载`, { details: { key } }));
26
+ }
27
+ });
28
+ /** PoseModeRig 挂载 effect 调用;返回注销函数(组件卸载时调用) */
29
+ export function registerPoseSessionRig(key, handlers) {
30
+ rigs.set(key, handlers);
31
+ const waiter = waiters.get(key);
32
+ if (waiter) {
33
+ waiters.delete(key);
34
+ waiter.resolve();
35
+ }
36
+ return () => {
37
+ // 仅当登记的还是同一句柄才删:A→B 切换时 A 的迟到注销不抹掉 B
38
+ if (rigs.get(key) === handlers)
39
+ rigs.delete(key);
40
+ };
41
+ }
42
+ /** 当前登记的 Rig 句柄;未挂载为 undefined */
43
+ export function getPoseSessionRig(key) {
44
+ return rigs.get(key);
45
+ }
46
+ /**
47
+ * 等待某 placement key 的 Rig 登记;已登记立即兑现。
48
+ * 同 key 重复等待复用同一 promise(幂等 start)。
49
+ */
50
+ export function whenPoseSessionRig(key) {
51
+ if (rigs.has(key))
52
+ return Promise.resolve();
53
+ const existing = waiters.get(key);
54
+ if (existing)
55
+ return existing.promise;
56
+ let resolve;
57
+ let reject;
58
+ const promise = new Promise((res, rej) => {
59
+ resolve = res;
60
+ reject = rej;
61
+ });
62
+ waiters.set(key, { promise, resolve, reject });
63
+ return promise;
64
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Agent 运行时(2026-10-17,spec 第 8 节):historic revision 乐观并发、
3
+ * 执行代次(session 内 remount 隔离)和 scene handler 绑定。
4
+ * revision 从 1 开始,只随 historic 指针通知递增;每个执行代次持有
5
+ * 自己的 handlers 与 readiness,会话 dispose 使全部代次失效。
6
+ */
7
+ import type { IProject, ISheet, IStudio } from '@dreamerbird/core';
8
+ import { AgentJobManager } from './jobs';
9
+ import type { Library } from '../assetLibrary/library';
10
+ /**
11
+ * 场景运行时 handler 宿主接口:Task 3 先导出空接口,
12
+ * 各领域任务(模型/相机/路径/姿势/导出…)通过 TypeScript
13
+ * declaration merging 往这个接口上增加自己的 handler 签名。
14
+ */
15
+ export interface AgentSceneRuntimeHandlers {
16
+ }
17
+ type Handlers = Partial<AgentSceneRuntimeHandlers>;
18
+ export type AgentRuntimeDeps = {
19
+ project: IProject;
20
+ sheet: ISheet;
21
+ library: Library;
22
+ getStudio: () => IStudio | undefined;
23
+ /** 生产由 bootstrap 传入:
24
+ * `(listener) => onChange(privateAPI(project).pointers.historic, () => listener())` */
25
+ subscribeHistoric: (listener: () => void) => () => void;
26
+ };
27
+ export type AgentRuntime = {
28
+ readonly project: IProject;
29
+ readonly sheet: ISheet;
30
+ readonly library: Library;
31
+ readonly getStudio: () => IStudio | undefined;
32
+ readonly jobs: AgentJobManager;
33
+ /** 当前会话的 historic revision,从 1 开始 */
34
+ readonly revision: number;
35
+ /**
36
+ * 写命令返回用的 revision(F2):historic 通知是 tick 调度的,事务后
37
+ * 同步读 revision 拿到的是写入前的值——这里等一个 core tick 再读,
38
+ * 返回值反映本次写入,expectedRevision 链式调用才不错误冲突。
39
+ * 等待期间会话拆解 → API_DISPOSED。
40
+ */
41
+ nextRevision(): Promise<number>;
42
+ /** 本代次的 readiness:CameraScene 绑定完整 handlers 后 markReady resolve,dispose reject */
43
+ readonly ready: Promise<void>;
44
+ /** 本代次当前绑定的 handlers(live 视图) */
45
+ readonly handlers: Readonly<Handlers>;
46
+ /** 乐观并发:先检查活动代次,再比较 revision;冲突 details 含 expected/actual */
47
+ assertRevision(expected: number): void;
48
+ /** 会话未被 dispose */
49
+ assertActive(): void;
50
+ /** 会话未 dispose 且本代次未被 activate() 替换 */
51
+ assertCurrent(): void;
52
+ /** 合并绑定 handlers,返回解绑函数;代次失效后绑定抛 API_DISPOSED,解绑静默失效 */
53
+ bindHandlers(handlers: Handlers): () => void;
54
+ /** 创建新执行代次;旧代次的 assertCurrent/markReady 从此抛 API_DISPOSED,
55
+ 其未 settle 的 ready 以 API_NOT_READY 拒绝(handler 解绑换代,Task 15) */
56
+ activate(): AgentRuntime;
57
+ /** 标记本代次 ready(通常由 CameraScene 绑定完整 handlers 后调用) */
58
+ markReady(): void;
59
+ /** 会话拆解:取消 historic 订阅、硬取消在途任务、拒绝全部挂载 waiter
60
+ (placement/camera/anchor)、失效全部代次并拒绝未 settle 的 ready */
61
+ dispose(): void;
62
+ };
63
+ /** 判定错误是否来自"代次被替换但会话未 dispose"(门面映射 API_NOT_READY 的依据) */
64
+ export declare function isGenerationSupersededError(error: unknown): boolean;
65
+ export declare function createAgentRuntime(deps: AgentRuntimeDeps): AgentRuntime;
66
+ export {};
67
+ //# sourceMappingURL=runtime.d.ts.map