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

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 (602) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +49 -2
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.js.map +1 -1
  57. package/dist/static-shadow-cpu-worker.js.map +1 -1
  58. package/dist/vite.js.map +1 -1
  59. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  60. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  94. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  95. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  96. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  132. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  133. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  134. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  173. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  174. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  175. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  183. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  185. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/package.json +6 -6
  205. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  206. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  207. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  208. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  209. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  210. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  211. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  511. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  513. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  514. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  515. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  516. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  517. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  518. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  519. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  520. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  521. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  522. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  523. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  524. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  525. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  526. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  527. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  528. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  529. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  530. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  531. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  532. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  533. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  534. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  535. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  536. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  537. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  538. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  539. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  540. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  541. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  542. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  543. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  544. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  545. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  546. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  547. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  548. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  549. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  550. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  551. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  552. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  553. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  554. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  555. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  556. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  557. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  558. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  559. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  560. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  561. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  562. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  563. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  564. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  565. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  566. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  567. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  568. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  569. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  570. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  571. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  572. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  573. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  574. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  575. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  576. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  577. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  578. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  579. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  580. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  581. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  582. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  583. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  584. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  585. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  586. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  587. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  588. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  589. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  590. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  591. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  593. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  594. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  595. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  596. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  597. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  598. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  599. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  600. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  601. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  602. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"static-projected-shadow-artifact-system.js","sourceRoot":"","sources":["../../src/shadows/static-projected-shadow-artifact-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAGvE,OAAO,EACL,sCAAsC,EACtC,iCAAiC,EACjC,mCAAmC,GAEpC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,uCAAuC,GAUxC,MAAM,YAAY,CAAC;AAoBpB,MAAM,UAAU,yCAAyC,CACvD,KAAY,EACZ,QAA0D,EAC1D,UAAyD,EAAE;IAE3D,OAAO,IAAI,0CAA0C,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,0CAA0C;IAe9C,YACmB,KAAY,EAC7B,QAA0D,EAC1D,OAAsD;QAFrC,UAAK,GAAL,KAAK,CAAO;QAbd,UAAK,GAAG,IAAI,GAAG,EAAkD,CAAC;QAClE,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,wBAAmB,GAA2B,IAAI,CAAC;QACnD,qBAAgB,GAAG,CAAC,CAAC;QACrB,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAA4C;YAC7D,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,oCAAoC;YAC5C,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB,CAAC;QAOA,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,2CAA2C,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,QAA0D;QACpE,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,OAAsD;QAC/D,IAAI,CAAC,OAAO,GAAG,2CAA2C,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO;QACL,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,oCAAoC;YAC5C,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG;gBACjB,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;aAChB,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,oCAAoC;gBAC5C,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;aAChB,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,kBAAkB,GAAG,qCAAqC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7G,IAAI,kBAAkB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,4BAA4B,CAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAChC,uCAAuC,CAAC,IAAI,CAAC,WAAW,CACzD,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CACnC,IAAI,EACJ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,EAC9D,WAAW,CACZ,CAAC;YACF,IAAI,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YAC7B,GAAG,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACzD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;YACpC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAClC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,IAAI,IAAI;YACnE,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,IAAI,IAAI;YACjE,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,IAAI,IAAI;SACtE,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACxC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,IAA4C,EAC5C,MAAuD,EACvD,WAAmB;QAEnB,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,IAAI,GAAG,2BAA2B,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,GAAG,GAAG,IAAI,gCAAgC,CAAC;QACvD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAC1C,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAC1C,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC1D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,sCAAsC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;YACjF,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;YACpC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YAC5B,WAAW;SACZ,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,6BAA6B,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAmD,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtJ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG;gBACd,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,6BAA6B,EAAE,QAAQ,CAAC,GAAG,CAAC,yCAAyC,CAAC;aACvF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI;YACJ,QAAQ;YACR,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,IAAY,EACZ,MAAuD;QAEvD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EACzC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EACzC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EACzC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAC1C,CAAC;YACF,OAAO,CAAC,IAAI,CACV,CAAC,EAAE,CAAC,EAAE,CAAC,EACP,CAAC,EAAE,CAAC,EAAE,CAAC,EACP,CAAC,EAAE,CAAC,EAAE,CAAC,EACP,CAAC,EAAE,CAAC,EAAE,CAAC,CACR,CAAC;YACF,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAClC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAClC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAClC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CACnC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,mCAAmC,CAAC;QACtD,iCAAiC,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,SAAiB,EAAE,OAAgB,EAAE,KAAa;QAC5E,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YAC5C,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO;YACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,uBAAuB,CAAC;gBACpD,SAAS;gBACT,OAAO;gBACP,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBAC9C,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE;aAC1C,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QACF,MAAM,cAAc,GAAG,GAAS,EAAE;YAChC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAI,OAIlB,CAAC,gBAAgB,CAAC;QACpB,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;YACxB,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,cAAc,EAAE,CAAC;IACnB,CAAC;IAEO,aAAa;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,OAAgB;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAED,SAAS,uBAAuB,CAAC,KAKhC;IACC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,SAAS;QACxB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;QAC/B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,2CAA2C,CAClD,UAAyD,EAAE,EAC3D,WAAyD;IACvD,OAAO,EAAE,uCAAuC,CAAC,OAAO;IACxD,UAAU,EAAE,uCAAuC,CAAC,UAAU;IAC9D,IAAI,EAAE,EAAE,IAAI,EAAE,uCAAuC,CAAC,IAAI,CAAC,IAAI,EAAE;IACjE,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,SAAS;IACzB,KAAK,EAAE,uCAAuC,CAAC,KAAK;CACrD;IAED,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QACvD,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACrF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACpE;QACD,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;QACtF,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc;QACjE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAC5C,QAAuC,EACvC,cAA6D;IAE7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAChE,OAAO,wBAAwB,CAAC,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,UAAU,GAAG,0CAA0C,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,wBAAwB,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrI,OAAO,wBAAwB,CAAC,SAAS,EAAE,oDAAoD,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC7H,CAAC;IACD,MAAM,aAAa,GAAG,kDAAkD,CAAC,QAAQ,CAAC,CAAC;IACnF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,wBAAwB,CAC7B,SAAS,EACT,+CAA+C,aAAa,GAAG,EAC/D,QAAQ,EACR,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,cAAc,EAAE,UAAU,IAAI,cAAc,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACjG,cAAc,EAAE,SAAS,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC7F,cAAc,EAAE,WAAW,IAAI,cAAc,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;KACtG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,wBAAwB,CAC7B,aAAa,EACb,yCAAyC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACjE,QAAQ,EACR,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,0CAA0C,CACjD,QAAuC;IAEvC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChG,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkD,CAAC;IACxE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,+CAA+C,CAAC;QACjF,MAAM,IAAI,GAAG,SAAmD,CAAC;QACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5E,OAAO,+CAA+C,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3G,OAAO,+CAA+C,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,0CAA0C,CAAC;QAC7E,MAAM,KAAK,GAAG,UAAkD,CAAC;QACjE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,0CAA0C,CAAC;QACzF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI;YAAE,OAAO,+DAA+D,CAAC;QAClF,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO,kDAAkD,CAAC;QACvF,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO,qDAAqD,CAAC;QACjG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO,mDAAmD,CAAC;QACvF,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC;YAAE,OAAO,sDAAsD,CAAC;IAChH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA2C,EAC3C,IAA4C;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzH,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;AAClF,CAAC;AAED,SAAS,cAAc,CAAC,KAA2C;IACjE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7F,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,kDAAkD,CACzD,QAAuC;IAEvC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC;QAC5D,IAAI,uBAAuB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,UAAU;YAAE,OAAO,GAAG,OAAO,UAAU,CAAC;QACnG,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;YAAE,OAAO,GAAG,OAAO,SAAS,CAAC;QACvE,IAAI,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;YAAE,OAAO,GAAG,OAAO,WAAW,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAyD,EACzD,MAAqB,EACrB,QAAuC,EACvC,cAA6D;IAE7D,OAAO;QACL,MAAM;QACN,MAAM;QACN,UAAU,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5D,YAAY,EAAE,CAAC;QACf,GAAG,6BAA6B,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClD,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnD,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC;QACjD,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;QACrD,kBAAkB,EAAE,cAAc,EAAE,UAAU,IAAI,IAAI;QACtD,iBAAiB,EAAE,cAAc,EAAE,SAAS,IAAI,IAAI;QACpD,mBAAmB,EAAE,cAAc,EAAE,WAAW,IAAI,IAAI;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAuC,EACvC,MAAyD;IAEzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;YACpB,uBAAuB,EAAE,IAAI;YAC7B,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI;YACtB,yBAAyB,EAAE,IAAI;YAC/B,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5D,OAAO;QACL,eAAe,EAAE,KAAK,EAAE,eAAe,IAAI,2BAA2B,CAAC,QAAQ,CAAC,CAAC,MAAM;QACvF,eAAe,EAAE,KAAK,EAAE,eAAe,IAAI,IAAI;QAC/C,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM;QACzE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,IAAI,IAAI;QACnD,SAAS;QACT,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;QACrC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI;QACnC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI;QACnC,eAAe,EAAE,KAAK,EAAE,eAAe,IAAI,IAAI;QAC/C,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,IAAI,IAAI;QACzD,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,IAAI;QAC7C,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,IAAI;QAC7C,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,IAAI,IAAI;QAC/D,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,IAAI;QAC3C,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI;QACvC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,IAAI,IAAI;QACjD,yBAAyB,EAAE,KAAK,EAAE,yBAAyB,IAAI,IAAI;QACnE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,IAAI,IAAI;QACjD,eAAe,EAAE,KAAK,EAAE,eAAe,IAAI,IAAI;QAC/C,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,IAAI,IAAI;QACjD,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;QACrC,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAuC;IAEvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,SAAS,eAAe,CAAC,KAA2C;IAClE,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3F,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO;QACL,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5E,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;QACd,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,QAAuD;IAEvD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjF,MAAM,MAAM,GAAG,KAA+C,CAAC;IAC/D,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO;QACL,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,wCAAwC,CAC/C,KAA2C;IAE3C,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,IACE,CAAC,EAAE;WACA,CAAC,aAAa;WACd,CAAC,UAAU;WACX,CAAC,WAAW;WACZ,CAAC,UAAU;WACX,OAAO,CAAC,uBAAuB,KAAK,IAAI;WACxC,OAAO,CAAC,8BAA8B,KAAK,IAAI;WAC/C,OAAO,CAAC,qBAAqB,KAAK,IAAI,EACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,OAAO;QACL,EAAE;QACF,aAAa;QACb,UAAU;QACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,uBAAuB,EAAE,IAAI;QAC7B,8BAA8B,EAAE,IAAI;QACpC,qBAAqB,EAAE,IAAI;QAC3B,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,yCAAyC,CAChD,OAA6C;IAE7C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,uBAAuB,EAAE,IAAI;QAC7B,8BAA8B,EAAE,IAAI;QACpC,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAY,EACZ,OAAoD;IAEpD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAC3D,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CACjF,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,KAAY,EAAE,QAAgB;IACnD,MAAM,eAAe,GAAG,KAGvB,CAAC;IACF,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,WAAW,GAAG;QAClB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,MAAM;KACW,CAAC;IAC1B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,IAAwC,CAAC;YAC3D,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAa;IACjD,IAAI,OAAO,GAAY,IAAI,CAAC;IAC5B,OAAO,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,OAIjB,CAAC;QACF,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QACtF,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,uBAAuB,CAAC,aAAsB;IACrD,OAAO,eAAe,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,aAAyB,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5G,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,QAAiB;IACpD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc,EAAE,QAAgB;IACpE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAgB;IAC7D,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IACnF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"static-projected-shadow-artifact-system.js","sourceRoot":"","sources":["../../src/shadows/static-projected-shadow-artifact-system.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3 } from '@babylonjs/core/Maths/math.vector.js';\nimport { Texture } from '@babylonjs/core/Materials/Textures/texture.js';\nimport { Mesh } from '@babylonjs/core/Meshes/mesh.js';\nimport { VertexData } from '@babylonjs/core/Meshes/mesh.vertexData.js';\nimport type { Observer } from '@babylonjs/core/Misc/observable.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n createStaticProjectedShadowSdfMaterial,\n markStaticProjectedShadowInternal,\n STATIC_PROJECTED_SHADOW_ALPHA_INDEX,\n type StaticProjectedShadowQuadBounds,\n} from './static-projected-shadow-rendering.js';\nimport {\n DEFAULT_STATIC_PROJECTED_SHADOW_OPTIONS,\n type StaticProjectedShadowArtifact,\n type StaticProjectedShadowArtifactAtlasPage,\n type StaticProjectedShadowArtifactBinding,\n type StaticProjectedShadowArtifactChunkV2,\n type StaticProjectedShadowArtifactDiagnostic,\n type StaticProjectedShadowArtifactHashInput,\n type StaticProjectedShadowArtifactOptions,\n type StaticProjectedShadowArtifactSystem,\n type StaticProjectedShadowArtifactTextureReadyEvent,\n} from './types.js';\n\ntype RenderedStaticProjectedShadowAtlasPage = {\n id: string;\n mesh: Mesh;\n material: ReturnType<typeof createStaticProjectedShadowSdfMaterial>;\n texture: Texture;\n chunkIds: string[];\n bindings: StaticProjectedShadowArtifactBinding[];\n};\n\ntype ResolvedStaticProjectedShadowArtifactOptions = {\n enabled: boolean;\n appearance: StaticProjectedShadowArtifactOptions['appearance'];\n bake: Required<NonNullable<StaticProjectedShadowArtifactOptions['bake']>>;\n expectedHashes: StaticProjectedShadowArtifactHashInput | null;\n onTextureReady?: StaticProjectedShadowArtifactOptions['onTextureReady'];\n debug: boolean;\n};\n\nexport function createStaticProjectedShadowArtifactSystem(\n scene: Scene,\n artifact: StaticProjectedShadowArtifact | null | undefined,\n options: Partial<StaticProjectedShadowArtifactOptions> = {},\n): StaticProjectedShadowArtifactSystem {\n return new BabylonStaticProjectedShadowArtifactSystem(scene, artifact, options);\n}\n\nclass BabylonStaticProjectedShadowArtifactSystem implements StaticProjectedShadowArtifactSystem {\n private artifact: StaticProjectedShadowArtifact | null;\n private options: ResolvedStaticProjectedShadowArtifactOptions;\n private readonly pages = new Map<string, RenderedStaticProjectedShadowAtlasPage>();\n private readonly loadedTextureIds = new Set<string>();\n private bindingSyncObserver: Observer<Scene> | null = null;\n private textureLoadEpoch = 0;\n private initialized = false;\n private diagnostics: StaticProjectedShadowArtifactDiagnostic = {\n status: 'missing',\n reason: 'Static shadow artifact is missing.',\n chunkCount: 0,\n textureCount: 0,\n };\n\n constructor(\n private readonly scene: Scene,\n artifact: StaticProjectedShadowArtifact | null | undefined,\n options: Partial<StaticProjectedShadowArtifactOptions>,\n ) {\n this.artifact = artifact ?? null;\n this.options = resolveStaticProjectedShadowArtifactOptions(options);\n }\n\n initialize(): void {\n if (this.initialized) return;\n this.initialized = true;\n this.rebuild();\n }\n\n setArtifact(artifact: StaticProjectedShadowArtifact | null | undefined): void {\n this.artifact = artifact ?? null;\n this.rebuild();\n }\n\n setOptions(options: Partial<StaticProjectedShadowArtifactOptions>): void {\n this.options = resolveStaticProjectedShadowArtifactOptions(options, this.options);\n this.rebuild();\n }\n\n getArtifact(): StaticProjectedShadowArtifact | null {\n return this.artifact;\n }\n\n getDiagnostics(): StaticProjectedShadowArtifactDiagnostic {\n return { ...this.diagnostics };\n }\n\n getChunkCount(): number {\n return [...this.pages.values()].reduce((sum, page) => sum + page.chunkIds.length, 0);\n }\n\n dispose(): void {\n this.textureLoadEpoch += 1;\n this.loadedTextureIds.clear();\n if (this.bindingSyncObserver) {\n this.scene.onBeforeRenderObservable.remove(this.bindingSyncObserver);\n this.bindingSyncObserver = null;\n }\n this.disposeChunks();\n this.initialized = false;\n this.diagnostics = {\n status: 'missing',\n reason: 'Static shadow artifact is missing.',\n chunkCount: 0,\n textureCount: 0,\n };\n }\n\n private rebuild(): void {\n if (!this.initialized) return;\n this.textureLoadEpoch += 1;\n this.loadedTextureIds.clear();\n this.disposeChunks();\n if (!this.options.enabled) {\n this.setBindingSyncEnabled(false);\n this.diagnostics = {\n status: 'disabled',\n reason: 'Static projected shadows are disabled.',\n chunkCount: 0,\n textureCount: 0,\n };\n return;\n }\n if (!this.artifact) {\n this.setBindingSyncEnabled(false);\n this.diagnostics = {\n status: 'missing',\n reason: 'Static shadow artifact is missing.',\n chunkCount: 0,\n textureCount: 0,\n };\n return;\n }\n const artifactDiagnostic = diagnoseStaticProjectedShadowArtifact(this.artifact, this.options.expectedHashes);\n if (artifactDiagnostic.status !== 'loaded') {\n this.setBindingSyncEnabled(false);\n this.diagnostics = artifactDiagnostic;\n return;\n }\n\n const sdfRadiusPx = readFiniteNumberWithFallback(\n this.artifact.stats?.sdfRadiusPx,\n DEFAULT_STATIC_PROJECTED_SHADOW_OPTIONS.bake.sdfRadiusPx,\n );\n for (const page of this.artifact.pages) {\n const rendered = this.createAtlasPage(\n page,\n this.artifact.chunks.filter(chunk => chunk.pageId === page.id),\n sdfRadiusPx,\n );\n if (rendered) this.pages.set(rendered.id, rendered);\n }\n const renderedChunkCount = [...this.pages.values()].reduce((sum, page) => sum + page.chunkIds.length, 0);\n this.diagnostics = {\n status: 'loaded',\n reason: null,\n chunkCount: renderedChunkCount,\n textureCount: this.pages.size,\n ...createArtifactDiagnosticStats(this.artifact, 'loaded'),\n sourceHash: this.artifact.sourceHash,\n lightHash: this.artifact.lightHash,\n profileHash: this.artifact.profileHash,\n expectedSourceHash: this.options.expectedHashes?.sourceHash ?? null,\n expectedLightHash: this.options.expectedHashes?.lightHash ?? null,\n expectedProfileHash: this.options.expectedHashes?.profileHash ?? null,\n };\n this.refreshBindings();\n this.setBindingSyncEnabled(this.hasBindings());\n }\n\n refreshBindings(): void {\n for (const page of this.pages.values()) {\n const visible = page.bindings.length === 0\n ? true\n : page.bindings.some(binding => resolveBindingVisibility(this.scene, binding));\n page.mesh.setEnabled(visible);\n }\n }\n\n private createAtlasPage(\n page: StaticProjectedShadowArtifactAtlasPage,\n chunks: readonly StaticProjectedShadowArtifactChunkV2[],\n sdfRadiusPx: number,\n ): RenderedStaticProjectedShadowAtlasPage | null {\n const textureDataUrl = readPngDataUrl(page.sdfTextureDataUrl);\n if (!textureDataUrl || chunks.length === 0) return null;\n const name = `staticProjectedArtifact_${sanitizeName(page.id)}`;\n const texture = new Texture(textureDataUrl, this.scene, true, false, Texture.BILINEAR_SAMPLINGMODE);\n texture.name = `${name}_staticProjectedShadowSdfAtlas`;\n texture.hasAlpha = true;\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\n texture.updateSamplingMode(Texture.BILINEAR_SAMPLINGMODE);\n this.observeTextureReady(page.id, texture, this.textureLoadEpoch);\n const material = createStaticProjectedShadowSdfMaterial(name, this.scene, texture, {\n color: this.options.appearance.color,\n blur: this.options.bake.blur,\n sdfRadiusPx,\n });\n const mesh = this.createAtlasMesh(`${name}_staticProjectedShadowAtlas`, chunks);\n if (!mesh) {\n texture.dispose();\n material.dispose();\n return null;\n }\n mesh.material = material;\n const bindings = chunks.map(readStaticProjectedShadowArtifactBinding).filter((binding): binding is StaticProjectedShadowArtifactBinding => !!binding);\n if (bindings.length > 0) {\n mesh.metadata = {\n ...(isRecord(mesh.metadata) ? mesh.metadata : {}),\n staticProjectedShadowBindings: bindings.map(cloneStaticProjectedShadowArtifactBinding),\n };\n }\n return {\n id: page.id,\n mesh,\n material,\n texture,\n chunkIds: chunks.map(chunk => chunk.id),\n bindings,\n };\n }\n\n private createAtlasMesh(\n name: string,\n chunks: readonly StaticProjectedShadowArtifactChunkV2[],\n ): Mesh | null {\n const positions: number[] = [];\n const normals: number[] = [];\n const uvs: number[] = [];\n const indices: number[] = [];\n for (const chunk of chunks) {\n const bounds = readChunkBounds(chunk);\n if (!bounds) continue;\n const base = positions.length / 3;\n positions.push(\n bounds.minX, bounds.center.y, bounds.minZ,\n bounds.maxX, bounds.center.y, bounds.minZ,\n bounds.maxX, bounds.center.y, bounds.maxZ,\n bounds.minX, bounds.center.y, bounds.maxZ,\n );\n normals.push(\n 0, 1, 0,\n 0, 1, 0,\n 0, 1, 0,\n 0, 1, 0,\n );\n uvs.push(\n chunk.atlasUv.u0, chunk.atlasUv.v0,\n chunk.atlasUv.u1, chunk.atlasUv.v0,\n chunk.atlasUv.u1, chunk.atlasUv.v1,\n chunk.atlasUv.u0, chunk.atlasUv.v1,\n );\n indices.push(base, base + 1, base + 2, base, base + 2, base + 3);\n }\n if (positions.length === 0) return null;\n const mesh = new Mesh(name, this.scene);\n const vertexData = new VertexData();\n vertexData.positions = positions;\n vertexData.normals = normals;\n vertexData.uvs = uvs;\n vertexData.indices = indices;\n vertexData.applyToMesh(mesh);\n mesh.isPickable = false;\n mesh.alphaIndex = STATIC_PROJECTED_SHADOW_ALPHA_INDEX;\n markStaticProjectedShadowInternal(mesh);\n return mesh;\n }\n\n private observeTextureReady(textureId: string, texture: Texture, epoch: number): void {\n const notify = (): void => {\n if (epoch !== this.textureLoadEpoch) return;\n if (this.loadedTextureIds.has(textureId)) return;\n this.loadedTextureIds.add(textureId);\n this.options.onTextureReady?.(createTextureReadyEvent({\n textureId,\n texture,\n loadedTextureCount: this.loadedTextureIds.size,\n totalTextureCount: this.getTextureCount(),\n }));\n };\n const scheduleNotify = (): void => {\n void Promise.resolve().then(notify);\n };\n if (typeof texture.isReady === 'function' && texture.isReady()) {\n scheduleNotify();\n return;\n }\n const observable = (texture as {\n onLoadObservable?: {\n addOnce?: (handler: () => void) => unknown;\n };\n }).onLoadObservable;\n if (observable?.addOnce) {\n observable.addOnce(scheduleNotify);\n return;\n }\n scheduleNotify();\n }\n\n private disposeChunks(): void {\n for (const page of this.pages.values()) {\n if (!page.mesh.isDisposed()) page.mesh.dispose();\n page.texture.dispose();\n page.material.dispose();\n }\n this.pages.clear();\n }\n\n private hasBindings(): boolean {\n for (const page of this.pages.values()) {\n if (page.bindings.length > 0) return true;\n }\n return false;\n }\n\n private setBindingSyncEnabled(enabled: boolean): void {\n if (enabled) {\n if (!this.bindingSyncObserver) {\n this.bindingSyncObserver = this.scene.onBeforeRenderObservable.add(() => this.refreshBindings());\n }\n return;\n }\n if (this.bindingSyncObserver) {\n this.scene.onBeforeRenderObservable.remove(this.bindingSyncObserver);\n this.bindingSyncObserver = null;\n }\n }\n\n private getTextureCount(): number {\n return this.pages.size;\n }\n}\n\nfunction createTextureReadyEvent(input: {\n textureId: string;\n texture: Texture;\n loadedTextureCount: number;\n totalTextureCount: number;\n}): StaticProjectedShadowArtifactTextureReadyEvent {\n return {\n chunkId: input.textureId,\n textureName: input.texture.name,\n loadedTextureCount: input.loadedTextureCount,\n totalTextureCount: input.totalTextureCount,\n };\n}\n\nfunction resolveStaticProjectedShadowArtifactOptions(\n options: Partial<StaticProjectedShadowArtifactOptions> = {},\n fallback: ResolvedStaticProjectedShadowArtifactOptions = {\n enabled: DEFAULT_STATIC_PROJECTED_SHADOW_OPTIONS.enabled,\n appearance: DEFAULT_STATIC_PROJECTED_SHADOW_OPTIONS.appearance,\n bake: { blur: DEFAULT_STATIC_PROJECTED_SHADOW_OPTIONS.bake.blur },\n expectedHashes: null,\n onTextureReady: undefined,\n debug: DEFAULT_STATIC_PROJECTED_SHADOW_OPTIONS.debug,\n },\n): ResolvedStaticProjectedShadowArtifactOptions {\n return {\n enabled: readBoolean(options.enabled, fallback.enabled),\n appearance: {\n color: {\n r: readClampedNumber(options.appearance?.color.r, fallback.appearance.color.r, 0, 1),\n g: readClampedNumber(options.appearance?.color.g, fallback.appearance.color.g, 0, 1),\n b: readClampedNumber(options.appearance?.color.b, fallback.appearance.color.b, 0, 1),\n a: readClampedNumber(options.appearance?.color.a, fallback.appearance.color.a, 0, 1),\n },\n },\n bake: {\n blur: readNonNegativeNumber(options.bake?.blur, fallback.bake.blur),\n },\n expectedHashes: readArtifactHashInput(options.expectedHashes, fallback.expectedHashes),\n onTextureReady: options.onTextureReady ?? fallback.onTextureReady,\n debug: readBoolean(options.debug, fallback.debug),\n };\n}\n\nfunction diagnoseStaticProjectedShadowArtifact(\n artifact: StaticProjectedShadowArtifact,\n expectedHashes: StaticProjectedShadowArtifactHashInput | null,\n): StaticProjectedShadowArtifactDiagnostic {\n if (!Array.isArray(artifact.chunks) || artifact.version == null) {\n return createArtifactDiagnostic('invalid', 'Static shadow artifact is invalid.', artifact, expectedHashes);\n }\n const shapeError = validateStaticProjectedShadowArtifactShape(artifact);\n if (shapeError) {\n return createArtifactDiagnostic('invalid', shapeError, artifact, expectedHashes);\n }\n if (!readNonEmptyString(artifact.sourceHash) || !readNonEmptyString(artifact.lightHash) || !readNonEmptyString(artifact.profileHash)) {\n return createArtifactDiagnostic('invalid', 'Static shadow artifact is missing required hashes.', artifact, expectedHashes);\n }\n const chunkMismatch = findStaticProjectedShadowArtifactChunkHashMismatch(artifact);\n if (chunkMismatch) {\n return createArtifactDiagnostic(\n 'invalid',\n `Static shadow artifact chunk hash mismatch: ${chunkMismatch}.`,\n artifact,\n expectedHashes,\n );\n }\n const mismatches = [\n expectedHashes?.sourceHash && expectedHashes.sourceHash !== artifact.sourceHash ? 'source' : null,\n expectedHashes?.lightHash && expectedHashes.lightHash !== artifact.lightHash ? 'light' : null,\n expectedHashes?.profileHash && expectedHashes.profileHash !== artifact.profileHash ? 'profile' : null,\n ].filter((entry): entry is string => !!entry);\n if (mismatches.length > 0) {\n return createArtifactDiagnostic(\n 'out-of-date',\n `Static shadow artifact hash mismatch: ${mismatches.join(', ')}.`,\n artifact,\n expectedHashes,\n );\n }\n return createArtifactDiagnostic('loaded', null, artifact, expectedHashes);\n}\n\nfunction validateStaticProjectedShadowArtifactShape(\n artifact: StaticProjectedShadowArtifact,\n): string | null {\n if (artifact.version !== 2 || artifact.format !== 'sdf-atlas' || !Array.isArray(artifact.pages)) {\n return 'Static shadow artifact is invalid.';\n }\n const pages = new Map<string, StaticProjectedShadowArtifactAtlasPage>();\n for (const pageValue of artifact.pages) {\n if (!isRecord(pageValue)) return 'Static shadow artifact atlas page is invalid.';\n const page = pageValue as StaticProjectedShadowArtifactAtlasPage;\n const pageId = readNonEmptyString(page.id);\n if (!pageId || pages.has(pageId) || !readPngDataUrl(page.sdfTextureDataUrl)) {\n return 'Static shadow artifact atlas page is invalid.';\n }\n if (!Number.isInteger(page.width) || page.width <= 0 || !Number.isInteger(page.height) || page.height <= 0) {\n return 'Static shadow artifact atlas page is invalid.';\n }\n pages.set(pageId, page);\n }\n const chunkIds = new Set<string>();\n for (const chunkValue of artifact.chunks) {\n if (!isRecord(chunkValue)) return 'Static shadow artifact chunk is invalid.';\n const chunk = chunkValue as StaticProjectedShadowArtifactChunkV2;\n const chunkId = readNonEmptyString(chunk.id);\n if (!chunkId || chunkIds.has(chunkId)) return 'Static shadow artifact chunk is invalid.';\n chunkIds.add(chunkId);\n const page = pages.get(readNonEmptyString(chunk.pageId) ?? '');\n if (!page) return 'Static shadow artifact chunk references a missing atlas page.';\n if (!readChunkBounds(chunk)) return 'Static shadow artifact chunk bounds are invalid.';\n if (!isValidAtlasRect(chunk, page)) return 'Static shadow artifact chunk atlas rect is invalid.';\n if (!isValidAtlasUv(chunk)) return 'Static shadow artifact chunk atlas UV is invalid.';\n if (!isValidSourceNodeIds(chunk.sourceNodeIds)) return 'Static shadow artifact chunk source ids are invalid.';\n }\n return null;\n}\n\nfunction isValidAtlasRect(\n chunk: StaticProjectedShadowArtifactChunkV2,\n page: StaticProjectedShadowArtifactAtlasPage,\n): boolean {\n const rect = chunk.atlasRect;\n if (!rect) return false;\n if (!Number.isInteger(rect.x) || rect.x < 0 || !Number.isInteger(rect.y) || rect.y < 0) return false;\n if (!Number.isInteger(rect.width) || rect.width <= 0 || !Number.isInteger(rect.height) || rect.height <= 0) return false;\n return rect.x + rect.width <= page.width && rect.y + rect.height <= page.height;\n}\n\nfunction isValidAtlasUv(chunk: StaticProjectedShadowArtifactChunkV2): boolean {\n const uv = chunk.atlasUv;\n if (!uv) return false;\n const values = [uv.u0, uv.v0, uv.u1, uv.v1];\n if (!values.every(value => Number.isFinite(value) && value >= 0 && value <= 1)) return false;\n return uv.u1 > uv.u0 && uv.v1 > uv.v0;\n}\n\nfunction isValidSourceNodeIds(value: unknown): boolean {\n return Array.isArray(value) && value.length > 0 && value.every(entry => !!readNonEmptyString(entry));\n}\n\nfunction findStaticProjectedShadowArtifactChunkHashMismatch(\n artifact: StaticProjectedShadowArtifact,\n): string | null {\n for (const chunk of artifact.chunks) {\n const chunkId = readNonEmptyString(chunk.id) ?? '(unknown)';\n if (createSourceNodeIdsHash(chunk.sourceNodeIds) !== chunk.sourceHash) return `${chunkId}: source`;\n if (chunk.lightHash !== artifact.lightHash) return `${chunkId}: light`;\n if (chunk.profileHash !== artifact.profileHash) return `${chunkId}: profile`;\n }\n return null;\n}\n\nfunction createArtifactDiagnostic(\n status: StaticProjectedShadowArtifactDiagnostic['status'],\n reason: string | null,\n artifact: StaticProjectedShadowArtifact,\n expectedHashes: StaticProjectedShadowArtifactHashInput | null,\n): StaticProjectedShadowArtifactDiagnostic {\n return {\n status,\n reason,\n chunkCount: status === 'loaded' ? artifact.chunks.length : 0,\n textureCount: 0,\n ...createArtifactDiagnosticStats(artifact, status),\n sourceHash: readNonEmptyString(artifact.sourceHash),\n lightHash: readNonEmptyString(artifact.lightHash),\n profileHash: readNonEmptyString(artifact.profileHash),\n expectedSourceHash: expectedHashes?.sourceHash ?? null,\n expectedLightHash: expectedHashes?.lightHash ?? null,\n expectedProfileHash: expectedHashes?.profileHash ?? null,\n };\n}\n\nfunction createArtifactDiagnosticStats(\n artifact: StaticProjectedShadowArtifact,\n status: StaticProjectedShadowArtifactDiagnostic['status'],\n): Partial<StaticProjectedShadowArtifactDiagnostic> {\n if (status === 'invalid') {\n return {\n sourceRootCount: 0,\n sourceMeshCount: null,\n attemptedChunkCount: null,\n skippedChunkCount: null,\n pageCount: null,\n resolution: null,\n chunkSize: null,\n atlasSize: null,\n atlasUsedPixels: null,\n atlasAllocatedPixels: null,\n atlasOccupancy: null,\n texelsPerMeter: null,\n effectiveTexelsPerMeter: null,\n maxAtlasPages: null,\n sdfRadiusPx: null,\n spatialChunkSize: null,\n effectiveSpatialChunkSize: null,\n targetChunkCount: null,\n bakedChunkCount: null,\n reusedChunkCount: null,\n durationMs: null,\n stats: null,\n };\n }\n const stats = artifact.stats ?? null;\n const pageCount = stats?.pageCount ?? artifact.pages.length;\n return {\n sourceRootCount: stats?.sourceRootCount ?? uniqueArtifactSourceNodeIds(artifact).length,\n sourceMeshCount: stats?.sourceMeshCount ?? null,\n attemptedChunkCount: stats?.attemptedChunkCount ?? artifact.chunks.length,\n skippedChunkCount: stats?.skippedChunkCount ?? null,\n pageCount,\n resolution: stats?.resolution ?? null,\n chunkSize: stats?.chunkSize ?? null,\n atlasSize: stats?.atlasSize ?? null,\n atlasUsedPixels: stats?.atlasUsedPixels ?? null,\n atlasAllocatedPixels: stats?.atlasAllocatedPixels ?? null,\n atlasOccupancy: stats?.atlasOccupancy ?? null,\n texelsPerMeter: stats?.texelsPerMeter ?? null,\n effectiveTexelsPerMeter: stats?.effectiveTexelsPerMeter ?? null,\n maxAtlasPages: stats?.maxAtlasPages ?? null,\n sdfRadiusPx: stats?.sdfRadiusPx ?? null,\n spatialChunkSize: stats?.spatialChunkSize ?? null,\n effectiveSpatialChunkSize: stats?.effectiveSpatialChunkSize ?? null,\n targetChunkCount: stats?.targetChunkCount ?? null,\n bakedChunkCount: stats?.bakedChunkCount ?? null,\n reusedChunkCount: stats?.reusedChunkCount ?? null,\n durationMs: stats?.durationMs ?? null,\n stats,\n };\n}\n\nfunction uniqueArtifactSourceNodeIds(\n artifact: StaticProjectedShadowArtifact,\n): string[] {\n return [...new Set(artifact.chunks.flatMap(chunk => Array.isArray(chunk.sourceNodeIds) ? chunk.sourceNodeIds : []))];\n}\n\nfunction readChunkBounds(chunk: StaticProjectedShadowArtifactChunkV2): StaticProjectedShadowQuadBounds | null {\n const minX = readFiniteNumber(chunk.bounds?.minX);\n const maxX = readFiniteNumber(chunk.bounds?.maxX);\n const minZ = readFiniteNumber(chunk.bounds?.minZ);\n const maxZ = readFiniteNumber(chunk.bounds?.maxZ);\n const y = readFiniteNumber(chunk.bounds?.y);\n if (minX == null || maxX == null || minZ == null || maxZ == null || y == null) return null;\n if (maxX <= minX || maxZ <= minZ) return null;\n return {\n center: new Vector3((minX + maxX) * 0.5, y, (minZ + maxZ) * 0.5),\n minX,\n maxX,\n minZ,\n maxZ,\n };\n}\n\nfunction readPngDataUrl(value: unknown): string | null {\n return typeof value === 'string' && /^data:image\\/png[;,]/i.test(value.trim())\n ? value.trim()\n : null;\n}\n\nfunction readArtifactHashInput(\n value: unknown,\n fallback: StaticProjectedShadowArtifactHashInput | null,\n): StaticProjectedShadowArtifactHashInput | null {\n if (value === null) return null;\n if (!value || typeof value !== 'object' || Array.isArray(value)) return fallback;\n const hashes = value as StaticProjectedShadowArtifactHashInput;\n const sourceHash = readNonEmptyString(hashes.sourceHash);\n const lightHash = readNonEmptyString(hashes.lightHash);\n const profileHash = readNonEmptyString(hashes.profileHash);\n if (!sourceHash && !lightHash && !profileHash) return null;\n return {\n ...(sourceHash ? { sourceHash } : {}),\n ...(lightHash ? { lightHash } : {}),\n ...(profileHash ? { profileHash } : {}),\n };\n}\n\nfunction readStaticProjectedShadowArtifactBinding(\n chunk: StaticProjectedShadowArtifactChunkV2,\n): StaticProjectedShadowArtifactBinding | null {\n const binding = (chunk as { binding?: unknown }).binding;\n if (!isRecord(binding)) return null;\n const id = readNonEmptyString(binding.id);\n const ownerCasterId = readNonEmptyString(binding.ownerCasterId);\n const receiverId = readNonEmptyString(binding.receiverId);\n const generatedAt = readNonEmptyString(binding.generatedAt);\n const sourceHash = readNonEmptyString(binding.sourceHash);\n if (\n !id\n || !ownerCasterId\n || !receiverId\n || !generatedAt\n || !sourceHash\n || binding.visibleWhenOwnerVisible !== true\n || binding.staleWhenOwnerTransformChanges !== true\n || binding.staleWhenLightChanges !== true\n ) {\n return null;\n }\n const lightId = readNonEmptyString(binding.lightId);\n const textureAssetId = readNonEmptyString(binding.textureAssetId);\n const projectionNodeId = readNonEmptyString(binding.projectionNodeId);\n return {\n id,\n ownerCasterId,\n receiverId,\n ...(lightId ? { lightId } : {}),\n ...(textureAssetId ? { textureAssetId } : {}),\n ...(projectionNodeId ? { projectionNodeId } : {}),\n visibleWhenOwnerVisible: true,\n staleWhenOwnerTransformChanges: true,\n staleWhenLightChanges: true,\n generatedAt,\n sourceHash,\n };\n}\n\nfunction cloneStaticProjectedShadowArtifactBinding(\n binding: StaticProjectedShadowArtifactBinding,\n): StaticProjectedShadowArtifactBinding {\n return {\n id: binding.id,\n ownerCasterId: binding.ownerCasterId,\n receiverId: binding.receiverId,\n ...(binding.lightId ? { lightId: binding.lightId } : {}),\n ...(binding.textureAssetId ? { textureAssetId: binding.textureAssetId } : {}),\n ...(binding.projectionNodeId ? { projectionNodeId: binding.projectionNodeId } : {}),\n visibleWhenOwnerVisible: true,\n staleWhenOwnerTransformChanges: true,\n staleWhenLightChanges: true,\n generatedAt: binding.generatedAt,\n sourceHash: binding.sourceHash,\n };\n}\n\nfunction resolveBindingVisibility(\n scene: Scene,\n binding: StaticProjectedShadowArtifactBinding | null,\n): boolean {\n if (!binding) return true;\n const owner = findSceneNode(scene, binding.ownerCasterId) ?? (\n binding.projectionNodeId ? findSceneNode(scene, binding.projectionNodeId) : null\n );\n return !!owner && isSceneNodeEnabledAndVisible(owner);\n}\n\nfunction findSceneNode(scene: Scene, idOrName: string): unknown {\n const sceneWithLookup = scene as Scene & {\n getNodeById?: (id: string) => unknown;\n getNodeByName?: (name: string) => unknown;\n };\n const byId = sceneWithLookup.getNodeById?.(idOrName);\n if (byId) return byId;\n const byName = sceneWithLookup.getNodeByName?.(idOrName);\n if (byName) return byName;\n const collections = [\n scene.meshes,\n scene.transformNodes,\n scene.lights,\n ] as readonly unknown[][];\n for (const collection of collections) {\n const match = collection.find(node => {\n const candidate = node as { id?: unknown; name?: unknown };\n return candidate.id === idOrName || candidate.name === idOrName;\n });\n if (match) return match;\n }\n return null;\n}\n\nfunction isSceneNodeEnabledAndVisible(node: unknown): boolean {\n let current: unknown = node;\n while (current && typeof current === 'object') {\n const candidate = current as {\n isEnabled?: () => boolean;\n isVisible?: boolean;\n parent?: unknown;\n };\n if (typeof candidate.isEnabled === 'function' && !candidate.isEnabled()) return false;\n if (candidate.isVisible === false) return false;\n current = candidate.parent;\n }\n return true;\n}\n\nfunction readNonEmptyString(value: unknown): string | null {\n return typeof value === 'string' && value.trim() ? value.trim() : null;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction createSourceNodeIdsHash(sourceNodeIds: unknown): string {\n return createFnv1aHash([...new Set(sourceNodeIds as string[])]);\n}\n\nfunction createFnv1aHash(value: unknown): string {\n const text = stableStringify(value);\n let hash = 0x811c9dc5;\n for (let index = 0; index < text.length; index += 1) {\n hash ^= text.charCodeAt(index);\n hash = Math.imul(hash, 0x01000193);\n }\n return `fnv1a:${(hash >>> 0).toString(16).padStart(8, '0')}`;\n}\n\nfunction stableStringify(value: unknown): string {\n if (value == null || typeof value !== 'object') return JSON.stringify(value);\n if (Array.isArray(value)) return `[${value.map(stableStringify).join(',')}]`;\n const entries = Object.entries(value as Record<string, unknown>)\n .sort(([left], [right]) => left.localeCompare(right));\n return `{${entries.map(([key, entry]) => `${JSON.stringify(key)}:${stableStringify(entry)}`).join(',')}}`;\n}\n\nfunction sanitizeName(value: string): string {\n return value.trim().replace(/[^a-z0-9_-]+/gi, '_') || 'chunk';\n}\n\nfunction readBoolean(value: unknown, fallback: boolean): boolean {\n return typeof value === 'boolean' ? value : fallback;\n}\n\nfunction readFiniteNumber(value: unknown): number | null {\n return typeof value === 'number' && Number.isFinite(value) ? value : null;\n}\n\nfunction readFiniteNumberWithFallback(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nfunction readNonNegativeNumber(value: unknown, fallback: number): number {\n const next = readFiniteNumberWithFallback(value, fallback);\n return next >= 0 ? next : fallback;\n}\n\nfunction readClampedNumber(value: unknown, fallback: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, readFiniteNumberWithFallback(value, fallback)));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"static-projected-shadow-atlas.js","sourceRoot":"","sources":["../../src/shadows/static-projected-shadow-atlas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-projected-shadow-atlas.js","sourceRoot":"","sources":["../../src/shadows/static-projected-shadow-atlas.ts"],"names":[],"mappings":"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","sourcesContent":["export interface StaticProjectedShadowAtlasTileSource {\n id: string;\n width: number;\n height: number;\n}\n\nexport interface StaticProjectedShadowAtlasRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface StaticProjectedShadowAtlasUv {\n u0: number;\n v0: number;\n u1: number;\n v1: number;\n}\n\nexport interface StaticProjectedShadowAtlasTileLayout {\n id: string;\n pageId: string;\n width: number;\n height: number;\n copyX: number;\n copyY: number;\n atlasRect: StaticProjectedShadowAtlasRect;\n atlasUv: StaticProjectedShadowAtlasUv;\n}\n\nexport interface StaticProjectedShadowAtlasPageLayout {\n id: string;\n width: number;\n height: number;\n tiles: StaticProjectedShadowAtlasTileLayout[];\n}\n\nexport interface StaticProjectedShadowAtlasPacking {\n effectiveTexelsPerMeter: number;\n atlasSize: number;\n usedPixels: number;\n allocatedPixels: number;\n occupancy: number;\n pages: StaticProjectedShadowAtlasPageLayout[];\n layoutsByTileId: Map<string, StaticProjectedShadowAtlasTileLayout>;\n}\n\nexport interface StaticProjectedShadowAtlasPackOptions {\n texelsPerMeter: number;\n atlasSize: number;\n maxAtlasPages: number;\n paddingPx?: number;\n}\n\nexport interface StaticProjectedShadowSdfTileFromMaskPixels {\n sdfAlpha: Uint8ClampedArray;\n width: number;\n height: number;\n hasCoverage: boolean;\n}\n\nconst DEFAULT_ATLAS_PADDING_PX = 2;\nconst DISTANCE_TRANSFORM_INF = 1e20;\nconst MAX_STATIC_PROJECTED_SHADOW_ATLAS_SIZE = 4096;\nconst MIN_EFFECTIVE_TEXELS_PER_METER = 1e-6;\nconst SDF_MASK_INSIDE_ALPHA_THRESHOLD = 128;\n\nexport function packStaticProjectedShadowAtlasTiles(\n sources: readonly StaticProjectedShadowAtlasTileSource[],\n options: StaticProjectedShadowAtlasPackOptions,\n): StaticProjectedShadowAtlasPacking {\n const atlasSize = clampInteger(options.atlasSize, 16, MAX_STATIC_PROJECTED_SHADOW_ATLAS_SIZE);\n const maxAtlasPages = Math.max(1, Math.floor(options.maxAtlasPages));\n const targetTexelsPerMeter = Math.max(MIN_EFFECTIVE_TEXELS_PER_METER, finiteNumber(options.texelsPerMeter, 1));\n const paddingPx = clampInteger(options.paddingPx ?? DEFAULT_ATLAS_PADDING_PX, 0, Math.floor(atlasSize / 4));\n const maxTileDensity = calculateMaxTileTexelDensity(sources, atlasSize);\n const effectiveTargetTexelsPerMeter = Math.min(targetTexelsPerMeter, maxTileDensity);\n\n const targetPacking = packAtTexelDensity(sources, {\n atlasSize,\n texelsPerMeter: effectiveTargetTexelsPerMeter,\n paddingPx,\n });\n if (targetPacking.pages.length <= maxAtlasPages) return targetPacking;\n\n let low = MIN_EFFECTIVE_TEXELS_PER_METER;\n let high = effectiveTargetTexelsPerMeter;\n let best = packAtTexelDensity(sources, {\n atlasSize,\n texelsPerMeter: low,\n paddingPx,\n });\n if (best.pages.length > maxAtlasPages) return best;\n\n for (let attempt = 0; attempt < 18; attempt += 1) {\n const mid = (low + high) * 0.5;\n const packing = packAtTexelDensity(sources, {\n atlasSize,\n texelsPerMeter: mid,\n paddingPx,\n });\n if (packing.pages.length <= maxAtlasPages) {\n best = packing;\n low = mid;\n } else {\n high = mid;\n }\n }\n return best;\n}\n\nexport function createStaticProjectedShadowSdfAlpha(\n maskAlpha: ArrayLike<number>,\n width: number,\n height: number,\n radiusPx: number,\n): Uint8ClampedArray {\n const pixelCount = Math.max(0, Math.floor(width) * Math.floor(height));\n const output = new Uint8ClampedArray(pixelCount);\n if (pixelCount === 0) return output;\n\n const binary = new Uint8Array(pixelCount);\n let insideCount = 0;\n for (let index = 0; index < pixelCount; index += 1) {\n if (Number(maskAlpha[index] ?? 0) >= SDF_MASK_INSIDE_ALPHA_THRESHOLD) {\n binary[index] = 1;\n insideCount += 1;\n }\n }\n if (insideCount === 0) return output;\n if (insideCount === pixelCount) {\n output.fill(255);\n return output;\n }\n const radius = Math.max(0, finiteNumber(radiusPx, 0));\n if (radius <= 0) {\n for (let index = 0; index < pixelCount; index += 1) output[index] = binary[index] ? 255 : 0;\n return output;\n }\n\n const distToInside = createDistanceTransform(binary, width, height, 1);\n const distToOutside = createDistanceTransform(binary, width, height, 0);\n for (let index = 0; index < pixelCount; index += 1) {\n if (binary[index]) {\n const distance = Math.min(radius, Math.sqrt(distToOutside[index] ?? 0));\n output[index] = Math.round((0.5 + 0.5 * (distance / radius)) * 255);\n } else {\n const distance = Math.min(radius, Math.sqrt(distToInside[index] ?? 0));\n output[index] = Math.round((0.5 - 0.5 * (distance / radius)) * 255);\n }\n }\n return output;\n}\n\nexport function extractStaticProjectedShadowMaskAlpha(\n rgbaPixels: ArrayBufferView,\n width: number,\n height: number,\n): Uint8ClampedArray {\n const source = rgbaPixels instanceof Uint8Array || rgbaPixels instanceof Uint8ClampedArray\n ? rgbaPixels\n : new Uint8Array(rgbaPixels.buffer, rgbaPixels.byteOffset, rgbaPixels.byteLength);\n const alpha = new Uint8ClampedArray(Math.max(0, Math.floor(width) * Math.floor(height)));\n for (let index = 0; index < alpha.length; index += 1) {\n alpha[index] = source[index * 4 + 3] ?? 0;\n }\n return alpha;\n}\n\nexport function createStaticProjectedShadowSdfTileFromMaskPixels(\n rgbaPixels: ArrayBufferView,\n width: number,\n height: number,\n radiusPx: number,\n): StaticProjectedShadowSdfTileFromMaskPixels {\n const maskAlpha = extractStaticProjectedShadowMaskAlpha(rgbaPixels, width, height);\n if (!hasAlphaCoverage(maskAlpha)) {\n return {\n sdfAlpha: new Uint8ClampedArray(maskAlpha.length),\n width,\n height,\n hasCoverage: false,\n };\n }\n return {\n sdfAlpha: createStaticProjectedShadowSdfAlpha(maskAlpha, width, height, radiusPx),\n width,\n height,\n hasCoverage: true,\n };\n}\n\nexport function createStaticProjectedShadowAtlasPixels(width: number, height: number): Uint8ClampedArray {\n return new Uint8ClampedArray(Math.max(0, Math.floor(width) * Math.floor(height) * 4));\n}\n\nexport function copyStaticProjectedShadowSdfTileToAtlas(\n atlasPixels: Uint8ClampedArray,\n atlasWidth: number,\n sdfAlpha: ArrayLike<number>,\n tileWidth: number,\n tileHeight: number,\n x: number,\n y: number,\n): void {\n for (let row = 0; row < tileHeight; row += 1) {\n for (let column = 0; column < tileWidth; column += 1) {\n const sourceIndex = row * tileWidth + column;\n const targetIndex = ((y + row) * atlasWidth + x + column) * 4;\n const alpha = clampInteger(sdfAlpha[sourceIndex] ?? 0, 0, 255);\n atlasPixels[targetIndex] = 255;\n atlasPixels[targetIndex + 1] = 255;\n atlasPixels[targetIndex + 2] = 255;\n atlasPixels[targetIndex + 3] = alpha;\n }\n }\n}\n\nfunction hasAlphaCoverage(maskAlpha: ArrayLike<number>): boolean {\n for (let index = 0; index < maskAlpha.length; index += 1) {\n if (Number(maskAlpha[index] ?? 0) > 0) return true;\n }\n return false;\n}\n\nfunction packAtTexelDensity(\n sources: readonly StaticProjectedShadowAtlasTileSource[],\n options: {\n atlasSize: number;\n texelsPerMeter: number;\n paddingPx: number;\n },\n): StaticProjectedShadowAtlasPacking {\n const sizedTiles = sources.map((source, index) => createSizedTile(source, index, options));\n const sortedTiles = [...sizedTiles].sort((left, right) => (\n right.paddedHeight - left.paddedHeight\n || right.paddedWidth - left.paddedWidth\n || left.id.localeCompare(right.id)\n || left.index - right.index\n ));\n const pages: StaticProjectedShadowAtlasPageLayout[] = [];\n const layoutsByTileId = new Map<string, StaticProjectedShadowAtlasTileLayout>();\n let page = createAtlasPage(pages.length, options.atlasSize);\n let cursorX = 0;\n let cursorY = 0;\n let shelfHeight = 0;\n\n const pushPage = (): StaticProjectedShadowAtlasPageLayout => {\n if (page.tiles.length > 0) pages.push(page);\n page = createAtlasPage(pages.length, options.atlasSize);\n cursorX = 0;\n cursorY = 0;\n shelfHeight = 0;\n return page;\n };\n\n for (const tile of sortedTiles) {\n if (cursorX + tile.paddedWidth > options.atlasSize) {\n cursorX = 0;\n cursorY += shelfHeight;\n shelfHeight = 0;\n }\n if (cursorY + tile.paddedHeight > options.atlasSize && page.tiles.length > 0) {\n pushPage();\n }\n const copyX = cursorX + tile.paddingX;\n const copyY = cursorY + tile.paddingY;\n const layout: StaticProjectedShadowAtlasTileLayout = {\n id: tile.id,\n pageId: page.id,\n width: tile.width,\n height: tile.height,\n copyX,\n copyY,\n atlasRect: {\n x: copyX,\n y: copyY,\n width: tile.width,\n height: tile.height,\n },\n atlasUv: {\n u0: copyX / options.atlasSize,\n v0: copyY / options.atlasSize,\n u1: (copyX + tile.width) / options.atlasSize,\n v1: (copyY + tile.height) / options.atlasSize,\n },\n };\n page.tiles.push(layout);\n layoutsByTileId.set(tile.id, layout);\n cursorX += tile.paddedWidth;\n shelfHeight = Math.max(shelfHeight, tile.paddedHeight);\n }\n if (page.tiles.length > 0) pages.push(page);\n finalizeAtlasPages(pages, options.atlasSize, options.paddingPx);\n\n const usedPixels = pages.reduce((sum, pageLayout) => (\n sum + pageLayout.tiles.reduce((pageSum, tile) => pageSum + tile.width * tile.height, 0)\n ), 0);\n const allocatedPixels = pages.reduce((sum, pageLayout) => sum + pageLayout.width * pageLayout.height, 0);\n return {\n effectiveTexelsPerMeter: roundNumber(options.texelsPerMeter),\n atlasSize: options.atlasSize,\n usedPixels,\n allocatedPixels,\n occupancy: roundNumber(allocatedPixels > 0 ? usedPixels / allocatedPixels : 0),\n pages,\n layoutsByTileId,\n };\n}\n\nfunction finalizeAtlasPages(\n pages: StaticProjectedShadowAtlasPageLayout[],\n atlasSize: number,\n paddingPx: number,\n): void {\n for (const page of pages) {\n const used = calculateAtlasPageUsedExtent(page, atlasSize, paddingPx);\n page.width = roundAtlasPageExtent(used.width, atlasSize);\n page.height = roundAtlasPageExtent(used.height, atlasSize);\n for (const tile of page.tiles) {\n tile.atlasUv = {\n u0: tile.copyX / page.width,\n v0: tile.copyY / page.height,\n u1: (tile.copyX + tile.width) / page.width,\n v1: (tile.copyY + tile.height) / page.height,\n };\n }\n }\n}\n\nfunction calculateAtlasPageUsedExtent(\n page: StaticProjectedShadowAtlasPageLayout,\n atlasSize: number,\n paddingPx: number,\n): { width: number; height: number } {\n let width = 1;\n let height = 1;\n for (const tile of page.tiles) {\n const rectEndX = tile.atlasRect.x + tile.atlasRect.width;\n const rectEndY = tile.atlasRect.y + tile.atlasRect.height;\n width = Math.max(width, rectEndX + calculateTrailingPadding(tile.atlasRect.x, rectEndX, atlasSize, paddingPx));\n height = Math.max(height, rectEndY + calculateTrailingPadding(tile.atlasRect.y, rectEndY, atlasSize, paddingPx));\n }\n return { width, height };\n}\n\nfunction calculateTrailingPadding(start: number, end: number, atlasSize: number, paddingPx: number): number {\n if (paddingPx <= 0) return 0;\n if (start <= 0) return 0;\n return Math.min(paddingPx, Math.max(0, atlasSize - end));\n}\n\nfunction roundAtlasPageExtent(value: number, atlasSize: number): number {\n const extent = clampInteger(Math.ceil(value), 16, atlasSize);\n if (!isPowerOfTwo(atlasSize)) return extent;\n return Math.min(atlasSize, nextPowerOfTwo(extent));\n}\n\nfunction nextPowerOfTwo(value: number): number {\n let result = 1;\n while (result < value) result *= 2;\n return result;\n}\n\nfunction isPowerOfTwo(value: number): boolean {\n return Number.isInteger(value) && value > 0 && (value & (value - 1)) === 0;\n}\n\nfunction createSizedTile(\n source: StaticProjectedShadowAtlasTileSource,\n index: number,\n options: {\n atlasSize: number;\n texelsPerMeter: number;\n paddingPx: number;\n },\n): {\n id: string;\n index: number;\n width: number;\n height: number;\n paddingX: number;\n paddingY: number;\n paddedWidth: number;\n paddedHeight: number;\n} {\n const maxContentSize = Math.max(1, options.atlasSize);\n const width = clampInteger(Math.ceil(Math.max(1e-6, source.width) * options.texelsPerMeter), 1, maxContentSize);\n const height = clampInteger(Math.ceil(Math.max(1e-6, source.height) * options.texelsPerMeter), 1, maxContentSize);\n const paddingX = width + options.paddingPx * 2 <= options.atlasSize ? options.paddingPx : 0;\n const paddingY = height + options.paddingPx * 2 <= options.atlasSize ? options.paddingPx : 0;\n return {\n id: source.id,\n index,\n width,\n height,\n paddingX,\n paddingY,\n paddedWidth: width + paddingX * 2,\n paddedHeight: height + paddingY * 2,\n };\n}\n\nfunction createAtlasPage(index: number, size: number): StaticProjectedShadowAtlasPageLayout {\n return {\n id: `page_${index}`,\n width: size,\n height: size,\n tiles: [],\n };\n}\n\nfunction calculateMaxTileTexelDensity(\n sources: readonly StaticProjectedShadowAtlasTileSource[],\n atlasSize: number,\n): number {\n if (sources.length === 0) return atlasSize;\n let maxDensity = Infinity;\n for (const source of sources) {\n const width = Math.max(1e-6, source.width);\n const height = Math.max(1e-6, source.height);\n maxDensity = Math.min(maxDensity, atlasSize / width, atlasSize / height);\n }\n return Number.isFinite(maxDensity)\n ? Math.max(MIN_EFFECTIVE_TEXELS_PER_METER, maxDensity)\n : atlasSize;\n}\n\nfunction createDistanceTransform(\n binary: Uint8Array,\n width: number,\n height: number,\n featureValue: 0 | 1,\n): Float64Array {\n const pixelCount = width * height;\n const temp = new Float64Array(pixelCount);\n const output = new Float64Array(pixelCount);\n const rowInput = new Float64Array(width);\n const rowOutput = new Float64Array(width);\n for (let y = 0; y < height; y += 1) {\n const rowOffset = y * width;\n for (let x = 0; x < width; x += 1) {\n rowInput[x] = binary[rowOffset + x] === featureValue ? 0 : DISTANCE_TRANSFORM_INF;\n }\n distanceTransform1d(rowInput, rowOutput, width);\n for (let x = 0; x < width; x += 1) temp[rowOffset + x] = rowOutput[x] ?? DISTANCE_TRANSFORM_INF;\n }\n\n const columnInput = new Float64Array(height);\n const columnOutput = new Float64Array(height);\n for (let x = 0; x < width; x += 1) {\n for (let y = 0; y < height; y += 1) columnInput[y] = temp[y * width + x] ?? DISTANCE_TRANSFORM_INF;\n distanceTransform1d(columnInput, columnOutput, height);\n for (let y = 0; y < height; y += 1) output[y * width + x] = columnOutput[y] ?? DISTANCE_TRANSFORM_INF;\n }\n return output;\n}\n\nfunction distanceTransform1d(input: Float64Array, output: Float64Array, length: number): void {\n let firstFinite = -1;\n for (let index = 0; index < length; index += 1) {\n if (Number.isFinite(input[index])) {\n firstFinite = index;\n break;\n }\n }\n if (firstFinite < 0) {\n output.fill(DISTANCE_TRANSFORM_INF);\n return;\n }\n const v = new Int32Array(length);\n const z = new Float64Array(length + 1);\n let k = 0;\n v[0] = firstFinite;\n z[0] = -Infinity;\n z[1] = Infinity;\n for (let q = firstFinite + 1; q < length; q += 1) {\n if (!Number.isFinite(input[q])) continue;\n let s = calculateParabolaIntersection(input, q, v[k] ?? 0);\n while (s <= (z[k] ?? -Infinity)) {\n k -= 1;\n s = calculateParabolaIntersection(input, q, v[k] ?? 0);\n }\n k += 1;\n v[k] = q;\n z[k] = s;\n z[k + 1] = Infinity;\n }\n k = 0;\n for (let q = 0; q < length; q += 1) {\n while ((z[k + 1] ?? Infinity) < q) k += 1;\n const nearest = v[k] ?? 0;\n const delta = q - nearest;\n output[q] = delta * delta + (input[nearest] ?? DISTANCE_TRANSFORM_INF);\n }\n}\n\nfunction calculateParabolaIntersection(input: Float64Array, q: number, nearest: number): number {\n const denominator = 2 * q - 2 * nearest;\n if (denominator === 0) return Infinity;\n const fq = input[q] ?? DISTANCE_TRANSFORM_INF;\n const fn = input[nearest] ?? DISTANCE_TRANSFORM_INF;\n if (!Number.isFinite(fq) && !Number.isFinite(fn)) return Infinity;\n if (!Number.isFinite(fq)) return Infinity;\n if (!Number.isFinite(fn)) return -Infinity;\n return ((fq + q * q) - (fn + nearest * nearest)) / denominator;\n}\n\nfunction clampInteger(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, Math.round(finiteNumber(value, min))));\n}\n\nfunction finiteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nfunction roundNumber(value: number): number {\n return Math.round(value * 1000000) / 1000000;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"static-projected-shadow-bake.js","sourceRoot":"","sources":["../../src/shadows/static-projected-shadow-bake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-projected-shadow-bake.js","sourceRoot":"","sources":["../../src/shadows/static-projected-shadow-bake.ts"],"names":[],"mappings":"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","sourcesContent":["import { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport { FreeCamera } from '@babylonjs/core/Cameras/freeCamera.js';\nimport { Color3, Color4 } from '@babylonjs/core/Maths/math.color.js';\nimport { Matrix, Vector3 } from '@babylonjs/core/Maths/math.vector.js';\nimport { Material } from '@babylonjs/core/Materials/material.js';\nimport { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial.js';\nimport { RenderTargetTexture } from '@babylonjs/core/Materials/Textures/renderTargetTexture.js';\nimport { Texture } from '@babylonjs/core/Materials/Textures/texture.js';\nimport { VertexBuffer } from '@babylonjs/core/Buffers/buffer.js';\nimport { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh.js';\nimport { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh.js';\nimport { Mesh } from '@babylonjs/core/Meshes/mesh.js';\nimport { VertexData } from '@babylonjs/core/Meshes/mesh.vertexData.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n markStaticProjectedShadowInternal,\n STATIC_PROJECTED_SHADOW_ALPHA_INDEX,\n} from './static-projected-shadow-rendering.js';\n\nexport const STATIC_PROJECTED_BAKE_LAYER_MASK = 0x10000000;\n\nexport type StaticProjectedShadowBakeBounds = {\n center: Vector3;\n width: number;\n depth: number;\n minX: number;\n maxX: number;\n minZ: number;\n maxZ: number;\n};\n\nexport interface StaticProjectedShadowMaskTexture {\n texture: RenderTargetTexture;\n dispose(): void;\n}\n\nexport function collectStaticProjectedShadowNodeMeshes(root: AbstractMesh): AbstractMesh[] {\n const meshes = new Set<AbstractMesh>();\n meshes.add(root);\n for (const child of root.getChildMeshes(false)) meshes.add(child);\n return [...meshes];\n}\n\nexport function buildStaticProjectedShadowBounds(\n meshes: AbstractMesh[],\n options: {\n lightDir: Vector3;\n planeY: number;\n padding: number;\n maxSize?: number;\n },\n): StaticProjectedShadowBakeBounds | null {\n const lightDir = options.lightDir.clone().normalize();\n if (Math.abs(lightDir.y) < 1e-5) return null;\n const points: Vector3[] = [];\n for (const mesh of meshes) {\n const geometrySource = mesh instanceof InstancedMesh ? mesh.sourceMesh : mesh;\n if (!(geometrySource instanceof Mesh)) continue;\n const positions = geometrySource.getVerticesData(VertexBuffer.PositionKind);\n if (!positions || positions.length < 3) continue;\n mesh.computeWorldMatrix(true);\n const matrix = mesh.getWorldMatrix();\n for (let index = 0; index < positions.length; index += 3) {\n const point = Vector3.TransformCoordinates(\n new Vector3(Number(positions[index]), Number(positions[index + 1]), Number(positions[index + 2])),\n matrix,\n );\n const t = (options.planeY - point.y) / lightDir.y;\n if (t < -1e-4) continue;\n points.push(point.add(lightDir.scale(Math.max(0, t))));\n }\n }\n return buildStaticProjectedShadowBoundsFromPoints(points, options);\n}\n\nexport function buildStaticProjectedShadowBoundsFromPoints(\n points: readonly Vector3[],\n options: {\n planeY: number;\n padding: number;\n maxSize?: number;\n },\n): StaticProjectedShadowBakeBounds | null {\n if (points.length === 0) return null;\n let minX = Infinity;\n let maxX = -Infinity;\n let minZ = Infinity;\n let maxZ = -Infinity;\n for (const point of points) {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minZ = Math.min(minZ, point.z);\n maxZ = Math.max(maxZ, point.z);\n }\n if (![minX, maxX, minZ, maxZ].every(Number.isFinite)) return null;\n const paddingX = Math.max(options.padding, (maxX - minX) * options.padding);\n const paddingZ = Math.max(options.padding, (maxZ - minZ) * options.padding);\n minX -= paddingX;\n maxX += paddingX;\n minZ -= paddingZ;\n maxZ += paddingZ;\n const centerX = (minX + maxX) * 0.5;\n const centerZ = (minZ + maxZ) * 0.5;\n let width = maxX - minX;\n let depth = maxZ - minZ;\n const maxSize = options.maxSize;\n if (maxSize && width > maxSize) {\n width = maxSize;\n minX = centerX - width * 0.5;\n maxX = centerX + width * 0.5;\n }\n if (maxSize && depth > maxSize) {\n depth = maxSize;\n minZ = centerZ - depth * 0.5;\n maxZ = centerZ + depth * 0.5;\n }\n return {\n center: new Vector3((minX + maxX) * 0.5, options.planeY, (minZ + maxZ) * 0.5),\n width,\n depth,\n minX,\n maxX,\n minZ,\n maxZ,\n };\n}\n\nexport function createStaticProjectedShadowMaskTexture(\n meshes: AbstractMesh[],\n options: {\n scene: Scene;\n name: string;\n bounds: StaticProjectedShadowBakeBounds;\n lightDir: Vector3;\n planeY: number;\n resolution: number | { width: number; height: number };\n },\n): Promise<StaticProjectedShadowMaskTexture | null> {\n const resolution = resolveBakeTextureSize(options.resolution);\n const bakeMeshes = createProjectedBakeMeshes(meshes, {\n scene: options.scene,\n name: options.name,\n bounds: options.bounds,\n lightDir: options.lightDir,\n planeY: options.planeY,\n });\n if (bakeMeshes.length === 0) return Promise.resolve(null);\n\n const bakeCamera = createBakeCamera(`${options.name}_staticProjectedBakeCamera`, options.scene, options.bounds);\n const bakeMaterial = createBakeMaterial(`${options.name}_staticProjectedBakeMaterial`, options.scene);\n for (const mesh of bakeMeshes) mesh.material = bakeMaterial;\n const texture = new RenderTargetTexture(\n `${options.name}_staticProjectedShadowMask`,\n resolution,\n options.scene,\n false,\n false,\n );\n texture.clearColor = new Color4(0, 0, 0, 0);\n texture.hasAlpha = true;\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\n texture.updateSamplingMode(Texture.NEAREST_SAMPLINGMODE);\n texture.renderList = bakeMeshes;\n texture.activeCamera = bakeCamera;\n texture.cameraForLOD = bakeCamera;\n texture.disableImageProcessing = true;\n texture.renderParticles = false;\n texture.renderSprites = false;\n texture.enableOutlineRendering = false;\n texture.refreshRate = RenderTargetTexture.REFRESHRATE_RENDER_ONCE;\n texture.setMaterialForRendering(bakeMeshes, bakeMaterial);\n\n const disposeTransient = (): void => {\n texture.renderList = [];\n texture.activeCamera = null;\n texture.cameraForLOD = null;\n for (const mesh of bakeMeshes) mesh.dispose();\n bakeCamera.dispose();\n bakeMaterial.dispose();\n };\n\n try {\n return renderStaticProjectedShadowMaskTexture(texture, bakeMeshes, bakeMaterial)\n .then(() => {\n disposeTransient();\n return {\n texture,\n dispose() {\n const targetIndex = options.scene.customRenderTargets.indexOf(texture);\n if (targetIndex >= 0) options.scene.customRenderTargets.splice(targetIndex, 1);\n texture.dispose();\n },\n };\n })\n .catch(() => {\n disposeTransient();\n const targetIndex = options.scene.customRenderTargets.indexOf(texture);\n if (targetIndex >= 0) options.scene.customRenderTargets.splice(targetIndex, 1);\n texture.dispose();\n return null;\n });\n } catch {\n disposeTransient();\n const targetIndex = options.scene.customRenderTargets.indexOf(texture);\n if (targetIndex >= 0) options.scene.customRenderTargets.splice(targetIndex, 1);\n texture.dispose();\n return Promise.resolve(null);\n }\n}\n\nasync function renderStaticProjectedShadowMaskTexture(\n texture: RenderTargetTexture,\n bakeMeshes: readonly Mesh[],\n bakeMaterial: StandardMaterial,\n): Promise<void> {\n await Promise.all(bakeMeshes.map(mesh => bakeMaterial.forceCompilationAsync(mesh)));\n if (!await waitForRenderTargetReady(texture)) {\n throw new Error('Static projected shadow bake target is not ready.');\n }\n try {\n texture.render(false);\n } catch {\n throw new Error('Static projected shadow bake render failed.');\n }\n await waitNextFrame();\n}\n\nasync function waitForRenderTargetReady(texture: RenderTargetTexture): Promise<boolean> {\n const maxAttempts = 30;\n for (let attempt = 0; attempt < maxAttempts; attempt += 1) {\n if (texture.isReadyForRendering()) return true;\n await waitNextFrame();\n }\n return texture.isReadyForRendering();\n}\n\nfunction createProjectedBakeMeshes(\n meshes: AbstractMesh[],\n options: {\n scene: Scene;\n name: string;\n bounds: StaticProjectedShadowBakeBounds;\n lightDir: Vector3;\n planeY: number;\n },\n): Mesh[] {\n const lightDir = options.lightDir.clone().normalize();\n if (Math.abs(lightDir.y) < 1e-5) return [];\n const bakeMeshes: Mesh[] = [];\n\n meshes.forEach((mesh, meshIndex) => {\n const geometrySource = mesh instanceof InstancedMesh ? mesh.sourceMesh : mesh;\n if (!(geometrySource instanceof Mesh)) return;\n const positions = geometrySource.getVerticesData(VertexBuffer.PositionKind);\n const indices = geometrySource.getIndices();\n if (!positions || positions.length < 3 || !indices || indices.length < 3) return;\n mesh.computeWorldMatrix(true);\n const matrix = mesh.getWorldMatrix();\n const projectedPositions = projectStaticShadowMeshPositions(positions, matrix, lightDir, {\n bounds: options.bounds,\n planeY: options.planeY,\n mirrorXForBakeCamera: true,\n });\n\n const bakeMesh = new Mesh(`${options.name}_staticProjectedBakeProjection_${meshIndex}`, options.scene);\n const vertexData = new VertexData();\n vertexData.positions = projectedPositions;\n vertexData.indices = [...indices];\n vertexData.normals = createStaticShadowBakeNormals(projectedPositions.length / 3);\n vertexData.applyToMesh(bakeMesh);\n bakeMesh.isPickable = false;\n bakeMesh.receiveShadows = false;\n bakeMesh.alphaIndex = STATIC_PROJECTED_SHADOW_ALPHA_INDEX;\n bakeMesh.layerMask = STATIC_PROJECTED_BAKE_LAYER_MASK;\n markStaticProjectedShadowInternal(bakeMesh);\n bakeMeshes.push(bakeMesh);\n });\n\n return bakeMeshes;\n}\n\nfunction createStaticShadowBakeNormals(vertexCount: number): number[] {\n const normals: number[] = [];\n for (let index = 0; index < vertexCount; index += 1) {\n normals.push(0, 1, 0);\n }\n return normals;\n}\n\nexport function projectStaticShadowMeshPositions(\n positions: ArrayLike<number>,\n matrix: Matrix,\n lightDir: Vector3,\n options: {\n bounds: StaticProjectedShadowBakeBounds;\n planeY: number;\n mirrorXForBakeCamera?: boolean;\n },\n): number[] {\n const projectedPositions: number[] = [];\n for (let index = 0; index < positions.length; index += 3) {\n const point = Vector3.TransformCoordinates(\n new Vector3(Number(positions[index]), Number(positions[index + 1]), Number(positions[index + 2])),\n matrix,\n );\n const t = (options.planeY - point.y) / lightDir.y;\n const projected = point.add(lightDir.scale(Math.max(0, t)));\n // The top-down RTT camera writes world X mirrored into texture U, while runtime quads sample U as minX -> maxX.\n const x = options.mirrorXForBakeCamera\n ? options.bounds.center.x - (projected.x - options.bounds.center.x)\n : projected.x;\n projectedPositions.push(x, options.planeY, projected.z);\n }\n return projectedPositions;\n}\n\nfunction createBakeCamera(name: string, scene: Scene, bounds: StaticProjectedShadowBakeBounds): FreeCamera {\n const cameraHeight = Math.max(bounds.width, bounds.depth, 1) + 10;\n const camera = new FreeCamera(\n name,\n new Vector3(bounds.center.x, bounds.center.y + cameraHeight, bounds.center.z),\n scene,\n );\n camera.mode = Camera.ORTHOGRAPHIC_CAMERA;\n camera.orthoLeft = -Math.max(bounds.width, 1e-4) * 0.5;\n camera.orthoRight = Math.max(bounds.width, 1e-4) * 0.5;\n camera.orthoBottom = -Math.max(bounds.depth, 1e-4) * 0.5;\n camera.orthoTop = Math.max(bounds.depth, 1e-4) * 0.5;\n camera.minZ = 0.01;\n camera.maxZ = cameraHeight + 1;\n camera.layerMask = STATIC_PROJECTED_BAKE_LAYER_MASK;\n camera.upVector = Vector3.Forward();\n camera.setTarget(bounds.center);\n return camera;\n}\n\nfunction createBakeMaterial(name: string, scene: Scene): StandardMaterial {\n const material = new StandardMaterial(name, scene);\n material.diffuseColor = Color3.White();\n material.emissiveColor = Color3.White();\n material.alpha = 1;\n material.backFaceCulling = false;\n material.disableLighting = true;\n material.disableDepthWrite = true;\n material.transparencyMode = Material.MATERIAL_OPAQUE;\n return material;\n}\n\nfunction waitNextFrame(): Promise<void> {\n if (typeof requestAnimationFrame === 'function') {\n return new Promise(resolve => requestAnimationFrame(() => resolve()));\n }\n return new Promise(resolve => setTimeout(resolve, 0));\n}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction resolveBakeTextureSize(value: number | { width: number; height: number }): number | { width: number; height: number } {\n if (typeof value === 'number') return clamp(Math.round(value), 16, 4096);\n return {\n width: clamp(Math.round(value.width), 1, 4096),\n height: clamp(Math.round(value.height), 1, 4096),\n };\n}\n"]}