@fps-games/editor 0.2.0-beta.2 → 0.2.0-beta.4

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 (652) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  3. package/dist/agent-bridge/capabilities/editor-state.js +26 -17
  4. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  7. package/dist/agent-bridge/capabilities/prefabs.js +61 -13
  8. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
  10. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
  12. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  13. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  14. package/dist/agent-bridge/capabilities/selection.js +8 -5
  15. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  17. package/dist/agent-bridge/capabilities/shadows.js +11 -2
  18. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  19. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  20. package/dist/agent-bridge/capabilities/transform.js +6 -4
  21. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  22. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  23. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  24. package/dist/agent-bridge/capabilities/viewport.js +79 -47
  25. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/diagnostics.js.map +1 -1
  28. package/dist/agent-bridge/index.js.map +1 -1
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +8 -3
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +32 -0
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.js.map +1 -1
  35. package/dist/authoring-apply.js.map +1 -1
  36. package/dist/build-info.json +48 -48
  37. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  38. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  41. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  42. package/dist/local-editor-agent-actions.js +9 -5
  43. package/dist/local-editor-agent-actions.js.map +1 -1
  44. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  45. package/dist/local-editor-agent-bridge.js.map +1 -1
  46. package/dist/local-editor-agent-context.js.map +1 -1
  47. package/dist/local-editor-harness.d.ts +57 -1
  48. package/dist/local-editor-harness.d.ts.map +1 -1
  49. package/dist/local-editor-harness.js +393 -41
  50. package/dist/local-editor-harness.js.map +1 -1
  51. package/dist/local-editor-marker-graph.js.map +1 -1
  52. package/dist/local-editor-performance-stats.js.map +1 -1
  53. package/dist/local-editor-plugin-inspector.js.map +1 -1
  54. package/dist/local-editor-plugin-panel.js.map +1 -1
  55. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  56. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  57. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  58. package/dist/playable-babylon-facade.js.map +1 -1
  59. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  60. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  61. package/dist/playable-babylon-rendering.js.map +1 -1
  62. package/dist/playable-local-editor-host.d.ts +36 -0
  63. package/dist/playable-local-editor-host.d.ts.map +1 -1
  64. package/dist/playable-local-editor-host.js.map +1 -1
  65. package/dist/playable-product-local-editor.js.map +1 -1
  66. package/dist/playable-product-projection-preview.js.map +1 -1
  67. package/dist/playable-product-rendering.js.map +1 -1
  68. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  69. package/dist/playable-product-scene-capabilities.js +49 -2
  70. package/dist/playable-product-scene-capabilities.js.map +1 -1
  71. package/dist/playable-runtime-babylon.js.map +1 -1
  72. package/dist/playable-runtime.js.map +1 -1
  73. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  74. package/dist/playable-sdk-vite.js.map +1 -1
  75. package/dist/playable-sdk.js.map +1 -1
  76. package/dist/playable-standard-project.js.map +1 -1
  77. package/dist/static-shadow-cpu-worker.js.map +1 -1
  78. package/dist/vite.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  98. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  99. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  100. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  102. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  103. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  104. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  105. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  106. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  107. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  108. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  109. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  110. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  111. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  112. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  113. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  114. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  137. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  142. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  144. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  146. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  148. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  149. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  150. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  151. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  152. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  153. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  155. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  218. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  219. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  220. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  222. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  223. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  224. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  225. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  226. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  227. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  228. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
  229. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  230. package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
  231. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  232. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  233. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  235. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  236. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  237. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  238. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  240. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  241. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  243. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  244. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  245. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  246. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  247. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  248. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  249. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  251. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  253. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  254. package/node_modules/@fps-games/editor-core/package.json +6 -6
  255. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  256. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  257. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  607. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  608. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  609. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  610. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  612. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  613. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  614. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  619. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  620. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  621. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  622. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  623. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  627. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  628. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  629. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  633. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  634. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  635. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  640. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  641. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  645. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  646. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  647. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  652. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/lighting-debug/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/lighting-debug/math.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneDirectionalLight,\n EditorSceneGameObject,\n EditorSceneColorRgb,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n findEditorSceneTransform,\n} from '../document/index';\n\nexport const EDITOR_SCENE_DEFAULT_DIRECTIONAL_LIGHT_DIRECTION: EditorSceneVec3 = { x: -0.3, y: -1, z: -0.2 };\nexport const EDITOR_SCENE_LIGHT_DIRECTION_HORIZONTAL_MIN_DEG = -180;\nexport const EDITOR_SCENE_LIGHT_DIRECTION_HORIZONTAL_MAX_DEG = 180;\nexport const EDITOR_SCENE_LIGHT_DIRECTION_ELEVATION_MIN_DEG = -90;\nexport const EDITOR_SCENE_LIGHT_DIRECTION_ELEVATION_MAX_DEG = 90;\n\nexport function normalizeEditorSceneLightDirectionVector(\n direction: EditorSceneVec3 | undefined,\n fallback: EditorSceneVec3 = EDITOR_SCENE_DEFAULT_DIRECTIONAL_LIGHT_DIRECTION,\n): EditorSceneVec3 {\n const candidate = direction && isVec3(direction) ? direction : fallback;\n const length = Math.hypot(candidate.x, candidate.y, candidate.z);\n if (!Number.isFinite(length) || length <= 0.000001) {\n const fallbackLength = Math.hypot(fallback.x, fallback.y, fallback.z) || 1;\n return {\n x: fallback.x / fallbackLength,\n y: fallback.y / fallbackLength,\n z: fallback.z / fallbackLength,\n };\n }\n return {\n x: candidate.x / length,\n y: candidate.y / length,\n z: candidate.z / length,\n };\n}\n\nexport function readEditorSceneDirectionalLightAngles(direction: EditorSceneVec3 | undefined): {\n horizontalAngleDeg: number;\n elevationAngleDeg: number;\n} {\n const normalized = normalizeEditorSceneLightDirectionVector(direction);\n return {\n horizontalAngleDeg: Math.round(normalizeEditorSceneLightingAngleDegrees(radiansToDegrees(Math.atan2(normalized.z, normalized.x)))),\n elevationAngleDeg: Math.round(radiansToDegrees(Math.asin(clampNumber(-normalized.y, -1, 1)))),\n };\n}\n\nexport function createEditorSceneDirectionalLightDirectionFromAngles(\n horizontalAngleDeg: number,\n elevationAngleDeg: number,\n): EditorSceneVec3 {\n const horizontal = degreesToRadians(normalizeEditorSceneLightingAngleDegrees(horizontalAngleDeg));\n const elevation = degreesToRadians(clampNumber(\n elevationAngleDeg,\n EDITOR_SCENE_LIGHT_DIRECTION_ELEVATION_MIN_DEG,\n EDITOR_SCENE_LIGHT_DIRECTION_ELEVATION_MAX_DEG,\n ));\n const horizontalLength = Math.cos(elevation);\n return {\n x: roundVectorComponent(horizontalLength * Math.cos(horizontal)),\n y: roundVectorComponent(-Math.sin(elevation)),\n z: roundVectorComponent(horizontalLength * Math.sin(horizontal)),\n };\n}\n\nexport interface EditorSceneDirectionalLightOrientationDrift {\n hasDrift: boolean;\n expectedDirection: EditorSceneVec3;\n actualDirection: EditorSceneVec3;\n delta: number;\n tolerance: number;\n}\n\nexport interface EditorSceneDirectionalLightOrientation {\n horizontalAngleDeg: number;\n elevationAngleDeg: number;\n rotation: EditorSceneVec3;\n direction: EditorSceneVec3;\n source: 'transform.rotation' | 'light.direction';\n}\n\nexport function readEditorSceneDirectionalLightOrientation(\n gameObject: EditorSceneGameObject,\n): EditorSceneDirectionalLightOrientation | null {\n if (!isEditorSceneDirectionalLight(gameObject.light)) return null;\n const transform = findEditorSceneTransform(gameObject);\n const rotation = transform && 'rotation' in transform ? transform.rotation : undefined;\n const angles = readEditorSceneDirectionalLightOrientationAngles({\n direction: gameObject.light.direction,\n rotation,\n });\n const direction = createEditorSceneDirectionalLightDirectionFromAngles(\n angles.horizontalAngleDeg,\n angles.elevationAngleDeg,\n );\n return {\n horizontalAngleDeg: angles.horizontalAngleDeg,\n elevationAngleDeg: angles.elevationAngleDeg,\n rotation: {\n x: degreesToRadians(angles.elevationAngleDeg),\n y: degreesToRadians(angles.horizontalAngleDeg),\n z: isFiniteNumber(rotation?.z) ? rotation.z : 0,\n },\n direction,\n source: rotation ? 'transform.rotation' : 'light.direction',\n };\n}\n\nexport function patchEditorSceneDirectionalLightOrientationAngles<\n TGameObject extends EditorSceneGameObject,\n>(\n gameObject: TGameObject,\n patch: {\n horizontalAngleDeg?: number;\n elevationAngleDeg?: number;\n },\n): TGameObject {\n if (!isEditorSceneDirectionalLight(gameObject.light)) return gameObject;\n const current = readEditorSceneDirectionalLightOrientation(gameObject);\n if (!current) return gameObject;\n const horizontalAngleDeg = isFiniteNumber(patch.horizontalAngleDeg)\n ? patch.horizontalAngleDeg\n : current.horizontalAngleDeg;\n const elevationAngleDeg = isFiniteNumber(patch.elevationAngleDeg)\n ? patch.elevationAngleDeg\n : current.elevationAngleDeg;\n const direction = createEditorSceneDirectionalLightDirectionFromAngles(horizontalAngleDeg, elevationAngleDeg);\n const rotation = {\n ...current.rotation,\n x: degreesToRadians(elevationAngleDeg),\n y: degreesToRadians(horizontalAngleDeg),\n };\n return {\n ...gameObject,\n light: {\n ...gameObject.light,\n direction,\n },\n components: gameObject.components.map((component) => (\n component === findEditorSceneTransform(gameObject) && 'rotation' in component\n ? { ...component, rotation }\n : component\n )),\n };\n}\n\nexport function createEditorSceneDirectionalLightDirectionFromTransformRotation(\n rotation: EditorSceneVec3 | undefined,\n fallbackDirection: EditorSceneVec3 = EDITOR_SCENE_DEFAULT_DIRECTIONAL_LIGHT_DIRECTION,\n): EditorSceneVec3 {\n const { horizontalAngleDeg, elevationAngleDeg } = readEditorSceneDirectionalLightOrientationAngles({\n direction: fallbackDirection,\n rotation,\n });\n return createEditorSceneDirectionalLightDirectionFromAngles(horizontalAngleDeg, elevationAngleDeg);\n}\n\nexport function createEditorSceneTransformRotationFromDirectionalLightDirection(\n direction: EditorSceneVec3 | undefined,\n previousRotation?: EditorSceneVec3,\n): EditorSceneVec3 {\n const angles = readEditorSceneDirectionalLightExactAngles(direction);\n return {\n x: degreesToRadians(angles.elevationAngleDeg),\n y: degreesToRadians(angles.horizontalAngleDeg),\n z: isFiniteNumber(previousRotation?.z) ? previousRotation.z : 0,\n };\n}\n\nexport function syncEditorSceneDirectionalLightOrientationAfterTransformPatch<\n TGameObject extends EditorSceneGameObject,\n>(\n gameObject: TGameObject,\n): TGameObject {\n if (!isEditorSceneDirectionalLight(gameObject.light)) return gameObject;\n const transform = findEditorSceneTransform(gameObject);\n if (!transform || !('rotation' in transform)) return gameObject;\n const direction = createEditorSceneDirectionalLightDirectionFromTransformRotation(\n transform.rotation,\n gameObject.light.direction,\n );\n if (areEditorSceneVec3Close(direction, normalizeEditorSceneLightDirectionVector(gameObject.light.direction))) {\n return gameObject;\n }\n return {\n ...gameObject,\n light: {\n ...gameObject.light,\n direction,\n },\n };\n}\n\nexport function syncEditorSceneDirectionalLightTransformRotationAfterDirectionPatch<\n TGameObject extends EditorSceneGameObject,\n>(\n gameObject: TGameObject,\n): TGameObject {\n if (!isEditorSceneDirectionalLight(gameObject.light)) return gameObject;\n const transform = findEditorSceneTransform(gameObject);\n if (!transform || !('rotation' in transform)) return gameObject;\n const rotation = createEditorSceneTransformRotationFromDirectionalLightDirection(\n gameObject.light.direction,\n transform.rotation,\n );\n if (areEditorSceneVec3Close(rotation, transform.rotation)) return gameObject;\n return {\n ...gameObject,\n components: gameObject.components.map((component) => (\n component === transform\n ? { ...transform, rotation }\n : component\n )),\n };\n}\n\nexport function detectEditorSceneDirectionalLightOrientationDrift(input: {\n direction: EditorSceneVec3 | undefined;\n rotation: EditorSceneVec3 | undefined;\n tolerance?: number;\n}): EditorSceneDirectionalLightOrientationDrift {\n const tolerance = input.tolerance ?? 0.001;\n const expectedDirection = createEditorSceneDirectionalLightDirectionFromTransformRotation(input.rotation, input.direction);\n const actualDirection = normalizeEditorSceneLightDirectionVector(input.direction);\n const delta = Math.hypot(\n expectedDirection.x - actualDirection.x,\n expectedDirection.y - actualDirection.y,\n expectedDirection.z - actualDirection.z,\n );\n return {\n hasDrift: delta > tolerance,\n expectedDirection,\n actualDirection,\n delta,\n tolerance,\n };\n}\n\nexport function readEditorSceneLightingProjectedLengthMultiplier(direction: EditorSceneVec3): number {\n const normalized = normalizeEditorSceneLightDirectionVector(direction);\n const vertical = Math.abs(normalized.y);\n if (vertical <= 0.000001) return 999;\n return Math.min(999, Math.hypot(normalized.x, normalized.z) / vertical);\n}\n\nexport function colorToEditorSceneLightingHex(color: EditorSceneColorRgb): string {\n const toByte = (value: number) => Math.max(0, Math.min(255, Math.round(value * 255)));\n return `#${[toByte(color.r), toByte(color.g), toByte(color.b)]\n .map(value => value.toString(16).padStart(2, '0'))\n .join('')}`;\n}\n\nexport function colorFromEditorSceneLightingHex(value: string, fallback: EditorSceneColorRgb): EditorSceneColorRgb {\n const match = /^#?([0-9a-f]{6})$/i.exec(value.trim());\n if (!match) return fallback;\n const hex = match[1];\n return {\n r: parseInt(hex.slice(0, 2), 16) / 255,\n g: parseInt(hex.slice(2, 4), 16) / 255,\n b: parseInt(hex.slice(4, 6), 16) / 255,\n };\n}\n\nexport function roundEditorSceneLightingNumber(value: number, digits = 3): number {\n const factor = 10 ** digits;\n return Math.round(value * factor) / factor;\n}\n\nexport function formatEditorSceneLightingNumber(value: number, digits = 3): string {\n return value.toFixed(digits);\n}\n\nexport function normalizeEditorSceneLightingAngleDegrees(value: number): number {\n const normalized = ((((value + 180) % 360) + 360) % 360) - 180;\n return normalized === -180 ? 180 : normalized;\n}\n\nfunction isVec3(value: EditorSceneVec3): boolean {\n return typeof value.x === 'number'\n && Number.isFinite(value.x)\n && typeof value.y === 'number'\n && Number.isFinite(value.y)\n && typeof value.z === 'number'\n && Number.isFinite(value.z);\n}\n\nfunction isEditorSceneDirectionalLight(light: EditorSceneGameObject['light']): light is EditorSceneDirectionalLight {\n return light?.type === 'directional';\n}\n\nfunction readEditorSceneDirectionalLightExactAngles(direction: EditorSceneVec3 | undefined): {\n horizontalAngleDeg: number;\n elevationAngleDeg: number;\n} {\n const normalized = normalizeEditorSceneLightDirectionVector(direction);\n return {\n horizontalAngleDeg: normalizeEditorSceneLightingAngleDegrees(radiansToDegrees(Math.atan2(normalized.z, normalized.x))),\n elevationAngleDeg: radiansToDegrees(Math.asin(clampNumber(-normalized.y, -1, 1))),\n };\n}\n\nfunction readEditorSceneDirectionalLightOrientationAngles(input: {\n direction: EditorSceneVec3 | undefined;\n rotation: EditorSceneVec3 | undefined;\n}): {\n horizontalAngleDeg: number;\n elevationAngleDeg: number;\n} {\n const fallbackAngles = readEditorSceneDirectionalLightExactAngles(input.direction);\n return {\n horizontalAngleDeg: isFiniteNumber(input.rotation?.y)\n ? radiansToDegrees(input.rotation.y)\n : fallbackAngles.horizontalAngleDeg,\n elevationAngleDeg: isFiniteNumber(input.rotation?.x)\n ? radiansToDegrees(input.rotation.x)\n : fallbackAngles.elevationAngleDeg,\n };\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nfunction areEditorSceneVec3Close(a: EditorSceneVec3, b: EditorSceneVec3, epsilon = 0.000001): boolean {\n return Math.abs(a.x - b.x) <= epsilon\n && Math.abs(a.y - b.y) <= epsilon\n && Math.abs(a.z - b.z) <= epsilon;\n}\n\nfunction radiansToDegrees(value: number): number {\n return (value * 180) / Math.PI;\n}\n\nfunction degreesToRadians(value: number): number {\n return (value * Math.PI) / 180;\n}\n\nfunction roundVectorComponent(value: number): number {\n return Math.round(value * 1000000) / 1000000;\n}\n\nfunction clampNumber(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"save-patch.js","sourceRoot":"","sources":["../../src/lighting-debug/save-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save-patch.js","sourceRoot":"","sources":["../../src/lighting-debug/save-patch.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneColorRgb,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n patchEditorSceneGameObjectField,\n} from '../mutation/index';\nimport {\n ensureEditorSceneGameObjectGuids,\n isEditorSceneLightGameObject,\n} from '../session/index';\nimport {\n normalizeEditorSceneLightDirectionVector,\n} from './math';\nimport {\n normalizeEditorSceneRuntimeLightBinding,\n} from './binding';\nimport type {\n EditorSceneDirectionalLightConfig,\n EditorSceneHemisphericLightConfig,\n EditorSceneLightConfig,\n EditorSceneRuntimeLightBinding,\n EditorSceneRuntimeLightingPatch,\n EditorSceneRuntimeLightingPatchOptions,\n EditorSceneRuntimeLightingPatchResult,\n} from './types';\n\nexport function patchEditorSceneRuntimeLights<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n>(\n document: TDocument,\n patches: EditorSceneRuntimeLightingPatch[],\n options: EditorSceneRuntimeLightingPatchOptions<TDocument, TGameObject> = {},\n): EditorSceneRuntimeLightingPatchResult<TDocument> {\n const originalGuidById = createOriginalEditorSceneGuidById(document);\n let nextDocument = ensureEditorSceneGameObjectGuids(document);\n const targets: EditorSceneRuntimeLightingPatchResult<TDocument>['targets'] = [];\n\n for (const patch of patches) {\n const sanitizedPatch = sanitizeEditorSceneRuntimeLightingPatch(patch);\n const binding = normalizeEditorSceneRuntimeLightBinding(sanitizedPatch.binding);\n if (options.expectedSourceId && binding.sourceId !== options.expectedSourceId) {\n throw new Error(`Runtime light binding source mismatch: ${binding.sourceId} !== ${options.expectedSourceId}`);\n }\n\n const target = findEditorSceneRuntimeLightTarget(\n nextDocument,\n binding,\n originalGuidById,\n ) as TGameObject | null;\n if (!target) {\n throw new Error('Runtime light binding did not match an editor light object.');\n }\n assertEditorSceneRuntimeLightTarget(target, sanitizedPatch.light.type, binding);\n\n nextDocument = patchRuntimeLightField(nextDocument, target.id, 'enabled', sanitizedPatch.enabled, options);\n nextDocument = patchRuntimeLightField(nextDocument, target.id, 'light.intensity', sanitizedPatch.light.intensity, options);\n if (sanitizedPatch.light.diffuseColor) {\n nextDocument = patchRuntimeLightField(nextDocument, target.id, 'light.diffuseColor', sanitizedPatch.light.diffuseColor, options);\n }\n\n if (sanitizedPatch.light.type === 'hemispheric') {\n if (sanitizedPatch.light.groundColor) {\n nextDocument = patchRuntimeLightField(nextDocument, target.id, 'light.groundColor', sanitizedPatch.light.groundColor, options);\n }\n } else {\n nextDocument = patchRuntimeLightField(nextDocument, target.id, 'light.direction', sanitizedPatch.light.direction, options);\n }\n\n targets.push({\n id: target.id,\n ...(target.guid ? { objectGuid: target.guid } : {}),\n lightType: sanitizedPatch.light.type,\n });\n }\n\n return {\n document: nextDocument,\n targets,\n };\n}\n\nexport function findEditorSceneRuntimeLightTarget<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n>(\n document: EditorSceneDocument<TGameObject>,\n binding: Pick<EditorSceneRuntimeLightBinding, 'objectGuid' | 'objectId'>,\n originalGuidById: Map<string, string> = createOriginalEditorSceneGuidById(document),\n): TGameObject | null {\n if (binding.objectGuid) {\n const guidMatch = document.scene.gameObjects.find((gameObject) => gameObject.guid === binding.objectGuid) ?? null;\n if (guidMatch) {\n if (binding.objectId && guidMatch.id !== binding.objectId) {\n throw new Error(`Runtime light binding guid/id conflict: ${binding.objectGuid} belongs to ${guidMatch.id}, not ${binding.objectId}.`);\n }\n return guidMatch;\n }\n }\n\n if (!binding.objectId) return null;\n const idMatch = document.scene.gameObjects.find((gameObject) => gameObject.id === binding.objectId) ?? null;\n if (!idMatch) return null;\n const originalGuid = originalGuidById.get(idMatch.id);\n if (binding.objectGuid && originalGuid && originalGuid !== binding.objectGuid) {\n throw new Error(`Runtime light binding guid conflict for ${idMatch.id}.`);\n }\n return idMatch;\n}\n\nexport function sanitizeEditorSceneRuntimeLightingPatch(\n patch: EditorSceneRuntimeLightingPatch,\n): EditorSceneRuntimeLightingPatch {\n const enabled = readRuntimeBoolean(patch.enabled, 'enabled');\n if (patch.light.type === 'hemispheric') {\n return {\n binding: patch.binding,\n enabled,\n light: sanitizeEditorSceneRuntimeHemisphericLight(patch.light),\n };\n }\n return {\n binding: patch.binding,\n enabled,\n light: sanitizeEditorSceneRuntimeDirectionalLight(patch.light),\n };\n}\n\nexport function sanitizeEditorSceneRuntimeHemisphericLight(\n light: EditorSceneHemisphericLightConfig,\n): EditorSceneHemisphericLightConfig {\n if (light.type !== 'hemispheric') throw new Error('Runtime light patch must be hemispheric.');\n return {\n type: 'hemispheric',\n intensity: readNonNegativeRuntimeNumber(light.intensity, 'hemispheric.intensity'),\n ...(light.diffuseColor ? { diffuseColor: readRuntimeColor(light.diffuseColor, 'hemispheric.diffuseColor') } : {}),\n ...(light.groundColor ? { groundColor: readRuntimeColor(light.groundColor, 'hemispheric.groundColor') } : {}),\n };\n}\n\nexport function sanitizeEditorSceneRuntimeDirectionalLight(\n light: EditorSceneDirectionalLightConfig,\n): EditorSceneDirectionalLightConfig {\n if (light.type !== 'directional') throw new Error('Runtime light patch must be directional.');\n return {\n type: 'directional',\n intensity: readNonNegativeRuntimeNumber(light.intensity, 'directional.intensity'),\n direction: normalizeEditorSceneLightDirectionVector(readRuntimeVec3(light.direction, 'directional.direction')) as EditorSceneVec3,\n ...(light.diffuseColor ? { diffuseColor: readRuntimeColor(light.diffuseColor, 'directional.diffuseColor') } : {}),\n };\n}\n\nfunction patchRuntimeLightField<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n targetId: string,\n path: string,\n value: unknown,\n options: EditorSceneRuntimeLightingPatchOptions<TDocument, TGameObject>,\n): TDocument {\n return options.patchLightField\n ? options.patchLightField(document, targetId, path, value)\n : patchEditorSceneGameObjectField(document, targetId, path, value, options.fieldMutation);\n}\n\nfunction assertEditorSceneRuntimeLightTarget(\n target: EditorSceneGameObject,\n lightType: EditorSceneLightConfig['type'],\n binding: Pick<EditorSceneRuntimeLightBinding, 'lightType'>,\n): void {\n if (!isEditorSceneLightGameObject(target)) {\n throw new Error(`Runtime light binding target is not a light object: ${target.id}`);\n }\n if (!target.light) {\n throw new Error(`Runtime light binding target is missing light config: ${target.id}`);\n }\n if (target.light.type !== lightType) {\n throw new Error(`Runtime light binding type mismatch for ${target.id}: ${target.light.type} !== ${lightType}`);\n }\n if (binding.lightType && binding.lightType !== lightType) {\n throw new Error(`Runtime light binding metadata type mismatch: ${binding.lightType} !== ${lightType}`);\n }\n}\n\nfunction createOriginalEditorSceneGuidById<TGameObject extends Pick<EditorSceneGameObject, 'id' | 'guid'>>(\n document: Pick<EditorSceneDocument<TGameObject & EditorSceneGameObject>, 'scene'>,\n): Map<string, string> {\n const result = new Map<string, string>();\n for (const gameObject of document.scene.gameObjects) {\n const guid = readNonEmptyString(gameObject.guid);\n if (guid) result.set(gameObject.id, guid);\n }\n return result;\n}\n\nfunction readRuntimeBoolean(value: unknown, label: string): boolean {\n if (typeof value !== 'boolean') throw new Error(`Runtime light ${label} must be a boolean.`);\n return value;\n}\n\nfunction readNonNegativeRuntimeNumber(value: unknown, label: string): number {\n if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {\n throw new Error(`Runtime light ${label} must be a non-negative finite number.`);\n }\n return value;\n}\n\nfunction readRuntimeColor(value: EditorSceneColorRgb, label: string): EditorSceneColorRgb {\n return {\n r: readFiniteRuntimeNumber(value.r, `${label}.r`),\n g: readFiniteRuntimeNumber(value.g, `${label}.g`),\n b: readFiniteRuntimeNumber(value.b, `${label}.b`),\n };\n}\n\nfunction readRuntimeVec3(value: EditorSceneVec3, label: string): EditorSceneVec3 {\n return {\n x: readFiniteRuntimeNumber(value.x, `${label}.x`),\n y: readFiniteRuntimeNumber(value.y, `${label}.y`),\n z: readFiniteRuntimeNumber(value.z, `${label}.z`),\n };\n}\n\nfunction readFiniteRuntimeNumber(value: unknown, label: string): number {\n if (typeof value !== 'number' || !Number.isFinite(value)) {\n throw new Error(`Runtime light ${label} must be a finite number.`);\n }\n return value;\n}\n\nfunction readNonEmptyString(value: unknown): string | null {\n return typeof value === 'string' && value.trim() ? value.trim() : null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/lighting-debug/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/lighting-debug/snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneColorRgb,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n createEditorSceneDirectionalLightDirectionFromAngles,\n readEditorSceneDirectionalLightAngles,\n readEditorSceneLightingProjectedLengthMultiplier,\n} from './math';\nimport type {\n EditorSceneLightingDebugColorField,\n EditorSceneLightingDebugNumberField,\n EditorSceneLightingDebugSnapshot,\n EditorSceneRuntimeLightingPatch,\n} from './types';\n\nexport function cloneEditorSceneLightingDebugSnapshot(\n snapshot: EditorSceneLightingDebugSnapshot,\n): EditorSceneLightingDebugSnapshot {\n return {\n environment: {\n enabled: snapshot.environment.enabled,\n binding: snapshot.environment.binding ? { ...snapshot.environment.binding } : null,\n light: {\n type: 'hemispheric',\n intensity: snapshot.environment.light.intensity,\n ...(snapshot.environment.light.diffuseColor ? { diffuseColor: { ...snapshot.environment.light.diffuseColor } } : {}),\n ...(snapshot.environment.light.groundColor ? { groundColor: { ...snapshot.environment.light.groundColor } } : {}),\n },\n },\n directional: {\n enabled: snapshot.directional.enabled,\n binding: snapshot.directional.binding ? { ...snapshot.directional.binding } : null,\n light: {\n type: 'directional',\n intensity: snapshot.directional.light.intensity,\n direction: { ...snapshot.directional.light.direction },\n ...(snapshot.directional.light.diffuseColor ? { diffuseColor: { ...snapshot.directional.light.diffuseColor } } : {}),\n },\n },\n shadow: { ...snapshot.shadow },\n };\n}\n\nexport function canSaveEditorSceneLightingDebugSnapshot(snapshot: EditorSceneLightingDebugSnapshot): boolean {\n return !!snapshot.environment.binding && !!snapshot.directional.binding;\n}\n\nexport function toEditorSceneRuntimeLightingPatches(\n snapshot: EditorSceneLightingDebugSnapshot,\n): EditorSceneRuntimeLightingPatch[] {\n if (!canSaveEditorSceneLightingDebugSnapshot(snapshot)) return [];\n return [\n {\n binding: snapshot.environment.binding!,\n enabled: snapshot.environment.enabled,\n light: snapshot.environment.light,\n },\n {\n binding: snapshot.directional.binding!,\n enabled: snapshot.directional.enabled,\n light: snapshot.directional.light,\n },\n ];\n}\n\nexport function readEditorSceneLightingDebugNumberSnapshotField(\n snapshot: EditorSceneLightingDebugSnapshot,\n field: EditorSceneLightingDebugNumberField,\n): number {\n switch (field) {\n case 'environmentIntensity': return snapshot.environment.light.intensity;\n case 'directionalIntensity': return snapshot.directional.light.intensity;\n case 'directionalHorizontalAngle': return readEditorSceneDirectionalLightAngles(snapshot.directional.light.direction).horizontalAngleDeg;\n case 'directionalElevationAngle': return readEditorSceneDirectionalLightAngles(snapshot.directional.light.direction).elevationAngleDeg;\n }\n}\n\nexport function readEditorSceneLightingDebugColorSnapshotField(\n snapshot: EditorSceneLightingDebugSnapshot,\n field: EditorSceneLightingDebugColorField,\n): EditorSceneColorRgb {\n switch (field) {\n case 'environmentDiffuseColor': return snapshot.environment.light.diffuseColor ?? { r: 1, g: 1, b: 1 };\n case 'environmentGroundColor': return snapshot.environment.light.groundColor ?? { r: 0.48, g: 0.52, b: 0.62 };\n case 'directionalDiffuseColor': return snapshot.directional.light.diffuseColor ?? { r: 1, g: 1, b: 1 };\n }\n}\n\nexport function updateEditorSceneLightingDebugSnapshotFromAngles(\n snapshot: EditorSceneLightingDebugSnapshot,\n horizontalAngleDeg: number,\n elevationAngleDeg: number,\n): EditorSceneLightingDebugSnapshot {\n const direction = createEditorSceneDirectionalLightDirectionFromAngles(horizontalAngleDeg, elevationAngleDeg);\n return updateEditorSceneLightingDebugSnapshotDirection(snapshot, direction);\n}\n\nexport function updateEditorSceneLightingDebugSnapshotDirection(\n snapshot: EditorSceneLightingDebugSnapshot,\n direction: EditorSceneVec3,\n): EditorSceneLightingDebugSnapshot {\n const next = cloneEditorSceneLightingDebugSnapshot(snapshot);\n next.directional.light.direction = { ...direction };\n next.shadow.projectedLengthMultiplier = readEditorSceneLightingProjectedLengthMultiplier(direction);\n return next;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lighting-debug/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gDAAgD,EAChD,uCAAuC,GACxC,MAAM,UAAU,CAAC;AAclB,MAAM,UAAU,sCAAsC,CACpD,GAA0D;IAE1D,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,uCAAuC,CAAC,KAAK,MAAM,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,GAA0D,EAC1D,KAAc;IAEd,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,GAA0D;IAE1D,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,gDAAgD,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,GAA0D,EAC1D,KAAuC;IAEvC,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lighting-debug/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gDAAgD,EAChD,uCAAuC,GACxC,MAAM,UAAU,CAAC;AAclB,MAAM,UAAU,sCAAsC,CACpD,GAA0D;IAE1D,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,uCAAuC,CAAC,KAAK,MAAM,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,GAA0D,EAC1D,KAAc;IAEd,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,GAA0D;IAE1D,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,gDAAgD,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,GAA0D,EAC1D,KAAuC;IAEvC,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC","sourcesContent":["import {\n EDITOR_SCENE_LIGHTING_DEBUG_LANGUAGE_STORAGE_KEY,\n EDITOR_SCENE_LIGHTING_DEBUG_STORAGE_KEY,\n} from './fields';\nimport type {\n EditorSceneLightingDebugLanguage,\n} from './types';\n\nexport interface EditorSceneLightingDebugStorageLike {\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n}\n\nexport interface EditorSceneLightingDebugWindowLike {\n localStorage?: EditorSceneLightingDebugStorageLike | null;\n}\n\nexport function readStoredEditorSceneLightingDebugOpen(\n win: EditorSceneLightingDebugWindowLike | null | undefined,\n): boolean {\n try {\n return win?.localStorage?.getItem(EDITOR_SCENE_LIGHTING_DEBUG_STORAGE_KEY) === 'true';\n } catch {\n return false;\n }\n}\n\nexport function writeStoredEditorSceneLightingDebugOpen(\n win: EditorSceneLightingDebugWindowLike | null | undefined,\n value: boolean,\n): void {\n try {\n win?.localStorage?.setItem(EDITOR_SCENE_LIGHTING_DEBUG_STORAGE_KEY, String(value));\n } catch {\n // localStorage can be unavailable in embedded previews.\n }\n}\n\nexport function readStoredEditorSceneLightingDebugLanguage(\n win: EditorSceneLightingDebugWindowLike | null | undefined,\n): EditorSceneLightingDebugLanguage {\n try {\n return win?.localStorage?.getItem(EDITOR_SCENE_LIGHTING_DEBUG_LANGUAGE_STORAGE_KEY) === 'en' ? 'en' : 'zh';\n } catch {\n return 'zh';\n }\n}\n\nexport function writeStoredEditorSceneLightingDebugLanguage(\n win: EditorSceneLightingDebugWindowLike | null | undefined,\n value: EditorSceneLightingDebugLanguage,\n): void {\n try {\n win?.localStorage?.setItem(EDITOR_SCENE_LIGHTING_DEBUG_LANGUAGE_STORAGE_KEY, value);\n } catch {\n // localStorage can be unavailable in embedded previews.\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/lighting-debug/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/lighting-debug/text.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneLightingDebugLanguage,\n EditorSceneLightingDebugText,\n EditorSceneLightingDebugTooltipText,\n EditorSceneRuntimeShadowMode,\n} from './types';\n\nexport const EDITOR_SCENE_LIGHTING_DEBUG_TEXT: Record<EditorSceneLightingDebugLanguage, EditorSceneLightingDebugText> = {\n zh: {\n title: '光照调试',\n runtime: '运行时',\n languageButton: 'EN',\n toggleTitle: '打开光照调试面板',\n environmentSection: '环境光',\n directionalSection: '直射光',\n enabled: '启用',\n intensity: '强度',\n skyLightColor: '天空光颜色',\n groundColor: '地面颜色',\n horizontalAngle: '水平角',\n elevationAngle: '高度角',\n lightColor: '光照颜色',\n rawDirection: '原始方向',\n shadowReadout: '阴影',\n shadowPlanarFollow: 'Planar / 跟随直射光',\n shadowDynamic: '动态阴影',\n shadowBlob: 'Blob 阴影',\n shadowStatic: '静态烘焙阴影',\n shadowNone: 'Off',\n shadowUnknown: 'Unknown',\n reset: '重置参数',\n save: '保存参数',\n resetStatus: '已重置为初始运行时光照。',\n savingStatus: '正在保存光照参数...',\n savedStatus: '已保存光照参数。',\n saveFailed: '保存失败',\n missingBindingStatus: '缺少光源绑定,只能临时预览,不能保存。',\n },\n en: {\n title: 'Lighting Debug',\n runtime: 'Runtime',\n languageButton: '中文',\n toggleTitle: 'Toggle lighting debug panel',\n environmentSection: 'Environment Light',\n directionalSection: 'Directional Light',\n enabled: 'Enabled',\n intensity: 'Intensity',\n skyLightColor: 'Sky Light Color',\n groundColor: 'Ground Color',\n horizontalAngle: 'Horizontal Angle',\n elevationAngle: 'Elevation Angle',\n lightColor: 'Light Color',\n rawDirection: 'Raw Direction',\n shadowReadout: 'Shadow',\n shadowPlanarFollow: 'Planar / Follow Directional Light',\n shadowDynamic: 'Dynamic Shadow',\n shadowBlob: 'Blob Shadow',\n shadowStatic: 'Static Baked Shadow',\n shadowNone: 'Off',\n shadowUnknown: 'Unknown',\n reset: 'Reset',\n save: 'Save Lights',\n resetStatus: 'Reset to initial runtime lighting.',\n savingStatus: 'Saving lighting...',\n savedStatus: 'Saved lighting.',\n saveFailed: 'Save failed',\n missingBindingStatus: 'Light binding missing; preview only, saving disabled.',\n },\n};\n\nexport const EDITOR_SCENE_LIGHTING_DEBUG_TOOLTIPS: Record<EditorSceneLightingDebugLanguage, EditorSceneLightingDebugTooltipText> = {\n zh: {\n languageButton: '切换光照调试面板的显示语言。',\n toggleTitle: '打开或关闭运行时光照调试面板。',\n enabled: '启用或禁用对应的运行时光源,保存后写回编辑器场景。',\n environmentIntensity: '环境光强度,对应运行时环境光 intensity。',\n directionalIntensity: '直射光强度,对应运行时直射光 intensity。',\n skyLightColor: '环境光来自天空方向的漫反射颜色。',\n groundColor: '环境光来自地面反射方向的颜色。',\n horizontalAngle: '直射光在 XZ 平面内的朝向角度,会转换为运行时方向向量。',\n elevationAngle: '直射光相对地平线的高度角;90 度表示从正上方照下。',\n lightColor: '直射光漫反射颜色。',\n rawDirection: '只读方向向量,用于排查运行时转换结果。',\n shadowReadout: '只读阴影状态;支持宿主提供的运行时阴影模式摘要。',\n reset: '恢复为打开运行时时读取到的初始光照参数。',\n save: '通过编辑器保存链路写回环境光与直射光参数。',\n },\n en: {\n languageButton: 'Switch the lighting debug panel language.',\n toggleTitle: 'Open or close the runtime lighting debug panel.',\n enabled: 'Enable or disable the runtime light and save it back to the editor scene.',\n environmentIntensity: 'Environment intensity. Maps to the runtime environment light intensity.',\n directionalIntensity: 'Directional intensity. Maps to the runtime directional light intensity.',\n skyLightColor: 'Diffuse sky color for the environment light.',\n groundColor: 'Ground bounce color for the environment light.',\n horizontalAngle: 'Directional heading in the XZ plane, converted to a runtime direction vector.',\n elevationAngle: 'Directional elevation above the horizon; 90 degrees points straight down.',\n lightColor: 'Directional diffuse color.',\n rawDirection: 'Read-only direction vector for checking runtime conversion.',\n shadowReadout: 'Read-only shadow status supplied by the host runtime.',\n reset: 'Restore the lighting captured when runtime opened.',\n save: 'Save Environment Light and Directional Light through the editor authoring pipeline.',\n },\n};\n\nexport function readEditorSceneLightingDebugText(\n language: EditorSceneLightingDebugLanguage,\n): EditorSceneLightingDebugText {\n return EDITOR_SCENE_LIGHTING_DEBUG_TEXT[language] ?? EDITOR_SCENE_LIGHTING_DEBUG_TEXT.zh;\n}\n\nexport function readEditorSceneLightingDebugTooltipText(\n language: EditorSceneLightingDebugLanguage,\n): EditorSceneLightingDebugTooltipText {\n return EDITOR_SCENE_LIGHTING_DEBUG_TOOLTIPS[language] ?? EDITOR_SCENE_LIGHTING_DEBUG_TOOLTIPS.zh;\n}\n\nexport function formatEditorSceneLightingShadowMode(\n mode: EditorSceneRuntimeShadowMode,\n text: EditorSceneLightingDebugText,\n): string {\n if (mode === 'planar') return text.shadowPlanarFollow;\n if (mode === 'dynamic') return text.shadowDynamic;\n if (mode === 'blob') return text.shadowBlob;\n if (mode === 'static') return text.shadowStatic;\n if (mode === 'none') return text.shadowNone;\n return text.shadowUnknown;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lighting-debug/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lighting-debug/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n EditorSceneColorRgb,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneVec3,\n} from '../document/index';\n\nexport type EditorSceneLightingDebugLanguage = 'zh' | 'en';\n\nexport type EditorSceneLightingDebugNumberField =\n | 'environmentIntensity'\n | 'directionalIntensity'\n | 'directionalHorizontalAngle'\n | 'directionalElevationAngle';\n\nexport type EditorSceneLightingDebugColorField =\n | 'environmentDiffuseColor'\n | 'environmentGroundColor'\n | 'directionalDiffuseColor';\n\nexport type EditorSceneRuntimeShadowMode = 'none' | 'planar' | 'dynamic' | 'blob' | 'static' | 'unknown';\n\nexport interface EditorSceneDirectionalLightConfig {\n type: 'directional';\n intensity: number;\n direction: EditorSceneVec3;\n diffuseColor?: EditorSceneColorRgb;\n}\n\nexport interface EditorSceneHemisphericLightConfig {\n type: 'hemispheric';\n intensity: number;\n diffuseColor?: EditorSceneColorRgb;\n groundColor?: EditorSceneColorRgb;\n}\n\nexport type EditorSceneLightConfig =\n | EditorSceneDirectionalLightConfig\n | EditorSceneHemisphericLightConfig;\n\nexport interface EditorSceneRuntimeLightBinding {\n sourceId: string;\n objectGuid?: string;\n objectId?: string;\n propertyPath: 'light' | string;\n lightType?: EditorSceneLightConfig['type'] | string;\n}\n\nexport type NormalizedEditorSceneRuntimeLightBinding =\n Required<Pick<EditorSceneRuntimeLightBinding, 'sourceId' | 'propertyPath'>>\n & Pick<EditorSceneRuntimeLightBinding, 'objectGuid' | 'objectId' | 'lightType'>;\n\nexport interface EditorSceneRuntimeLightSnapshot<TLight extends EditorSceneLightConfig = EditorSceneLightConfig> {\n enabled: boolean;\n light: TLight;\n binding: EditorSceneRuntimeLightBinding | null;\n}\n\nexport interface EditorSceneLightingDebugSnapshot {\n environment: EditorSceneRuntimeLightSnapshot<EditorSceneHemisphericLightConfig>;\n directional: EditorSceneRuntimeLightSnapshot<EditorSceneDirectionalLightConfig>;\n shadow: {\n mode: EditorSceneRuntimeShadowMode;\n projectedLengthMultiplier: number;\n };\n}\n\nexport interface EditorSceneLightingDebugNumberFieldConfig {\n field: EditorSceneLightingDebugNumberField;\n step: number;\n min?: number;\n max?: number;\n textKey: keyof EditorSceneLightingDebugText;\n tooltipKey: keyof EditorSceneLightingDebugTooltipText;\n}\n\nexport type EditorSceneLightingDebugText = Record<\n | 'title'\n | 'runtime'\n | 'languageButton'\n | 'toggleTitle'\n | 'environmentSection'\n | 'directionalSection'\n | 'enabled'\n | 'intensity'\n | 'skyLightColor'\n | 'groundColor'\n | 'horizontalAngle'\n | 'elevationAngle'\n | 'lightColor'\n | 'rawDirection'\n | 'shadowReadout'\n | 'shadowPlanarFollow'\n | 'shadowDynamic'\n | 'shadowBlob'\n | 'shadowStatic'\n | 'shadowNone'\n | 'shadowUnknown'\n | 'reset'\n | 'save'\n | 'resetStatus'\n | 'savingStatus'\n | 'savedStatus'\n | 'saveFailed'\n | 'missingBindingStatus',\n string\n>;\n\nexport type EditorSceneLightingDebugTooltipText = Record<\n | 'languageButton'\n | 'toggleTitle'\n | 'enabled'\n | 'environmentIntensity'\n | 'directionalIntensity'\n | 'skyLightColor'\n | 'groundColor'\n | 'horizontalAngle'\n | 'elevationAngle'\n | 'lightColor'\n | 'rawDirection'\n | 'shadowReadout'\n | 'reset'\n | 'save',\n string\n>;\n\nexport type EditorSceneRuntimeLightingPatch =\n | {\n binding: EditorSceneRuntimeLightBinding;\n enabled: boolean;\n light: EditorSceneHemisphericLightConfig;\n }\n | {\n binding: EditorSceneRuntimeLightBinding;\n enabled: boolean;\n light: EditorSceneDirectionalLightConfig;\n };\n\nexport interface EditorSceneRuntimeLightingPatchOptions<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n> {\n expectedSourceId?: string;\n patchLightField?: (\n document: TDocument,\n targetId: string,\n path: string,\n value: unknown,\n ) => TDocument;\n fieldMutation?: import('../mutation/index').EditorSceneFieldMutationOptions<TDocument, TGameObject>;\n}\n\nexport interface EditorSceneRuntimeLightingPatchResult<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targets: Array<{\n id: string;\n objectGuid?: string;\n lightType: EditorSceneLightConfig['type'];\n }>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lighting-preview/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lighting-preview/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC","sourcesContent":["export * from './types';\nexport * from './math';\nexport * from './profile';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/lighting-preview/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/lighting-preview/math.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneLightingPreviewColor,\n} from './types';\nimport type {\n EditorSceneVec3,\n} from '../document/index';\n\nexport function addEditorSceneLightingPreviewColors(\n left: EditorSceneLightingPreviewColor,\n right: EditorSceneLightingPreviewColor,\n): EditorSceneLightingPreviewColor {\n return {\n r: left.r + right.r,\n g: left.g + right.g,\n b: left.b + right.b,\n };\n}\n\nexport function scaleEditorSceneLightingPreviewColor(\n color: EditorSceneLightingPreviewColor,\n scale: number,\n): EditorSceneLightingPreviewColor {\n return {\n r: color.r * scale,\n g: color.g * scale,\n b: color.b * scale,\n };\n}\n\nexport function mixEditorSceneLightingPreviewColor(\n from: EditorSceneLightingPreviewColor,\n to: EditorSceneLightingPreviewColor,\n amount: number,\n): EditorSceneLightingPreviewColor {\n const t = clampEditorSceneLightingPreview01(amount);\n return {\n r: clampEditorSceneLightingPreview01(from.r + (to.r - from.r) * t),\n g: clampEditorSceneLightingPreview01(from.g + (to.g - from.g) * t),\n b: clampEditorSceneLightingPreview01(from.b + (to.b - from.b) * t),\n };\n}\n\nexport function toneMapEditorSceneLightingPreviewColor(\n color: EditorSceneLightingPreviewColor,\n): EditorSceneLightingPreviewColor {\n return {\n r: toneMapEditorSceneLightingPreviewNumber(color.r),\n g: toneMapEditorSceneLightingPreviewNumber(color.g),\n b: toneMapEditorSceneLightingPreviewNumber(color.b),\n };\n}\n\nexport function toneMapEditorSceneLightingPreviewNumber(value: number): number {\n const normalized = Math.max(0, Number.isFinite(value) ? value : 0);\n return clampEditorSceneLightingPreview01(normalized / (1 + normalized * 0.42));\n}\n\nexport function normalizeEditorSceneLightingPreviewVec3(\n value: EditorSceneVec3,\n fallback: EditorSceneVec3,\n): EditorSceneVec3 {\n const length = Math.hypot(value.x, value.y, value.z);\n if (!Number.isFinite(length) || length <= 0.000001) {\n const fallbackLength = Math.hypot(fallback.x, fallback.y, fallback.z);\n if (!Number.isFinite(fallbackLength) || fallbackLength <= 0.000001) return { x: 0, y: 1, z: 0 };\n return {\n x: fallback.x / fallbackLength,\n y: fallback.y / fallbackLength,\n z: fallback.z / fallbackLength,\n };\n }\n return {\n x: value.x / length,\n y: value.y / length,\n z: value.z / length,\n };\n}\n\nexport function readEditorSceneLightingPreviewColor(\n color: Partial<EditorSceneLightingPreviewColor> | undefined,\n fallback: EditorSceneLightingPreviewColor,\n): EditorSceneLightingPreviewColor {\n return {\n r: readEditorSceneLightingPreviewFiniteNumber(color?.r, fallback.r),\n g: readEditorSceneLightingPreviewFiniteNumber(color?.g, fallback.g),\n b: readEditorSceneLightingPreviewFiniteNumber(color?.b, fallback.b),\n };\n}\n\nexport function readEditorSceneLightingPreviewFiniteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nexport function clampEditorSceneLightingPreview01(value: number): number {\n return clampEditorSceneLightingPreviewNumber(value, 0, 1);\n}\n\nexport function clampEditorSceneLightingPreviewNumber(value: number, min: number, max: number): number {\n if (!Number.isFinite(value)) return min;\n return Math.max(min, Math.min(max, value));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/lighting-preview/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/lighting-preview/profile.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneDirectionalLight,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneHemisphericLight,\n EditorSceneLight,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n addEditorSceneLightingPreviewColors,\n clampEditorSceneLightingPreviewNumber,\n mixEditorSceneLightingPreviewColor,\n normalizeEditorSceneLightingPreviewVec3,\n readEditorSceneLightingPreviewColor,\n scaleEditorSceneLightingPreviewColor,\n toneMapEditorSceneLightingPreviewColor,\n} from './math';\nimport type {\n EditorSceneLightingPreviewColor,\n EditorSceneLightingPreviewOptions,\n EditorSceneLightingPreviewProfile,\n} from './types';\n\nconst NIGHT_CLEAR_COLOR: EditorSceneLightingPreviewColor = { r: 0.035, g: 0.045, b: 0.06 };\nconst NIGHT_SKY_TOP: EditorSceneLightingPreviewColor = { r: 0.045, g: 0.06, b: 0.09 };\nconst NIGHT_SKY_HORIZON: EditorSceneLightingPreviewColor = { r: 0.09, g: 0.11, b: 0.14 };\nconst NIGHT_SKY_BOTTOM: EditorSceneLightingPreviewColor = { r: 0.055, g: 0.06, b: 0.07 };\nconst DEFAULT_SUN_SOURCE_DIRECTION: EditorSceneVec3 = { x: 0.3, y: 1, z: 0.2 };\n\nexport function resolveEditorSceneLightingPreviewProfile<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n>(\n document: EditorSceneDocument<TGameObject>,\n options: EditorSceneLightingPreviewOptions<TGameObject>,\n): EditorSceneLightingPreviewProfile {\n const environmentObject = findEditorSceneLightingPreviewLightObject(document, options.environmentLightId, options.findLightObject);\n const sunObject = findEditorSceneLightingPreviewLightObject(document, options.sunLightId, options.findLightObject);\n const environmentLight = readEditorSceneLightingPreviewHemisphericLight(\n environmentObject?.light,\n options.defaultEnvironmentLight,\n );\n const sunLight = readEditorSceneLightingPreviewDirectionalLight(\n sunObject?.light,\n options.defaultSunLight,\n );\n const environmentIntensity = environmentObject?.active === false\n ? 0\n : clampEditorSceneLightingPreviewNumber(environmentLight.intensity, 0, 4);\n const sunIntensity = sunObject?.active === false\n ? 0\n : clampEditorSceneLightingPreviewNumber(sunLight.intensity, 0, 4);\n\n const skyLight = scaleEditorSceneLightingPreviewColor(\n readEditorSceneLightingPreviewColor(environmentLight.diffuseColor, { r: 1, g: 1, b: 1 }),\n environmentIntensity,\n );\n const groundLight = scaleEditorSceneLightingPreviewColor(\n readEditorSceneLightingPreviewColor(\n environmentLight.groundColor,\n options.defaultEnvironmentLight.groundColor ?? { r: 0.48, g: 0.52, b: 0.62 },\n ),\n environmentIntensity,\n );\n const sunLightColor = scaleEditorSceneLightingPreviewColor(\n readEditorSceneLightingPreviewColor(sunLight.diffuseColor, { r: 1, g: 1, b: 1 }),\n sunIntensity,\n );\n const ambientLevel = clampEditorSceneLightingPreviewNumber(environmentIntensity / 1.2, 0, 1);\n const sunLevel = clampEditorSceneLightingPreviewNumber(sunIntensity / 3, 0, 1);\n const skyTint = toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(\n scaleEditorSceneLightingPreviewColor(skyLight, 0.82),\n scaleEditorSceneLightingPreviewColor(sunLightColor, 0.12),\n ));\n const groundTint = toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(\n scaleEditorSceneLightingPreviewColor(groundLight, 0.82),\n scaleEditorSceneLightingPreviewColor(sunLightColor, 0.05),\n ));\n const clearTint = toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(\n scaleEditorSceneLightingPreviewColor(skyLight, 0.48),\n scaleEditorSceneLightingPreviewColor(sunLightColor, 0.08),\n ));\n const clearBlend = clampEditorSceneLightingPreviewNumber(0.12 + ambientLevel * 0.54 + sunLevel * 0.08, 0, 0.78);\n const gridTint = toneMapEditorSceneLightingPreviewColor(mixEditorSceneLightingPreviewColor(groundTint, skyTint, 0.38));\n const gridBlend = clampEditorSceneLightingPreviewNumber(0.16 + ambientLevel * 0.42 + sunLevel * 0.08, 0.12, 0.68);\n\n return {\n clearColor: {\n ...mixEditorSceneLightingPreviewColor(NIGHT_CLEAR_COLOR, clearTint, clearBlend),\n a: 1,\n },\n sky: {\n enabled: true,\n topColor: mixEditorSceneLightingPreviewColor(NIGHT_SKY_TOP, skyTint, clampEditorSceneLightingPreviewNumber(0.22 + ambientLevel * 0.68, 0, 0.9)),\n horizonColor: mixEditorSceneLightingPreviewColor(NIGHT_SKY_HORIZON, toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(scaleEditorSceneLightingPreviewColor(skyTint, 0.66), scaleEditorSceneLightingPreviewColor(groundTint, 0.34))), clampEditorSceneLightingPreviewNumber(0.28 + ambientLevel * 0.58, 0, 0.9)),\n bottomColor: mixEditorSceneLightingPreviewColor(NIGHT_SKY_BOTTOM, groundTint, clampEditorSceneLightingPreviewNumber(0.18 + ambientLevel * 0.62, 0, 0.85)),\n cloudColor: mixEditorSceneLightingPreviewColor({ r: 0.28, g: 0.3, b: 0.34 }, toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(scaleEditorSceneLightingPreviewColor(skyTint, 0.45), scaleEditorSceneLightingPreviewColor(sunLightColor, 0.25))), clampEditorSceneLightingPreviewNumber(0.3 + sunLevel * 0.52, 0, 0.82)),\n cloudStrength: clampEditorSceneLightingPreviewNumber(0.12 + ambientLevel * 0.24 + sunLevel * 0.16, 0.08, 0.46),\n sunColor: toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(scaleEditorSceneLightingPreviewColor(sunLightColor, 0.78), scaleEditorSceneLightingPreviewColor(skyTint, 0.12))),\n sunDirection: normalizeEditorSceneLightingPreviewVec3({\n x: -sunLight.direction.x,\n y: -sunLight.direction.y,\n z: -sunLight.direction.z,\n }, DEFAULT_SUN_SOURCE_DIRECTION),\n },\n grid: {\n gridColor: mixEditorSceneLightingPreviewColor({ r: 0.07, g: 0.1, b: 0.15 }, gridTint, gridBlend),\n majorGridColor: mixEditorSceneLightingPreviewColor({ r: 0.12, g: 0.16, b: 0.23 }, scaleEditorSceneLightingPreviewColor(gridTint, 1.18), gridBlend),\n axisXColor: mixEditorSceneLightingPreviewColor({ r: 0.52, g: 0.12, b: 0.14 }, toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(scaleEditorSceneLightingPreviewColor(gridTint, 0.4), { r: 0.5, g: 0.08, b: 0.08 })), clampEditorSceneLightingPreviewNumber(0.22 + ambientLevel * 0.32, 0, 0.58)),\n axisZColor: mixEditorSceneLightingPreviewColor({ r: 0.1, g: 0.32, b: 0.58 }, toneMapEditorSceneLightingPreviewColor(addEditorSceneLightingPreviewColors(scaleEditorSceneLightingPreviewColor(gridTint, 0.42), { r: 0.08, g: 0.22, b: 0.55 })), clampEditorSceneLightingPreviewNumber(0.22 + ambientLevel * 0.32, 0, 0.58)),\n },\n };\n}\n\nexport function findEditorSceneLightingPreviewLightObject<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n>(\n document: EditorSceneDocument<TGameObject>,\n lightId: string,\n findLightObject?: (document: EditorSceneDocument<TGameObject>, lightId: string) => TGameObject | undefined,\n): TGameObject | undefined {\n return findLightObject?.(document, lightId)\n ?? document.scene.gameObjects.find(gameObject => gameObject.id === lightId);\n}\n\nexport function readEditorSceneLightingPreviewHemisphericLight(\n light: EditorSceneLight | undefined,\n fallback: EditorSceneHemisphericLight,\n): EditorSceneHemisphericLight {\n if (light?.type !== 'hemispheric') return structuredClone(fallback);\n const merged = {\n ...fallback,\n ...light,\n };\n return {\n ...merged,\n diffuseColor: merged.diffuseColor ? { ...merged.diffuseColor } : undefined,\n groundColor: merged.groundColor ? { ...merged.groundColor } : undefined,\n };\n}\n\nexport function readEditorSceneLightingPreviewDirectionalLight(\n light: EditorSceneLight | undefined,\n fallback: EditorSceneDirectionalLight,\n): EditorSceneDirectionalLight {\n if (light?.type !== 'directional') return structuredClone(fallback);\n const merged = {\n ...fallback,\n ...light,\n };\n return {\n ...merged,\n direction: { ...merged.direction },\n diffuseColor: merged.diffuseColor ? { ...merged.diffuseColor } : undefined,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lighting-preview/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lighting-preview/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n EditorSceneColorRgb,\n EditorSceneDirectionalLight,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneHemisphericLight,\n EditorSceneVec3,\n} from '../document/index';\n\nexport type EditorSceneLightingPreviewColor = EditorSceneColorRgb;\n\nexport interface EditorSceneLightingPreviewProfile {\n clearColor: EditorSceneLightingPreviewColor & { a: number };\n sky: {\n enabled: boolean;\n topColor: EditorSceneLightingPreviewColor;\n horizonColor: EditorSceneLightingPreviewColor;\n bottomColor: EditorSceneLightingPreviewColor;\n cloudColor: EditorSceneLightingPreviewColor;\n cloudStrength: number;\n sunColor: EditorSceneLightingPreviewColor;\n sunDirection: EditorSceneVec3;\n };\n grid: {\n gridColor: EditorSceneLightingPreviewColor;\n majorGridColor: EditorSceneLightingPreviewColor;\n axisXColor: EditorSceneLightingPreviewColor;\n axisZColor: EditorSceneLightingPreviewColor;\n };\n}\n\nexport interface EditorSceneLightingPreviewOptions<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n> {\n environmentLightId: string;\n sunLightId: string;\n defaultEnvironmentLight: EditorSceneHemisphericLight;\n defaultSunLight: EditorSceneDirectionalLight;\n findLightObject?: (document: EditorSceneDocument<TGameObject>, lightId: string) => TGameObject | undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-descriptions.js","sourceRoot":"","sources":["../../src/local-harness/agent-descriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-descriptions.js","sourceRoot":"","sources":["../../src/local-harness/agent-descriptions.ts"],"names":[],"mappings":"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","sourcesContent":["export type PlayableEditorAgentJsonValue =\n | null\n | string\n | number\n | boolean\n | PlayableEditorAgentJsonValue[]\n | { [key: string]: PlayableEditorAgentJsonValue };\n\nexport type PlayableEditorAgentJsonObject = { [key: string]: PlayableEditorAgentJsonValue };\n\nexport interface PlayableEditorAgentGameObjectLike {\n id: string;\n name?: string;\n camera?: unknown;\n light?: unknown;\n primitive?: { shape?: string } | null;\n}\n\nexport interface PlayableEditorAgentAssetLike {\n id: string;\n displayName?: string;\n}\n\nexport interface PlayableEditorAgentPrefabMaterialTargetLike {\n slotId?: string;\n ownerNodePath?: string;\n bindingPath: string;\n label: string;\n}\n\nexport interface PlayableEditorAgentPrefabSummaryLike {\n prefabId: string;\n prefabDisplayName?: string;\n sourceAssetId?: string;\n sourceAssetDisplayName?: string;\n materialTargets: readonly PlayableEditorAgentPrefabMaterialTargetLike[];\n}\n\nexport interface PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject extends PlayableEditorAgentGameObjectLike> {\n findGameObject: (document: TDocument, objectId: string) => TGameObject | null;\n findGameObjects: (document: TDocument, objectIds: readonly string[]) => TGameObject[];\n readNodeKind: (gameObject: TGameObject) => string;\n findAsset: (document: TDocument, gameObject: TGameObject) => PlayableEditorAgentAssetLike | null;\n createPrefabSummary: (document: TDocument, gameObjectId: string) => PlayableEditorAgentPrefabSummaryLike | null;\n hasModelRenderer: (gameObject: TGameObject) => boolean;\n resolveDomainRole?: (gameObject: TGameObject, nodeKind: string) => string | null | undefined;\n domainPrefix: string;\n}\n\nexport function describePlayableEditorAgentObject<TDocument, TGameObject extends PlayableEditorAgentGameObjectLike>(\n document: TDocument,\n objectId: string,\n services: PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject>,\n) {\n const gameObject = services.findGameObject(document, objectId);\n if (!gameObject) return null;\n const nodeKind = services.readNodeKind(gameObject);\n const asset = services.findAsset(document, gameObject);\n const label = gameObject.name || gameObject.id;\n const prefabSummary = services.createPrefabSummary(document, gameObject.id);\n const bindingCandidates = [\n {\n kind: 'scene-node',\n id: gameObject.id,\n label,\n path: `scene.gameObjects.${gameObject.id}`,\n },\n ...(asset ? [{\n kind: 'scene-asset',\n id: asset.id,\n label: asset.displayName || asset.id,\n path: `assets.${asset.id}`,\n }] : []),\n ...(prefabSummary ? createPlayableEditorAgentPrefabBindingCandidates(prefabSummary) : []),\n ];\n return {\n domainKind: prefabSummary ? `${services.domainPrefix}:prefab-instance` : `${services.domainPrefix}:${nodeKind}`,\n domainRole: prefabSummary ? 'prefab-instance' : resolvePlayableEditorAgentGameplayRole(gameObject, nodeKind, services),\n functionLabel: label,\n functionDescription: prefabSummary\n ? `${label} is a prefab instance from ${prefabSummary.prefabDisplayName ?? prefabSummary.prefabId}.`\n : asset\n ? `${label} is a ${nodeKind} scene node using asset ${asset.displayName || asset.id}.`\n : `${label} is a ${nodeKind} scene node in the editable scene document.`,\n domainHints: [\n prefabSummary\n ? 'Interpret this as a prefab instance. Prefer editing prefab defaults for shared shadow/material behavior before overriding this instance.'\n : `Interpret this as a ${nodeKind} node from ${services.domainPrefix}'s scene graph.`,\n ...(asset ? [`Asset reference: ${asset.displayName || asset.id}.`] : []),\n ...(prefabSummary?.sourceAssetId ? [`Prefab source asset: ${prefabSummary.sourceAssetDisplayName ?? prefabSummary.sourceAssetId}.`] : []),\n ],\n bindingCandidates,\n sourceRefs: [\n {\n kind: 'scene-document',\n path: 'scene.gameObjects',\n label,\n },\n ],\n metadata: {\n nodeKind,\n ...(asset ? { assetId: asset.id, assetDisplayName: asset.displayName || asset.id } : {}),\n ...(prefabSummary ? { prefab: toPlayableEditorAgentJsonObject(prefabSummary) } : {}),\n },\n };\n}\n\nexport function describePlayableEditorAgentObjectSet<\n TDocument,\n TGameObject extends PlayableEditorAgentGameObjectLike,\n>(\n document: TDocument,\n objectIds: readonly string[],\n services: PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject>,\n) {\n const gameObjects = services.findGameObjects(document, objectIds);\n if (gameObjects.length === 0) return null;\n const nodeKinds = [...new Set(gameObjects.map(services.readNodeKind))];\n const prefabSummaries = gameObjects\n .map(gameObject => services.createPrefabSummary(document, gameObject.id))\n .filter((summary): summary is PlayableEditorAgentPrefabSummaryLike => !!summary);\n return {\n domainKind: `${services.domainPrefix}:scene-object-set`,\n domainRole: 'selection',\n functionLabel: `${gameObjects.length} selected scene nodes`,\n functionDescription: `A multi-selection from the ${services.domainPrefix} scene graph.`,\n domainHints: [\n 'Consider these nodes together before proposing scene edits or domain bindings.',\n `Selected node kinds: ${nodeKinds.join(', ')}.`,\n ],\n relationshipHints: [{\n type: 'selection',\n description: 'The user selected these scene nodes together in the editor hierarchy.',\n primaryObjectId: gameObjects[0]?.id,\n supportingObjectIds: gameObjects.slice(1).map(gameObject => gameObject.id),\n }],\n sourceRefs: gameObjects.map(gameObject => ({\n kind: 'scene-document',\n path: 'scene.gameObjects',\n label: gameObject.name || gameObject.id,\n })),\n metadata: {\n objectCount: gameObjects.length,\n nodeKinds,\n ...(prefabSummaries.length > 0 ? { prefabs: prefabSummaries.map(toPlayableEditorAgentJsonObject) } : {}),\n },\n };\n}\n\nexport function describePlayableEditorAgentRegionBinding<\n TDocument,\n TGameObject extends PlayableEditorAgentGameObjectLike,\n>(\n document: TDocument,\n objectIds: readonly string[],\n services: PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject>,\n) {\n const gameObjects = services.findGameObjects(document, objectIds);\n if (gameObjects.length === 0) return null;\n return {\n domainKind: `${services.domainPrefix}:selection-region`,\n domainRole: 'region-binding',\n functionLabel: `${gameObjects.length} nodes as scene region`,\n functionDescription: 'The selected scene nodes are being treated as a candidate scene region.',\n domainHints: [\n 'Use the selected nodes as landmarks or bounds for reasoning about an editable scene region.',\n 'Prefer suggestions that preserve the selected nodes and describe their spatial relationship.',\n ],\n relationshipHints: [{\n type: 'selection-region',\n description: 'The current multi-selection defines a region relationship for Agent reasoning.',\n primaryObjectId: gameObjects[0]?.id,\n supportingObjectIds: gameObjects.slice(1).map(gameObject => gameObject.id),\n }],\n sourceRefs: gameObjects.map(gameObject => ({\n kind: 'scene-document',\n path: 'scene.gameObjects',\n label: gameObject.name || gameObject.id,\n })),\n metadata: {\n objectCount: gameObjects.length,\n objectIds: gameObjects.map(gameObject => gameObject.id),\n },\n };\n}\n\nfunction createPlayableEditorAgentPrefabBindingCandidates(prefabSummary: PlayableEditorAgentPrefabSummaryLike) {\n return [\n {\n kind: 'prefab-definition',\n id: prefabSummary.prefabId,\n label: prefabSummary.prefabDisplayName ?? prefabSummary.prefabId,\n path: `assets.${prefabSummary.prefabId}`,\n },\n ...(prefabSummary.sourceAssetId ? [{\n kind: 'prefab-source-asset',\n id: prefabSummary.sourceAssetId,\n label: prefabSummary.sourceAssetDisplayName ?? prefabSummary.sourceAssetId,\n path: `assets.${prefabSummary.sourceAssetId}`,\n }] : []),\n ...prefabSummary.materialTargets.map(target => ({\n kind: 'prefab-material-override-target',\n id: target.slotId ?? target.ownerNodePath ?? target.bindingPath,\n label: target.label,\n path: `assets.${prefabSummary.prefabId}.${target.bindingPath}`,\n })),\n ];\n}\n\nfunction resolvePlayableEditorAgentGameplayRole<TGameObject extends PlayableEditorAgentGameObjectLike>(\n gameObject: TGameObject,\n nodeKind: string,\n services: Pick<\n PlayableEditorAgentObjectDescriptionServices<unknown, TGameObject>,\n 'hasModelRenderer' | 'resolveDomainRole'\n >,\n): string {\n const projectRole = services.resolveDomainRole?.(gameObject, nodeKind);\n if (projectRole) return projectRole;\n if (gameObject.camera) return 'camera';\n if (gameObject.light) return 'light';\n if (services.hasModelRenderer(gameObject)) return 'asset-instance';\n if (gameObject.primitive?.shape) return `primitive-${gameObject.primitive.shape}`;\n return nodeKind;\n}\n\nfunction toPlayableEditorAgentJsonObject<T extends object>(value: T): PlayableEditorAgentJsonObject {\n return structuredClone(value) as unknown as PlayableEditorAgentJsonObject;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"forge-play-types.js","sourceRoot":"","sources":["../../src/local-harness/forge-play-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"forge-play-types.js","sourceRoot":"","sources":["../../src/local-harness/forge-play-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n PlayableLocalEditorDataSafetyOperation,\n PlayableLocalEditorInteractionPolicy,\n PlayableLocalEditorLoadingOverlayContent,\n PlayableLocalEditorSaveFailureState,\n PlayableLocalEditorUnsavedChangesState,\n} from './types';\n\nexport type PlayableForgePlayMode = 'play' | 'edit';\n\nexport interface PlayableForgePlayMessageEvent {\n source: unknown;\n data: unknown;\n stopImmediatePropagation?: () => void;\n}\n\nexport interface PlayableForgePlayWindowLike {\n parent: {\n postMessage(message: unknown, targetOrigin: string): void;\n } | null;\n addEventListener(\n type: 'message',\n listener: (event: PlayableForgePlayMessageEvent) => void,\n options?: { capture?: boolean },\n ): void;\n removeEventListener(\n type: 'message',\n listener: (event: PlayableForgePlayMessageEvent) => void,\n options?: { capture?: boolean },\n ): void;\n setTimeout(handler: () => void, timeout: number): unknown;\n clearTimeout(id: unknown): void;\n queueMicrotask?(handler: () => void): void;\n}\n\nexport type PlayableForgePlayOperationOrigin = 'user' | 'agent' | 'system';\nexport type PlayableForgePlayProjectionWaitPolicy = 'none' | 'settled';\nexport type PlayableForgePlayHistoryOperation = 'undo' | 'redo';\n\nexport interface PlayableForgePlayHistoryOperationOptions {\n origin?: PlayableForgePlayOperationOrigin;\n waitForProjection?: PlayableForgePlayProjectionWaitPolicy;\n}\n\nexport interface PlayableForgePlayHistoryProjectionResult {\n waitPolicy: PlayableForgePlayProjectionWaitPolicy;\n idle: boolean;\n activeBatchIds: number[];\n lastBatch: unknown | null;\n}\n\nexport interface PlayableForgePlayHistoryStateResult {\n canUndo: boolean;\n canRedo: boolean;\n}\n\nexport interface PlayableForgePlayHistoryOperationResult<TDocument = unknown> {\n ok: boolean;\n operation: PlayableForgePlayHistoryOperation;\n origin: PlayableForgePlayOperationOrigin;\n waitForProjection: PlayableForgePlayProjectionWaitPolicy;\n documentChanged: boolean;\n transactionLabel: string | null;\n workingDocument: TDocument | null;\n dirty: boolean;\n history: PlayableForgePlayHistoryStateResult;\n status: string;\n projection: PlayableForgePlayHistoryProjectionResult;\n error?: string;\n}\n\nexport interface PlayableForgePlayBridgeHarness {\n enterEditor(): Promise<void>;\n saveScene(): Promise<boolean>;\n discardAndRunGame(): Promise<void>;\n render(): void;\n getWorkingDocument(): unknown | null;\n getUnsavedChangesState?(): PlayableLocalEditorUnsavedChangesState;\n getSaveFailureState?(): PlayableLocalEditorSaveFailureState | null;\n undo?(options?: PlayableForgePlayHistoryOperationOptions): Promise<PlayableForgePlayHistoryOperationResult>;\n redo?(options?: PlayableForgePlayHistoryOperationOptions): Promise<PlayableForgePlayHistoryOperationResult>;\n}\n\nexport interface PlayableForgePlayBridgeLoadingOverlay {\n show(content: PlayableLocalEditorLoadingOverlayContent): void;\n hide(): void;\n isVisible(): boolean;\n}\n\nexport interface PlayableForgePlaySaveState {\n preparedRevision: number;\n committedRevision: number;\n}\n\nexport interface PlayableForgePlayBridgeInstallOptions {\n window: PlayableForgePlayWindowLike;\n harness: PlayableForgePlayBridgeHarness;\n loadingOverlay: PlayableForgePlayBridgeLoadingOverlay;\n loadingContent: {\n saveScene: PlayableLocalEditorLoadingOverlayContent;\n saveAndRunGame: PlayableLocalEditorLoadingOverlayContent;\n discardAndRunGame: PlayableLocalEditorLoadingOverlayContent;\n };\n exportDocument?: (input: {\n payload: Record<string, unknown>;\n saveState: PlayableForgePlaySaveState;\n postEvent: (name: string, payload?: Record<string, unknown>) => void;\n }) => Promise<void>;\n saveDocument?: (operation: PlayableLocalEditorDataSafetyOperation) => Promise<boolean>;\n commitDocument?: (input: {\n payload: Record<string, unknown>;\n saveState: PlayableForgePlaySaveState;\n documentFingerprint: string | null;\n }) => Promise<void>;\n exitEditor?: (reason: 'save' | 'discard') => Promise<boolean>;\n handleProjectAssetCommand?: (name: string, payload: Record<string, unknown>) => Promise<void>;\n handleAssetDrop?: (payload: Record<string, unknown>) => void;\n hasUnsavedPlatformChanges?: () => boolean;\n interactions?: PlayableLocalEditorInteractionPolicy;\n waitForPaint?: () => Promise<void>;\n renderAfterEnter?: boolean;\n readMode?: () => PlayableForgePlayMode;\n reportError?: (error: unknown) => void;\n initialMode?: PlayableForgePlayMode;\n overlayHideDelayMs?: number;\n}\n\nexport interface PlayableForgePlayModeBridge {\n switchMode(mode: PlayableForgePlayMode, options?: { save?: boolean }): Promise<void>;\n commitPlatformSave(): Promise<void>;\n getMode(): PlayableForgePlayMode;\n getSaveState(): PlayableForgePlaySaveState;\n dispose(): void;\n}\n"]}
@@ -11,6 +11,7 @@ export declare const PLAYABLE_FORGE_PLAY_COMMAND: {
11
11
  readonly DOCUMENT_EXPORT: "document.export";
12
12
  readonly DOCUMENT_COMMIT: "document.commit";
13
13
  readonly ASSET_IMPORT: "asset.import";
14
+ readonly ASSET_UPDATE: "asset.update";
14
15
  readonly ASSET_LIBRARY_REFRESH: "asset.library.refresh";
15
16
  readonly EDITOR_ASSET_PLACE: "editor.asset.place";
16
17
  readonly ASSETS_DROP: "assets.drop";
@@ -24,6 +25,7 @@ export declare const PLAYABLE_FORGE_PLAY_EVENT: {
24
25
  readonly HISTORY_REDO_RESULT: "history.redo.result";
25
26
  readonly DOCUMENT_EXPORTED: "document.exported";
26
27
  readonly ASSET_IMPORT_RESULT: "asset.import.result";
28
+ readonly ASSET_UPDATE_RESULT: "asset.update.result";
27
29
  readonly ASSET_LIBRARY_REFRESHED: "asset.library.refreshed";
28
30
  readonly EDITOR_ASSET_PLACE_RESULT: "editor.asset.place.result";
29
31
  readonly SYSTEM_ERROR: "system.error";
@@ -1 +1 @@
1
- {"version":3,"file":"forge-play.d.ts","sourceRoot":"","sources":["../../src/local-harness/forge-play.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qCAAqC,EACrC,iCAAiC,EACjC,wCAAwC,EAIxC,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAQ5B,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;CAW9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;CAW5B,CAAC;AAEX,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAW/E,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWtE,CAAC;AAEF,eAAO,MAAM,0CAA0C,aAKrD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aAG/C,CAAC;AAEH,wBAAgB,gCAAgC,IAAI,0BAA0B,CAK7E;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGnF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAInG;AAED,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,wCAAwC,CAK1C;AAED,wBAAgB,0CAA0C,CACxD,SAAS,EAAE,iCAAiC,GAC3C,MAAM,CAIR;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAcN;AAQD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qCAAqC,GAC7C,2BAA2B,CAqb7B"}
1
+ {"version":3,"file":"forge-play.d.ts","sourceRoot":"","sources":["../../src/local-harness/forge-play.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qCAAqC,EACrC,iCAAiC,EACjC,wCAAwC,EAIxC,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAQ5B,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;CAY9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAY/E,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAYtE,CAAC;AAEF,eAAO,MAAM,0CAA0C,aAMrD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aAG/C,CAAC;AAEH,wBAAgB,gCAAgC,IAAI,0BAA0B,CAK7E;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGnF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAInG;AAED,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,wCAAwC,CAK1C;AAED,wBAAgB,0CAA0C,CACxD,SAAS,EAAE,iCAAiC,GAC3C,MAAM,CAIR;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAcN;AAQD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qCAAqC,GAC7C,2BAA2B,CAqb7B"}
@@ -11,6 +11,7 @@ export const PLAYABLE_FORGE_PLAY_COMMAND = {
11
11
  DOCUMENT_EXPORT: 'document.export',
12
12
  DOCUMENT_COMMIT: 'document.commit',
13
13
  ASSET_IMPORT: 'asset.import',
14
+ ASSET_UPDATE: 'asset.update',
14
15
  ASSET_LIBRARY_REFRESH: 'asset.library.refresh',
15
16
  EDITOR_ASSET_PLACE: 'editor.asset.place',
16
17
  ASSETS_DROP: 'assets.drop',
@@ -24,6 +25,7 @@ export const PLAYABLE_FORGE_PLAY_EVENT = {
24
25
  HISTORY_REDO_RESULT: 'history.redo.result',
25
26
  DOCUMENT_EXPORTED: 'document.exported',
26
27
  ASSET_IMPORT_RESULT: 'asset.import.result',
28
+ ASSET_UPDATE_RESULT: 'asset.update.result',
27
29
  ASSET_LIBRARY_REFRESHED: 'asset.library.refreshed',
28
30
  EDITOR_ASSET_PLACE_RESULT: 'editor.asset.place.result',
29
31
  SYSTEM_ERROR: 'system.error',
@@ -36,6 +38,7 @@ export const PLAYABLE_FORGE_PLAY_EVENT_ALIASES = {
36
38
  [PLAYABLE_FORGE_PLAY_EVENT.HISTORY_REDO_RESULT]: ['history:redo:result'],
37
39
  [PLAYABLE_FORGE_PLAY_EVENT.DOCUMENT_EXPORTED]: ['document:exported'],
38
40
  [PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT]: ['asset:import:result'],
41
+ [PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT]: ['asset:update:result'],
39
42
  [PLAYABLE_FORGE_PLAY_EVENT.ASSET_LIBRARY_REFRESHED]: ['asset:library:refreshed'],
40
43
  [PLAYABLE_FORGE_PLAY_EVENT.EDITOR_ASSET_PLACE_RESULT]: ['editor:asset:place:result'],
41
44
  [PLAYABLE_FORGE_PLAY_EVENT.SYSTEM_ERROR]: ['system:error'],
@@ -47,6 +50,7 @@ export const PLAYABLE_FORGE_PLAY_COMMAND_ALIASES = {
47
50
  'document:export': PLAYABLE_FORGE_PLAY_COMMAND.DOCUMENT_EXPORT,
48
51
  'document:commit': PLAYABLE_FORGE_PLAY_COMMAND.DOCUMENT_COMMIT,
49
52
  'asset:import': PLAYABLE_FORGE_PLAY_COMMAND.ASSET_IMPORT,
53
+ 'asset:update': PLAYABLE_FORGE_PLAY_COMMAND.ASSET_UPDATE,
50
54
  'asset:library:refresh': PLAYABLE_FORGE_PLAY_COMMAND.ASSET_LIBRARY_REFRESH,
51
55
  'editor:asset:place': PLAYABLE_FORGE_PLAY_COMMAND.EDITOR_ASSET_PLACE,
52
56
  'assets:drop': PLAYABLE_FORGE_PLAY_COMMAND.ASSETS_DROP,
@@ -54,6 +58,7 @@ export const PLAYABLE_FORGE_PLAY_COMMAND_ALIASES = {
54
58
  };
55
59
  export const PLAYABLE_FORGE_PLAY_PROJECT_ASSET_COMMANDS = new Set([
56
60
  PLAYABLE_FORGE_PLAY_COMMAND.ASSET_IMPORT,
61
+ PLAYABLE_FORGE_PLAY_COMMAND.ASSET_UPDATE,
57
62
  PLAYABLE_FORGE_PLAY_COMMAND.ASSET_LIBRARY_REFRESH,
58
63
  PLAYABLE_FORGE_PLAY_COMMAND.EDITOR_ASSET_PLACE,
59
64
  PLAYABLE_FORGE_PLAY_COMMAND.ASSETS_LOADED,