@woosh/meep-engine 2.169.4 → 2.170.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1559) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/editor/Editor.d.ts +161 -65
  3. package/editor/Editor.d.ts.map +1 -1
  4. package/editor/Editor.js +669 -794
  5. package/editor/EditorCameraNavigation.d.ts +21 -0
  6. package/editor/EditorCameraNavigation.d.ts.map +1 -0
  7. package/editor/EditorCameraNavigation.js +191 -0
  8. package/editor/EditorKeyMap.d.ts +28 -0
  9. package/editor/EditorKeyMap.d.ts.map +1 -0
  10. package/editor/EditorKeyMap.js +182 -0
  11. package/editor/REWORK_PLAN_2026_08.md +692 -0
  12. package/editor/SelectionVisualizer.d.ts +48 -19
  13. package/editor/SelectionVisualizer.d.ts.map +1 -1
  14. package/editor/SelectionVisualizer.js +163 -156
  15. package/editor/actions/concrete/ActionUpdateTexture.d.ts +11 -11
  16. package/editor/actions/concrete/ArrayCopyAction.d.ts +19 -19
  17. package/editor/actions/concrete/ArrayCopyAction.d.ts.map +1 -1
  18. package/editor/actions/concrete/ArrayCopyAction.js +7 -7
  19. package/editor/actions/concrete/ComponentAddAction.d.ts +14 -14
  20. package/editor/actions/concrete/ComponentAddAction.d.ts.map +1 -1
  21. package/editor/actions/concrete/ComponentAddAction.js +6 -5
  22. package/editor/actions/concrete/ComponentRemoveAction.d.ts +10 -10
  23. package/editor/actions/concrete/ComponentRemoveAction.d.ts.map +1 -1
  24. package/editor/actions/concrete/ComponentRemoveAction.js +10 -12
  25. package/editor/actions/concrete/EntityCreateAction.d.ts +17 -17
  26. package/editor/actions/concrete/EntityCreateAction.d.ts.map +1 -1
  27. package/editor/actions/concrete/EntityCreateAction.js +11 -14
  28. package/editor/actions/concrete/EntityRemoveAction.d.ts +10 -10
  29. package/editor/actions/concrete/EntityRemoveAction.d.ts.map +1 -1
  30. package/editor/actions/concrete/EntityRemoveAction.js +2 -1
  31. package/editor/actions/concrete/ModifyPatchSampler2DAction.d.ts +46 -46
  32. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts +37 -37
  33. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts.map +1 -1
  34. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.js +3 -1
  35. package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts +22 -22
  36. package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts.map +1 -1
  37. package/editor/actions/concrete/PaintTerrainOverlayAction.js +3 -3
  38. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts +31 -18
  39. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts.map +1 -1
  40. package/editor/actions/concrete/PatchTerrainHeightAction.js +28 -9
  41. package/editor/actions/concrete/SelectionAddAction.d.ts +18 -18
  42. package/editor/actions/concrete/SelectionAddAction.d.ts.map +1 -1
  43. package/editor/actions/concrete/SelectionAddAction.js +2 -1
  44. package/editor/actions/concrete/SelectionClearAction.d.ts +8 -8
  45. package/editor/actions/concrete/SelectionClearAction.d.ts.map +1 -1
  46. package/editor/actions/concrete/SelectionClearAction.js +1 -4
  47. package/editor/actions/concrete/SelectionRemoveAction.d.ts +9 -9
  48. package/editor/actions/concrete/SelectionRemoveAction.d.ts.map +1 -1
  49. package/editor/actions/concrete/SelectionRemoveAction.js +2 -1
  50. package/editor/actions/concrete/TransformModifyAction.d.ts +16 -16
  51. package/editor/actions/concrete/TransformModifyAction.d.ts.map +1 -1
  52. package/editor/actions/concrete/TransformModifyAction.js +8 -8
  53. package/editor/actions/concrete/WriteGridValueAction.d.ts +13 -14
  54. package/editor/actions/concrete/WriteGridValueAction.d.ts.map +1 -1
  55. package/editor/actions/concrete/WriteGridValueAction.js +3 -3
  56. package/editor/camera/camera_framing.d.ts +30 -0
  57. package/editor/camera/camera_framing.d.ts.map +1 -0
  58. package/editor/camera/camera_framing.js +98 -0
  59. package/editor/clipboard.d.ts +19 -0
  60. package/editor/clipboard.d.ts.map +1 -0
  61. package/editor/clipboard.js +184 -0
  62. package/editor/ecs/EditorEntity.d.ts +15 -15
  63. package/editor/ecs/EditorEntitySystem.d.ts +7 -7
  64. package/editor/ecs/EditorEntitySystem.d.ts.map +1 -1
  65. package/editor/ecs/EditorEntitySystem.js +1 -6
  66. package/editor/ecs/component/FieldDescriptor.d.ts +26 -26
  67. package/editor/ecs/component/FieldDescriptor.d.ts.map +1 -1
  68. package/editor/ecs/component/FieldDescriptor.js +20 -22
  69. package/editor/ecs/component/FieldValueAdapter.d.ts +6 -6
  70. package/editor/ecs/component/FieldValueAdapter.d.ts.map +1 -1
  71. package/editor/ecs/component/FieldValueAdapter.js +2 -5
  72. package/editor/ecs/component/TypeEditor.d.ts +24 -24
  73. package/editor/ecs/component/createFieldEditor.d.ts +8 -8
  74. package/editor/ecs/component/createObjectEditor.d.ts +13 -13
  75. package/editor/ecs/component/editors/ColorEditor.d.ts +6 -6
  76. package/editor/ecs/component/editors/HTMLElementEditor.d.ts +6 -6
  77. package/editor/ecs/component/editors/HTMLElementEditor.d.ts.map +1 -1
  78. package/editor/ecs/component/editors/ImagePathEditor.d.ts +6 -6
  79. package/editor/ecs/component/editors/LargeStringEditor.d.ts +15 -15
  80. package/editor/ecs/component/editors/NumericIntervalEditor.d.ts +6 -6
  81. package/editor/ecs/component/editors/NumericIntervalEditor.d.ts.map +1 -1
  82. package/editor/ecs/component/editors/ObservedBooleanEditor.d.ts +6 -6
  83. package/editor/ecs/component/editors/ObservedEnumEditor.d.ts +6 -6
  84. package/editor/ecs/component/editors/ObservedIntegerEditor.d.ts +6 -6
  85. package/editor/ecs/component/editors/ObservedIntegerEditor.d.ts.map +1 -1
  86. package/editor/ecs/component/editors/ObservedStringEditor.d.ts +6 -6
  87. package/editor/ecs/component/editors/ObservedStringEditor.d.ts.map +1 -1
  88. package/editor/ecs/component/editors/Sampler2DEditor.d.ts +6 -6
  89. package/editor/ecs/component/editors/collection/ListEditor.d.ts +7 -7
  90. package/editor/ecs/component/editors/common/BitFlagsEditor.d.ts +11 -11
  91. package/editor/ecs/component/editors/common/EnumEditor.d.ts +7 -7
  92. package/editor/ecs/component/editors/common/makeV3_editor.d.ts +14 -14
  93. package/editor/ecs/component/editors/common/makeV3_editor.d.ts.map +1 -1
  94. package/editor/ecs/component/editors/common/noEditor.d.ts +2 -2
  95. package/editor/ecs/component/editors/common/two_way_sync.d.ts +22 -0
  96. package/editor/ecs/component/editors/common/two_way_sync.d.ts.map +1 -0
  97. package/editor/ecs/component/editors/ecs/GridObstacleEditor.d.ts +6 -6
  98. package/editor/ecs/component/editors/ecs/GridObstacleEditor.js +1 -1
  99. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts +19 -66
  100. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts.map +1 -1
  101. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.js +35 -239
  102. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts +11 -11
  103. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts.map +1 -1
  104. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.js +17 -17
  105. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts +13 -13
  106. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts +51 -51
  107. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.js +1 -1
  108. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts +46 -47
  109. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts.map +1 -1
  110. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts +15 -15
  111. package/editor/ecs/component/editors/ecs/Trail2DEditor.d.ts +29 -29
  112. package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts +42 -0
  113. package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts.map +1 -0
  114. package/editor/ecs/component/editors/ecs/TransformEditor.d.ts +19 -19
  115. package/editor/ecs/component/editors/ecs/buildGridObstaclePreview.d.ts +8 -0
  116. package/editor/ecs/component/editors/ecs/buildGridObstaclePreview.d.ts.map +1 -0
  117. package/editor/ecs/component/editors/ecs/buildGridObstaclePreview.js +19 -0
  118. package/editor/ecs/component/editors/ecs/terrain/SplatMappingEditor.d.ts +18 -18
  119. package/editor/ecs/component/editors/ecs/terrain/TerrainEditor.d.ts +38 -38
  120. package/editor/ecs/component/editors/ecs/terrain/TerrainLayerEditor.d.ts +15 -15
  121. package/editor/ecs/component/editors/ecs/terrain/TerrainLayersEditor.d.ts +18 -18
  122. package/editor/ecs/component/editors/ecs/terrain/TerrainOverlayEditor.d.ts +17 -17
  123. package/editor/ecs/component/editors/geom/QuaternionEditor.d.ts +5 -5
  124. package/editor/ecs/component/editors/geom/QuaternionEditor.d.ts.map +1 -1
  125. package/editor/ecs/component/editors/geom/Vector1Editor.d.ts +6 -6
  126. package/editor/ecs/component/editors/geom/Vector1Editor.d.ts.map +1 -1
  127. package/editor/ecs/component/editors/geom/Vector2Editor.d.ts +5 -5
  128. package/editor/ecs/component/editors/geom/Vector3Editor.d.ts +5 -5
  129. package/editor/ecs/component/editors/geom/Vector4Editor.d.ts +5 -5
  130. package/editor/ecs/component/editors/primitive/ArrayEditor.d.ts +7 -7
  131. package/editor/ecs/component/editors/primitive/BooleanEditor.d.ts +6 -6
  132. package/editor/ecs/component/editors/primitive/FunctionEditor.d.ts +6 -6
  133. package/editor/ecs/component/editors/primitive/NumberEditor.d.ts +7 -7
  134. package/editor/ecs/component/editors/primitive/NumberEditor.d.ts.map +1 -1
  135. package/editor/ecs/component/editors/primitive/ObjectEditor.d.ts +5 -5
  136. package/editor/ecs/component/editors/primitive/StringEditor.d.ts +6 -6
  137. package/editor/ecs/component/editors/three/BufferGeometryEditor.d.ts +6 -6
  138. package/editor/ecs/component/editors/three/MaterialEditor.d.ts +6 -6
  139. package/editor/ecs/component/editors/three/MeshEditor.d.ts +6 -6
  140. package/editor/ecs/component/editors/three/TextureEditor.d.ts +6 -6
  141. package/editor/ecs/component/findNearestRegisteredType.d.ts +7 -7
  142. package/editor/ecs/component/registerEngineComponentEditors.d.ts +8 -0
  143. package/editor/ecs/component/registerEngineComponentEditors.d.ts.map +1 -0
  144. package/editor/ecs/component/registerEngineComponentEditors.js +85 -0
  145. package/editor/enableEditor.d.ts +13 -13
  146. package/editor/enableEditor.d.ts.map +1 -1
  147. package/editor/enableEditor.js +14 -4
  148. package/editor/library/MeshLibrary.d.ts +12 -12
  149. package/editor/library/MeshLibrary.d.ts.map +1 -1
  150. package/editor/library/MeshLibrary.js +4 -7
  151. package/editor/particles/lut_ops.d.ts +34 -0
  152. package/editor/particles/lut_ops.d.ts.map +1 -0
  153. package/editor/particles/lut_ops.js +148 -0
  154. package/editor/particles/particleEditEvents.d.ts +11 -0
  155. package/editor/particles/particleEditEvents.d.ts.map +1 -0
  156. package/editor/particles/particleEditEvents.js +12 -0
  157. package/editor/particles/rebuildParticleEmitter.d.ts +11 -0
  158. package/editor/particles/rebuildParticleEmitter.d.ts.map +1 -0
  159. package/editor/particles/rebuildParticleEmitter.js +49 -0
  160. package/editor/persistence/EditorLayoutStore.d.ts +30 -0
  161. package/editor/persistence/EditorLayoutStore.d.ts.map +1 -0
  162. package/editor/persistence/EditorLayoutStore.js +71 -0
  163. package/editor/persistence/SceneMetadata.d.ts +38 -0
  164. package/editor/persistence/SceneMetadata.d.ts.map +1 -0
  165. package/editor/persistence/SceneMetadata.js +52 -0
  166. package/editor/persistence/SceneSlotManager.d.ts +40 -0
  167. package/editor/persistence/SceneSlotManager.d.ts.map +1 -0
  168. package/editor/persistence/SceneSlotManager.js +144 -0
  169. package/editor/persistence/buildNewSceneDataset.d.ts +10 -0
  170. package/editor/persistence/buildNewSceneDataset.d.ts.map +1 -0
  171. package/editor/persistence/buildNewSceneDataset.js +67 -0
  172. package/editor/persistence/files.d.ts +24 -0
  173. package/editor/persistence/files.d.ts.map +1 -0
  174. package/editor/persistence/files.js +68 -0
  175. package/editor/persistence/scene_import.d.ts +45 -0
  176. package/editor/persistence/scene_import.d.ts.map +1 -0
  177. package/editor/persistence/scene_import.js +143 -0
  178. package/editor/persistence/scene_serialization.d.ts +36 -0
  179. package/editor/persistence/scene_serialization.d.ts.map +1 -0
  180. package/editor/persistence/scene_serialization.js +79 -0
  181. package/editor/persistence/string_buffer_codec.d.ts +20 -0
  182. package/editor/persistence/string_buffer_codec.d.ts.map +1 -0
  183. package/editor/persistence/string_buffer_codec.js +41 -0
  184. package/editor/process/DisableGameUIProcess.d.ts +7 -7
  185. package/editor/process/DisableGameUIProcess.d.ts.map +1 -1
  186. package/editor/process/DisableGameUIProcess.js +1 -5
  187. package/editor/process/EditorProcess.d.ts +18 -18
  188. package/editor/process/GridDisplayProcess.d.ts +16 -0
  189. package/editor/process/GridDisplayProcess.d.ts.map +1 -0
  190. package/editor/process/GridDisplayProcess.js +53 -0
  191. package/editor/process/ObstacleGridDisplayProcess.d.ts +12 -12
  192. package/editor/process/ObstacleGridDisplayProcess.d.ts.map +1 -1
  193. package/editor/process/ObstacleGridDisplayProcess.js +7 -9
  194. package/editor/process/ParticleEmitterRebuildProcess.d.ts +66 -0
  195. package/editor/process/ParticleEmitterRebuildProcess.d.ts.map +1 -0
  196. package/editor/process/ParticleEmitterRebuildProcess.js +217 -0
  197. package/editor/process/ProcessEngine.d.ts +29 -29
  198. package/editor/process/ProcessEngine.d.ts.map +1 -1
  199. package/editor/process/ProcessEngine.js +11 -4
  200. package/editor/process/SymbolicDisplayProcess.d.ts +18 -18
  201. package/editor/process/SymbolicDisplayProcess.js +2 -2
  202. package/editor/process/symbolic/ComponentSymbolicDisplay.d.ts +10 -10
  203. package/editor/process/symbolic/SymbolicDisplayInternalAPI.d.ts +67 -64
  204. package/editor/process/symbolic/SymbolicDisplayInternalAPI.d.ts.map +1 -1
  205. package/editor/process/symbolic/SymbolicDisplayInternalAPI.js +42 -45
  206. package/editor/process/symbolic/buildThreeJSHelperEntity.d.ts +8 -8
  207. package/editor/process/symbolic/make3DSymbolicDisplay.d.ts +9 -9
  208. package/editor/process/symbolic/makeCameraSymbolicDisplay.d.ts +6 -6
  209. package/editor/process/symbolic/makeGridPositionSymbolDisplay.d.ts +5 -5
  210. package/editor/process/symbolic/makeHelperBoxGeometry.d.ts +2 -2
  211. package/editor/process/symbolic/makeHelperSphereGeometry.d.ts +8 -8
  212. package/editor/process/symbolic/makeLightSymbolicDisplay.d.ts +6 -6
  213. package/editor/process/symbolic/makeParticleEmitterSymbolicDisplay.d.ts +5 -5
  214. package/editor/process/symbolic/makeParticleEmitterSymbolicDisplay.d.ts.map +1 -1
  215. package/editor/process/symbolic/makeParticleEmitterSymbolicDisplay.js +21 -1
  216. package/editor/process/symbolic/makePathSymbolicDisplay.d.ts +6 -6
  217. package/editor/process/symbolic/makePositionedIconDisplaySymbol.d.ts +8 -8
  218. package/editor/process/symbolic/makePositionedIconDisplaySymbol.d.ts.map +1 -1
  219. package/editor/process/symbolic/makePositionedIconDisplaySymbol.js +3 -0
  220. package/editor/process/symbolic/makeSocketsSymbolicDisplay.d.ts +6 -6
  221. package/editor/process/symbolic/makeSolidArrowGeometry.d.ts +25 -25
  222. package/editor/process/symbolic/makeSoundEmitterSymbolicDisplay.d.ts +5 -5
  223. package/editor/process/symbolic/synchronizeTransform.d.ts +11 -11
  224. package/editor/prototypeEditorShell.js +102 -0
  225. package/editor/style/controls.scss +168 -0
  226. package/editor/style/editor.scss +313 -0
  227. package/editor/style/inspector.scss +223 -0
  228. package/editor/templates/entity_templates.d.ts +19 -0
  229. package/editor/templates/entity_templates.d.ts.map +1 -0
  230. package/editor/templates/entity_templates.js +167 -0
  231. package/editor/tools/GridPaintTool.d.ts +17 -16
  232. package/editor/tools/GridPaintTool.d.ts.map +1 -1
  233. package/editor/tools/GridPaintTool.js +13 -14
  234. package/editor/tools/SelectionTool.d.ts +25 -26
  235. package/editor/tools/SelectionTool.d.ts.map +1 -1
  236. package/editor/tools/SelectionTool.js +46 -13
  237. package/editor/tools/TransformToolV2.d.ts +76 -0
  238. package/editor/tools/TransformToolV2.d.ts.map +1 -0
  239. package/editor/tools/TransformToolV2.js +396 -0
  240. package/editor/tools/engine/Tool.d.ts +87 -63
  241. package/editor/tools/engine/Tool.d.ts.map +1 -1
  242. package/editor/tools/engine/Tool.js +72 -28
  243. package/editor/tools/engine/ToolEngine.d.ts +21 -22
  244. package/editor/tools/engine/ToolEngine.d.ts.map +1 -1
  245. package/editor/tools/engine/ToolEngine.js +52 -54
  246. package/editor/tools/engine/ToolState.d.ts +6 -6
  247. package/editor/tools/paint/TerrainHeightPaintTool.d.ts +17 -17
  248. package/editor/tools/paint/TerrainHeightPaintTool.d.ts.map +1 -1
  249. package/editor/tools/paint/TerrainHeightPaintTool.js +12 -7
  250. package/editor/tools/paint/TerrainPaintTool.d.ts +81 -30
  251. package/editor/tools/paint/TerrainPaintTool.d.ts.map +1 -1
  252. package/editor/tools/paint/TerrainPaintTool.js +58 -21
  253. package/editor/tools/paint/TerrainTexturePaintTool.d.ts +18 -17
  254. package/editor/tools/paint/TerrainTexturePaintTool.d.ts.map +1 -1
  255. package/editor/tools/paint/TerrainTexturePaintTool.js +75 -12
  256. package/editor/tools/v2/BlenderCameraOrientationGizmo.js +24 -26
  257. package/editor/tools/v2/GizmoNode.d.ts.map +1 -1
  258. package/editor/tools/v2/GizmoNode.js +14 -13
  259. package/editor/tools/v2/TransformControls.d.ts.map +1 -1
  260. package/editor/tools/v2/TransformControls.js +18 -45
  261. package/editor/tools/v2/TransformControlsGizmo.d.ts.map +1 -1
  262. package/editor/tools/v2/TransformControlsGizmo.js +3 -6
  263. package/editor/tools/v2/TransformControlsPlane.d.ts.map +1 -1
  264. package/editor/tools/v2/TransformControlsPlane.js +3 -5
  265. package/editor/tools/v2/TransformMode.d.ts +6 -6
  266. package/editor/view/ecs/ComponentControlView.d.ts +23 -23
  267. package/editor/view/ecs/ComponentControlView.d.ts.map +1 -1
  268. package/editor/view/ecs/ComponentControlView.js +4 -4
  269. package/editor/view/ecs/EntityEditor.d.ts +24 -29
  270. package/editor/view/ecs/EntityEditor.d.ts.map +1 -1
  271. package/editor/view/ecs/EntityEditor.js +34 -10
  272. package/editor/view/ecs/EntityList.js +2 -3
  273. package/editor/view/ecs/HierarchicalEntityListView.d.ts +24 -7
  274. package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +1 -1
  275. package/editor/view/ecs/HierarchicalEntityListView.js +339 -191
  276. package/editor/view/ecs/components/DatGuiController.js +2 -216
  277. package/editor/view/ecs/components/color/GaugeView.d.ts +12 -12
  278. package/editor/view/ecs/components/common/AutoCanvasView.d.ts +29 -19
  279. package/editor/view/ecs/components/common/AutoCanvasView.d.ts.map +1 -1
  280. package/editor/view/ecs/components/common/LineView.d.ts +11 -11
  281. package/editor/view/ecs/components/common/LineView.d.ts.map +1 -1
  282. package/editor/view/ecs/components/common/LineView.js +2 -1
  283. package/editor/view/ecs/components/common/NumberController.d.ts +17 -17
  284. package/editor/view/ecs/components/common/TextController.d.ts +21 -0
  285. package/editor/view/ecs/components/common/TextController.d.ts.map +1 -0
  286. package/editor/view/library/MeshLibraryView.d.ts +17 -0
  287. package/editor/view/library/MeshLibraryView.d.ts.map +1 -0
  288. package/editor/view/library/MeshLibraryView.js +35 -20
  289. package/editor/view/node-graph/NodeGraphCamera.d.ts +48 -0
  290. package/editor/view/node-graph/NodeGraphCamera.d.ts.map +1 -0
  291. package/editor/view/node-graph/NodeGraphCamera.js +88 -90
  292. package/editor/view/node-graph/NodeGraphEditorView.d.ts +25 -2
  293. package/editor/view/node-graph/NodeGraphEditorView.d.ts.map +1 -1
  294. package/editor/view/node-graph/NodeGraphSelection.d.ts +56 -0
  295. package/editor/view/node-graph/NodeGraphSelection.d.ts.map +1 -0
  296. package/editor/view/node-graph/NodeGraphView.d.ts +35 -18
  297. package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
  298. package/editor/view/node-graph/NodeGraphView.js +666 -669
  299. package/editor/view/node-graph/NodeView.d.ts +3 -2
  300. package/editor/view/node-graph/NodeView.d.ts.map +1 -1
  301. package/editor/view/node-graph/PortView.d.ts +2 -2
  302. package/editor/view/node-graph/PortView.d.ts.map +1 -1
  303. package/editor/view/node-graph/PortView.js +2 -2
  304. package/editor/view/node-graph/actions/ConnectionCreateAction.d.ts +34 -0
  305. package/editor/view/node-graph/actions/ConnectionCreateAction.d.ts.map +1 -0
  306. package/editor/view/node-graph/actions/ConnectionCreateAction.js +53 -53
  307. package/editor/view/node-graph/actions/ConnectionDeleteAction.d.ts +26 -0
  308. package/editor/view/node-graph/actions/ConnectionDeleteAction.d.ts.map +1 -0
  309. package/editor/view/node-graph/actions/NodeDeleteAction.d.ts +47 -0
  310. package/editor/view/node-graph/actions/NodeDeleteAction.d.ts.map +1 -0
  311. package/editor/view/node-graph/actions/NodeDeleteAction.js +88 -88
  312. package/editor/view/node-graph/actions/NodeParameterSetAction.d.ts +34 -0
  313. package/editor/view/node-graph/actions/NodeParameterSetAction.d.ts.map +1 -0
  314. package/editor/view/node-graph/actions/NodeParameterSetAction.js +52 -52
  315. package/editor/view/node-graph/actions/NodesMoveAction.d.ts +38 -0
  316. package/editor/view/node-graph/actions/NodesMoveAction.d.ts.map +1 -0
  317. package/editor/view/node-graph/actions/SelectionSetAction.d.ts +38 -0
  318. package/editor/view/node-graph/actions/SelectionSetAction.d.ts.map +1 -0
  319. package/editor/view/node-graph/actions/SelectionSetAction.js +60 -60
  320. package/editor/view/node-graph/connection_wire_geometry.d.ts +46 -0
  321. package/editor/view/node-graph/connection_wire_geometry.d.ts.map +1 -0
  322. package/editor/view/particles/ColorLutGradientView.d.ts +19 -0
  323. package/editor/view/particles/ColorLutGradientView.d.ts.map +1 -0
  324. package/editor/view/particles/ColorLutGradientView.js +291 -0
  325. package/editor/view/particles/ScalarLutCurveView.d.ts +19 -0
  326. package/editor/view/particles/ScalarLutCurveView.d.ts.map +1 -0
  327. package/editor/view/particles/ScalarLutCurveView.js +279 -0
  328. package/editor/view/prepareMeshLibrary.d.ts +7 -0
  329. package/editor/view/prepareMeshLibrary.d.ts.map +1 -0
  330. package/editor/view/prepareMeshLibrary.js +34 -14
  331. package/editor/view/shell/EditorShellView.d.ts +18 -0
  332. package/editor/view/shell/EditorShellView.d.ts.map +1 -0
  333. package/editor/view/shell/EditorShellView.js +442 -0
  334. package/editor/view/shell/SceneTreePanelView.d.ts +17 -0
  335. package/editor/view/shell/SceneTreePanelView.d.ts.map +1 -0
  336. package/editor/view/shell/SceneTreePanelView.js +119 -0
  337. package/editor/view/shell/ViewportPanelView.d.ts +18 -0
  338. package/editor/view/shell/ViewportPanelView.d.ts.map +1 -0
  339. package/editor/view/shell/ViewportPanelView.js +64 -0
  340. package/editor/view/tools/ToolSettingsView.d.ts +21 -10
  341. package/editor/view/tools/ToolSettingsView.d.ts.map +1 -1
  342. package/editor/view/tools/ToolSettingsView.js +114 -100
  343. package/editor/view/tools/ToolView.d.ts +12 -12
  344. package/editor/view/v2/SplitView.js +2 -104
  345. package/package.json +7 -1
  346. package/samples/terrain/editor.js +9 -13
  347. package/src/core/binary/BitSet.d.ts.map +1 -1
  348. package/src/core/binary/BitSet.js +7 -7
  349. package/src/core/binary/type/Field.d.ts +2 -2
  350. package/src/core/binary/type/Field.d.ts.map +1 -1
  351. package/src/core/binary/type/Field.js +3 -2
  352. package/src/core/binary/type/Type.d.ts +5 -5
  353. package/src/core/binary/type/Type.d.ts.map +1 -1
  354. package/src/core/binary/type/Type.js +18 -15
  355. package/src/core/binary/type/TypeBuilder.d.ts +1 -1
  356. package/src/core/binary/type/TypeBuilder.d.ts.map +1 -1
  357. package/src/core/binary/type/TypeBuilder.js +2 -1
  358. package/src/core/binary/type/TypeRegistry.d.ts.map +1 -1
  359. package/src/core/binary/type/TypeRegistry.js +1 -3
  360. package/src/core/cache/Cache.d.ts +8 -8
  361. package/src/core/cache/Cache.d.ts.map +1 -1
  362. package/src/core/cache/Cache.js +14 -15
  363. package/src/core/cache/CacheV2.d.ts.map +1 -1
  364. package/src/core/cache/CacheV2.js +15 -20
  365. package/src/core/cache/LoadingCache.d.ts.map +1 -1
  366. package/src/core/cache/LoadingCache.js +3 -2
  367. package/src/core/collection/CuckooFilter.d.ts +23 -23
  368. package/src/core/collection/CuckooFilter.d.ts.map +1 -1
  369. package/src/core/collection/CuckooFilter.js +27 -26
  370. package/src/core/collection/PairUint32Map.d.ts +1 -1
  371. package/src/core/collection/PairUint32Map.d.ts.map +1 -1
  372. package/src/core/collection/PairUint32Map.js +322 -321
  373. package/src/core/collection/RingBuffer.d.ts +5 -5
  374. package/src/core/collection/RingBuffer.d.ts.map +1 -1
  375. package/src/core/collection/RingBuffer.js +18 -18
  376. package/src/core/collection/Uint32Map.d.ts +5 -5
  377. package/src/core/collection/Uint32Map.d.ts.map +1 -1
  378. package/src/core/collection/Uint32Map.js +346 -345
  379. package/src/core/collection/Uint32MinHeap.d.ts +4 -4
  380. package/src/core/collection/Uint32MinHeap.d.ts.map +1 -1
  381. package/src/core/collection/Uint32MinHeap.js +109 -109
  382. package/src/core/collection/array/iterator/ArrayIteratorRandom.d.ts.map +1 -1
  383. package/src/core/collection/array/iterator/ArrayIteratorRandom.js +3 -8
  384. package/src/core/collection/heap/FibonacciHeap.d.ts +6 -6
  385. package/src/core/collection/heap/FibonacciHeap.d.ts.map +1 -1
  386. package/src/core/collection/heap/FibonacciHeap.js +586 -586
  387. package/src/core/collection/heap/IndexedFloatMaxHeap.d.ts +1 -1
  388. package/src/core/collection/heap/IndexedFloatMaxHeap.d.ts.map +1 -1
  389. package/src/core/collection/heap/IndexedFloatMaxHeap.js +261 -261
  390. package/src/core/collection/heap/IndexedFloatMinHeap.d.ts +1 -1
  391. package/src/core/collection/heap/IndexedFloatMinHeap.d.ts.map +1 -1
  392. package/src/core/collection/heap/IndexedFloatMinHeap.js +268 -268
  393. package/src/core/collection/heap/Uint32Heap.d.ts +6 -6
  394. package/src/core/collection/heap/Uint32Heap.d.ts.map +1 -1
  395. package/src/core/collection/heap/Uint32Heap.js +7 -7
  396. package/src/core/collection/heap/Uint32Heap4.d.ts +6 -6
  397. package/src/core/collection/heap/Uint32Heap4.d.ts.map +1 -1
  398. package/src/core/collection/heap/Uint32Heap4.js +490 -490
  399. package/src/core/collection/list/FilteredListProjection.d.ts +7 -7
  400. package/src/core/collection/list/FilteredListProjection.d.ts.map +1 -1
  401. package/src/core/collection/list/FilteredListProjection.js +12 -12
  402. package/src/core/collection/list/SortedListProjection.d.ts +2 -2
  403. package/src/core/collection/list/SortedListProjection.d.ts.map +1 -1
  404. package/src/core/collection/list/SortedListProjection.js +6 -6
  405. package/src/core/collection/table/RowFirstTable.d.ts +5 -5
  406. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  407. package/src/core/collection/table/RowFirstTable.js +6 -7
  408. package/src/core/collection/table/RowFirstTableSpec.d.ts +10 -2
  409. package/src/core/collection/table/RowFirstTableSpec.d.ts.map +1 -1
  410. package/src/core/collection/table/RowFirstTableSpec.js +10 -1
  411. package/src/core/function/FunctionCompiler.d.ts.map +1 -1
  412. package/src/core/function/FunctionCompiler.js +13 -15
  413. package/src/core/geom/3d/shape/BoxShape3D.d.ts.map +1 -1
  414. package/src/core/geom/3d/shape/BoxShape3D.js +171 -175
  415. package/src/core/geom/3d/shape/CapsuleShape3D.d.ts.map +1 -1
  416. package/src/core/geom/3d/shape/CapsuleShape3D.js +238 -242
  417. package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
  418. package/src/core/geom/3d/shape/ConvexHullShape3D.js +43 -44
  419. package/src/core/geom/3d/shape/CylinderShape3D.d.ts.map +1 -1
  420. package/src/core/geom/3d/shape/CylinderShape3D.js +220 -224
  421. package/src/core/geom/3d/shape/HeightMapShape3D.d.ts.map +1 -1
  422. package/src/core/geom/3d/shape/HeightMapShape3D.js +58 -61
  423. package/src/core/geom/3d/shape/MeshShape3D.d.ts.map +1 -1
  424. package/src/core/geom/3d/shape/MeshShape3D.js +76 -80
  425. package/src/core/geom/3d/shape/PosedShape3D.d.ts.map +1 -1
  426. package/src/core/geom/3d/shape/PosedShape3D.js +160 -159
  427. package/src/core/geom/3d/shape/SphereShape3D.d.ts.map +1 -1
  428. package/src/core/geom/3d/shape/SphereShape3D.js +143 -146
  429. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  430. package/src/core/geom/3d/shape/TransformedShape3D.js +20 -24
  431. package/src/core/geom/3d/shape/Triangle3D.d.ts.map +1 -1
  432. package/src/core/geom/3d/shape/Triangle3D.js +293 -297
  433. package/src/core/geom/3d/shape/UnionShape3D.d.ts.map +1 -1
  434. package/src/core/geom/3d/shape/UnionShape3D.js +15 -19
  435. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts +15 -15
  436. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  437. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +21 -21
  438. package/src/core/geom/3d/topology/simplify/EdgeCollapseCandidate.d.ts.map +1 -1
  439. package/src/core/geom/3d/topology/simplify/EdgeCollapseCandidate.js +36 -36
  440. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts +6 -6
  441. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts.map +1 -1
  442. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.js +8 -8
  443. package/src/core/graph/layout/Connection.d.ts +2 -2
  444. package/src/core/graph/layout/Connection.d.ts.map +1 -1
  445. package/src/core/graph/layout/Connection.js +6 -6
  446. package/src/core/graph/metis/native/MetisGraph.d.ts.map +1 -1
  447. package/src/core/graph/metis/native/MetisGraph.js +232 -231
  448. package/src/core/graph/metis/native/bisection/BisectionScratch.d.ts +3 -3
  449. package/src/core/graph/metis/native/bisection/BisectionScratch.d.ts.map +1 -1
  450. package/src/core/graph/metis/native/bisection/BisectionScratch.js +104 -103
  451. package/src/core/localization/Localization.d.ts.map +1 -1
  452. package/src/core/localization/Localization.js +35 -37
  453. package/src/core/model/BooleanVector3.d.ts +1 -1
  454. package/src/core/model/BooleanVector3.d.ts.map +1 -1
  455. package/src/core/model/BooleanVector3.js +2 -2
  456. package/src/core/model/ObservedValue.d.ts +2 -2
  457. package/src/core/model/ObservedValue.d.ts.map +1 -1
  458. package/src/core/model/ObservedValue.js +8 -6
  459. package/src/core/model/object/ImmutableObjectPool.d.ts +5 -5
  460. package/src/core/model/object/ImmutableObjectPool.d.ts.map +1 -1
  461. package/src/core/model/object/ImmutableObjectPool.js +6 -7
  462. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.d.ts +5 -5
  463. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.d.ts.map +1 -1
  464. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.js +93 -96
  465. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts +4 -4
  466. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts.map +1 -1
  467. package/src/core/model/reactive/model/terminal/ReactiveReference.js +6 -6
  468. package/src/core/model/stat/LinearModifier.d.ts +10 -10
  469. package/src/core/model/stat/LinearModifier.d.ts.map +1 -1
  470. package/src/core/model/stat/LinearModifier.js +12 -12
  471. package/src/core/process/Future.d.ts +1 -1
  472. package/src/core/process/Future.d.ts.map +1 -1
  473. package/src/core/process/Future.js +6 -7
  474. package/src/core/process/action/AsynchronousActionSequence.d.ts +5 -5
  475. package/src/core/process/action/AsynchronousActionSequence.d.ts.map +1 -1
  476. package/src/core/process/action/AsynchronousActionSequence.js +9 -9
  477. package/src/core/process/executor/profile/ConcurrentExecutorProfiler.d.ts.map +1 -1
  478. package/src/core/process/executor/profile/ConcurrentExecutorProfiler.js +19 -20
  479. package/src/core/process/filter/MutableFilter.d.ts.map +1 -1
  480. package/src/core/process/filter/MutableFilter.js +1 -6
  481. package/src/core/process/task/RemainingTimeEstimator.d.ts +1 -1
  482. package/src/core/process/task/RemainingTimeEstimator.d.ts.map +1 -1
  483. package/src/core/process/task/RemainingTimeEstimator.js +2 -1
  484. package/src/core/process/undo/ActionProcessor.d.ts +36 -17
  485. package/src/core/process/undo/ActionProcessor.d.ts.map +1 -1
  486. package/src/core/process/undo/ActionProcessor.js +131 -136
  487. package/src/core/science/units/UnitMatrix.d.ts.map +1 -1
  488. package/src/core/science/units/UnitMatrix.js +249 -251
  489. package/src/engine/EngineHarness.d.ts +5 -5
  490. package/src/engine/EngineHarness.d.ts.map +1 -1
  491. package/src/engine/EngineHarness.js +6 -6
  492. package/src/engine/achievements/Achievement.d.ts.map +1 -1
  493. package/src/engine/achievements/Achievement.js +35 -35
  494. package/src/engine/achievements/AchievementManager.d.ts.map +1 -1
  495. package/src/engine/achievements/AchievementManager.js +33 -35
  496. package/src/engine/achievements/gateway/StorageAchievementGateway.d.ts +1 -1
  497. package/src/engine/achievements/gateway/StorageAchievementGateway.d.ts.map +1 -1
  498. package/src/engine/achievements/gateway/StorageAchievementGateway.js +2 -2
  499. package/src/engine/animation/EntityAnimation.d.ts +5 -5
  500. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  501. package/src/engine/animation/EntityAnimation.js +6 -6
  502. package/src/engine/animation/curve/editor/CurveEditorView.d.ts +2 -2
  503. package/src/engine/animation/curve/editor/CurveEditorView.d.ts.map +1 -1
  504. package/src/engine/animation/curve/editor/CurveEditorView.js +3 -3
  505. package/src/engine/animation/curve/editor/DragHandler.d.ts +1 -1
  506. package/src/engine/animation/curve/editor/DragHandler.d.ts.map +1 -1
  507. package/src/engine/animation/curve/editor/DragHandler.js +2 -2
  508. package/src/engine/animation/curve/editor/OperationRouter.d.ts +1 -1
  509. package/src/engine/animation/curve/editor/OperationRouter.d.ts.map +1 -1
  510. package/src/engine/animation/curve/editor/OperationRouter.js +2 -2
  511. package/src/engine/animation/keyed2/AnimationTrack.d.ts +10 -10
  512. package/src/engine/animation/keyed2/AnimationTrack.d.ts.map +1 -1
  513. package/src/engine/animation/keyed2/AnimationTrack.js +27 -27
  514. package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts +4 -4
  515. package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts.map +1 -1
  516. package/src/engine/animation/keyed2/AnimationTrackPlayback.js +6 -9
  517. package/src/engine/asset/Asset.d.ts +10 -10
  518. package/src/engine/asset/Asset.d.ts.map +1 -1
  519. package/src/engine/asset/Asset.js +13 -14
  520. package/src/engine/asset/AssetRequest.d.ts +14 -14
  521. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  522. package/src/engine/asset/AssetRequest.js +18 -18
  523. package/src/engine/asset/PendingAsset.d.ts +5 -5
  524. package/src/engine/asset/PendingAsset.d.ts.map +1 -1
  525. package/src/engine/asset/PendingAsset.js +108 -108
  526. package/src/engine/asset/loaders/GLTFAssetLoader.d.ts +2 -2
  527. package/src/engine/asset/loaders/GLTFAssetLoader.d.ts.map +1 -1
  528. package/src/engine/asset/loaders/GLTFAssetLoader.js +16 -18
  529. package/src/engine/asset/loaders/JavascriptAssetLoader.d.ts.map +1 -1
  530. package/src/engine/asset/loaders/JavascriptAssetLoader.js +30 -31
  531. package/src/engine/asset/loaders/gltf/extensions/MSFT_texture_dds.d.ts.map +1 -1
  532. package/src/engine/asset/loaders/gltf/extensions/MSFT_texture_dds.js +2 -2
  533. package/src/engine/asset/loaders/material/StaticMaterialCache.d.ts.map +1 -1
  534. package/src/engine/asset/loaders/material/StaticMaterialCache.js +9 -12
  535. package/src/engine/control/StatefulController.d.ts +4 -4
  536. package/src/engine/control/StatefulController.d.ts.map +1 -1
  537. package/src/engine/control/StatefulController.js +6 -6
  538. package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -1
  539. package/src/engine/control/first-person/FirstPersonPlayerController.js +31 -33
  540. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  541. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +2052 -2028
  542. package/src/engine/control/first-person/abilities/Ability.d.ts.map +1 -1
  543. package/src/engine/control/first-person/abilities/Ability.js +117 -119
  544. package/src/engine/control/first-person/abilities/AbilitySet.d.ts.map +1 -1
  545. package/src/engine/control/first-person/abilities/AbilitySet.js +183 -185
  546. package/src/engine/control/first-person/abilities/LedgeGrab.d.ts.map +1 -1
  547. package/src/engine/control/first-person/abilities/LedgeGrab.js +404 -405
  548. package/src/engine/control/first-person/abilities/Mantle.d.ts.map +1 -1
  549. package/src/engine/control/first-person/abilities/Mantle.js +24 -23
  550. package/src/engine/control/first-person/abilities/ScrambleUp.d.ts.map +1 -1
  551. package/src/engine/control/first-person/abilities/ScrambleUp.js +181 -182
  552. package/src/engine/control/first-person/abilities/Slide.d.ts.map +1 -1
  553. package/src/engine/control/first-person/abilities/Slide.js +164 -166
  554. package/src/engine/control/first-person/abilities/WallJump.d.ts.map +1 -1
  555. package/src/engine/control/first-person/abilities/WallJump.js +136 -139
  556. package/src/engine/control/first-person/abilities/WallRun.d.ts.map +1 -1
  557. package/src/engine/control/first-person/abilities/WallRun.js +7 -9
  558. package/src/engine/control/first-person/collision/KinematicMover.d.ts +7 -13
  559. package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
  560. package/src/engine/control/first-person/collision/KinematicMover.js +11 -10
  561. package/src/engine/control/first-person/composer/EyeOffsetStack.d.ts.map +1 -1
  562. package/src/engine/control/first-person/composer/EyeOffsetStack.js +58 -60
  563. package/src/engine/control/first-person/mastery/BreathRhythmEvaluator.d.ts +2 -2
  564. package/src/engine/control/first-person/mastery/BreathRhythmEvaluator.d.ts.map +1 -1
  565. package/src/engine/control/first-person/mastery/BreathRhythmEvaluator.js +133 -133
  566. package/src/engine/control/first-person/mastery/FootAsymmetryTurnEvaluator.d.ts.map +1 -1
  567. package/src/engine/control/first-person/mastery/FootAsymmetryTurnEvaluator.js +106 -109
  568. package/src/engine/control/first-person/mastery/MasteryEvaluator.d.ts.map +1 -1
  569. package/src/engine/control/first-person/mastery/MasteryEvaluator.js +43 -45
  570. package/src/engine/control/first-person/mastery/MasteryScore.d.ts +6 -6
  571. package/src/engine/control/first-person/mastery/MasteryScore.d.ts.map +1 -1
  572. package/src/engine/control/first-person/mastery/MasteryScore.js +100 -100
  573. package/src/engine/control/first-person/mastery/MasterySet.d.ts.map +1 -1
  574. package/src/engine/control/first-person/mastery/MasterySet.js +84 -86
  575. package/src/engine/control/first-person/mastery/SlideInitiationTimingEvaluator.d.ts.map +1 -1
  576. package/src/engine/control/first-person/mastery/SlideInitiationTimingEvaluator.js +80 -83
  577. package/src/engine/control/first-person/mastery/StrideTimingJumpEvaluator.d.ts.map +1 -1
  578. package/src/engine/control/first-person/mastery/StrideTimingJumpEvaluator.js +106 -109
  579. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
  580. package/src/engine/control/first-person/sensors/FirstPersonSensors.js +45 -40
  581. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
  582. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +35 -39
  583. package/src/engine/development/performance/monitor/PeriodicConsolePrinter.d.ts +1 -1
  584. package/src/engine/development/performance/monitor/PeriodicConsolePrinter.d.ts.map +1 -1
  585. package/src/engine/development/performance/monitor/PeriodicConsolePrinter.js +2 -2
  586. package/src/engine/ecs/ASYNC_SYSTEMS_PROPOSAL.md +531 -0
  587. package/src/engine/ecs/EntityManager.d.ts +16 -0
  588. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  589. package/src/engine/ecs/EntityManager.js +81 -0
  590. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  591. package/src/engine/ecs/animation/Animation.js +8 -8
  592. package/src/engine/ecs/async/SystemWorkerHost.d.ts +98 -0
  593. package/src/engine/ecs/async/SystemWorkerHost.d.ts.map +1 -0
  594. package/src/engine/ecs/async/SystemWorkerHost.js +329 -0
  595. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts +80 -0
  596. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts.map +1 -0
  597. package/src/engine/ecs/async/SystemWorkerLoopback.js +143 -0
  598. package/src/engine/ecs/async/WORKER_SYSTEM_PLAN.md +246 -0
  599. package/src/engine/ecs/async/WorkerSystem.d.ts +173 -0
  600. package/src/engine/ecs/async/WorkerSystem.d.ts.map +1 -0
  601. package/src/engine/ecs/async/WorkerSystem.js +702 -0
  602. package/src/engine/ecs/async/WorkerSystemProtocol.d.ts +62 -0
  603. package/src/engine/ecs/async/WorkerSystemProtocol.d.ts.map +1 -0
  604. package/src/engine/ecs/async/WorkerSystemProtocol.js +150 -0
  605. package/src/engine/ecs/binding/EntityProxyScope.d.ts.map +1 -1
  606. package/src/engine/ecs/binding/EntityProxyScope.js +11 -12
  607. package/src/engine/ecs/components/PropertySet.d.ts.map +1 -1
  608. package/src/engine/ecs/components/PropertySet.js +2 -2
  609. package/src/engine/ecs/components/TagSerializationUpgrader_0_1.d.ts.map +1 -1
  610. package/src/engine/ecs/components/TagSerializationUpgrader_0_1.js +2 -6
  611. package/src/engine/ecs/components/Timer.d.ts +7 -7
  612. package/src/engine/ecs/components/Timer.d.ts.map +1 -1
  613. package/src/engine/ecs/components/Timer.js +18 -18
  614. package/src/engine/ecs/dynamic_actions/DataScope.d.ts.map +1 -1
  615. package/src/engine/ecs/dynamic_actions/DataScope.js +6 -8
  616. package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts.map +1 -1
  617. package/src/engine/ecs/evaluation/PointFitnessBinary.js +10 -13
  618. package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts.map +1 -1
  619. package/src/engine/ecs/evaluation/PointFitnessConstant.js +5 -9
  620. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts.map +1 -1
  621. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.js +5 -9
  622. package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts.map +1 -1
  623. package/src/engine/ecs/fow/FogOfWarRevealerSystem.js +6 -8
  624. package/src/engine/ecs/fow/FogOfWarSystem.d.ts +2 -2
  625. package/src/engine/ecs/fow/FogOfWarSystem.d.ts.map +1 -1
  626. package/src/engine/ecs/fow/FogOfWarSystem.js +5 -6
  627. package/src/engine/ecs/fow/FogOfWarVisibilityPredicate.d.ts.map +1 -1
  628. package/src/engine/ecs/fow/FogOfWarVisibilityPredicate.js +11 -14
  629. package/src/engine/ecs/fow/serialization/FogOfWarSerializationUpdater_0_1.d.ts.map +1 -1
  630. package/src/engine/ecs/fow/serialization/FogOfWarSerializationUpdater_0_1.js +2 -6
  631. package/src/engine/ecs/gui/position/ViewportPositionSystem.d.ts.map +1 -1
  632. package/src/engine/ecs/gui/position/ViewportPositionSystem.js +5 -6
  633. package/src/engine/ecs/gui/view/LocalizedLabelViewEntity.d.ts.map +1 -1
  634. package/src/engine/ecs/gui/view/LocalizedLabelViewEntity.js +2 -2
  635. package/src/engine/ecs/parent/ChildEntities.d.ts.map +1 -1
  636. package/src/engine/ecs/parent/ChildEntities.js +6 -8
  637. package/src/engine/ecs/parent/FaceEditor.d.ts.map +1 -1
  638. package/src/engine/ecs/parent/FaceEditor.js +42 -41
  639. package/src/engine/ecs/parent/ParentEntity.d.ts.map +1 -1
  640. package/src/engine/ecs/parent/ParentEntity.js +4 -9
  641. package/src/engine/ecs/parent/ParentEntitySystem.d.ts.map +1 -1
  642. package/src/engine/ecs/parent/ParentEntitySystem.js +2 -2
  643. package/src/engine/ecs/sockets/AttachmentSocket.d.ts.map +1 -1
  644. package/src/engine/ecs/sockets/AttachmentSocket.js +12 -14
  645. package/src/engine/ecs/sockets/AttachmentSockets.d.ts.map +1 -1
  646. package/src/engine/ecs/sockets/AttachmentSockets.js +5 -7
  647. package/src/engine/ecs/sockets/BoneAttachmentSocket.d.ts.map +1 -1
  648. package/src/engine/ecs/sockets/BoneAttachmentSocket.js +1 -5
  649. package/src/engine/ecs/speaker/VoiceSystem.d.ts +5 -5
  650. package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
  651. package/src/engine/ecs/speaker/VoiceSystem.js +42 -45
  652. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.d.ts.map +1 -1
  653. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.js +17 -19
  654. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts +11 -0
  655. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -0
  656. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +260 -0
  657. package/src/engine/ecs/system/AbstractContextSystem.d.ts +8 -8
  658. package/src/engine/ecs/system/AbstractContextSystem.d.ts.map +1 -1
  659. package/src/engine/ecs/system/AbstractContextSystem.js +14 -14
  660. package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
  661. package/src/engine/ecs/systems/AnimationSystem.js +2 -2
  662. package/src/engine/ecs/systems/ScriptSystem.d.ts.map +1 -1
  663. package/src/engine/ecs/systems/ScriptSystem.js +3 -6
  664. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +27 -27
  665. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  666. package/src/engine/ecs/terrain/ecs/Terrain.js +35 -38
  667. package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts.map +1 -1
  668. package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.js +68 -31
  669. package/src/engine/ecs/terrain/ecs/makeTerrainWorkerProxy.d.ts.map +1 -1
  670. package/src/engine/ecs/terrain/ecs/makeTerrainWorkerProxy.js +4 -2
  671. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts +5 -5
  672. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
  673. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +6 -7
  674. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts +9 -9
  675. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
  676. package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +13 -12
  677. package/src/engine/ecs/terrain/serialization/TerrainSerializationUpgrader_0_1.d.ts.map +1 -1
  678. package/src/engine/ecs/terrain/serialization/TerrainSerializationUpgrader_0_1.js +2 -6
  679. package/src/engine/ecs/terrain/serialization/TerrainSerializationUpgrader_1_2.d.ts.map +1 -1
  680. package/src/engine/ecs/terrain/serialization/TerrainSerializationUpgrader_1_2.js +2 -6
  681. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +44 -3
  682. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  683. package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +81 -17
  684. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
  685. package/src/engine/ecs/terrain/util/obtainTerrain.js +2 -0
  686. package/src/engine/ecs/tooltip/TooltipComponentSystem.d.ts +20 -20
  687. package/src/engine/ecs/tooltip/TooltipComponentSystem.d.ts.map +1 -1
  688. package/src/engine/ecs/tooltip/TooltipComponentSystem.js +36 -38
  689. package/src/engine/ecs/transform/TransformSerializationUpgrader_0_1.d.ts.map +1 -1
  690. package/src/engine/ecs/transform/TransformSerializationUpgrader_0_1.js +2 -6
  691. package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.d.ts.map +1 -1
  692. package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.js +34 -41
  693. package/src/engine/graphics/camera/CameraShake.d.ts.map +1 -1
  694. package/src/engine/graphics/camera/CameraShake.js +12 -16
  695. package/src/engine/graphics/camera/CameraShakeBehavior.d.ts +2 -2
  696. package/src/engine/graphics/camera/CameraShakeBehavior.d.ts.map +1 -1
  697. package/src/engine/graphics/camera/CameraShakeBehavior.js +3 -4
  698. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts +2 -2
  699. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts.map +1 -1
  700. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.js +3 -5
  701. package/src/engine/graphics/composit/CompositLayer.d.ts.map +1 -1
  702. package/src/engine/graphics/composit/CompositLayer.js +6 -6
  703. package/src/engine/graphics/composit/LayerCompositer.d.ts.map +1 -1
  704. package/src/engine/graphics/composit/LayerCompositer.js +17 -19
  705. package/src/engine/graphics/debug/VisualSymbolLine.d.ts.map +1 -1
  706. package/src/engine/graphics/debug/VisualSymbolLine.js +11 -13
  707. package/src/engine/graphics/ecs/animation/AnimationControllerSystem.d.ts.map +1 -1
  708. package/src/engine/graphics/ecs/animation/AnimationControllerSystem.js +2 -5
  709. package/src/engine/graphics/ecs/animation/AnimationRule.d.ts +2 -2
  710. package/src/engine/graphics/ecs/animation/AnimationRule.d.ts.map +1 -1
  711. package/src/engine/graphics/ecs/animation/AnimationRule.js +3 -2
  712. package/src/engine/graphics/ecs/animation/animator/AnimationClip.d.ts.map +1 -1
  713. package/src/engine/graphics/ecs/animation/animator/AnimationClip.js +20 -22
  714. package/src/engine/graphics/ecs/animation/animator/AnimationClipDefinition.d.ts.map +1 -1
  715. package/src/engine/graphics/ecs/animation/animator/AnimationClipDefinition.js +23 -25
  716. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.d.ts +4 -4
  717. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.d.ts.map +1 -1
  718. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js +32 -33
  719. package/src/engine/graphics/ecs/animation/animator/AnimationNotification.d.ts.map +1 -1
  720. package/src/engine/graphics/ecs/animation/animator/AnimationNotification.js +10 -12
  721. package/src/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.d.ts.map +1 -1
  722. package/src/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.js +10 -12
  723. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpace.d.ts +1 -1
  724. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpace.d.ts.map +1 -1
  725. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpace.js +10 -12
  726. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpaceDefinition.d.ts.map +1 -1
  727. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpaceDefinition.js +5 -7
  728. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpacePoint.d.ts.map +1 -1
  729. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpacePoint.js +10 -12
  730. package/src/engine/graphics/ecs/animation/animator/blending/BlendState.d.ts.map +1 -1
  731. package/src/engine/graphics/ecs/animation/animator/blending/BlendState.js +5 -7
  732. package/src/engine/graphics/ecs/animation/animator/blending/BlendStateDatabase.d.ts.map +1 -1
  733. package/src/engine/graphics/ecs/animation/animator/blending/BlendStateDatabase.js +18 -21
  734. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraph.d.ts.map +1 -1
  735. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraph.js +75 -77
  736. package/src/engine/graphics/ecs/animation/animator/graph/AnimationState.d.ts.map +1 -1
  737. package/src/engine/graphics/ecs/animation/animator/graph/AnimationState.js +35 -38
  738. package/src/engine/graphics/ecs/animation/animator/graph/AnimationTransition.d.ts.map +1 -1
  739. package/src/engine/graphics/ecs/animation/animator/graph/AnimationTransition.js +30 -32
  740. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.d.ts.map +1 -1
  741. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.js +31 -33
  742. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.d.ts.map +1 -1
  743. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js +20 -23
  744. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  745. package/src/engine/graphics/ecs/camera/Camera.js +45 -47
  746. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +1 -1
  747. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +1 -1
  748. package/src/engine/graphics/ecs/camera/CameraSystem.js +8 -9
  749. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.d.ts.map +1 -1
  750. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.js +37 -41
  751. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
  752. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +8 -10
  753. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationUpgrader_0_1.d.ts.map +1 -1
  754. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationUpgrader_0_1.js +2 -6
  755. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts.map +1 -1
  756. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.js +5 -10
  757. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLanderSystem.d.ts.map +1 -1
  758. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLanderSystem.js +20 -25
  759. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.d.ts.map +1 -1
  760. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.js +2 -2
  761. package/src/engine/graphics/ecs/highlight/HighlightSerializationUpgrader_0_1.d.ts.map +1 -1
  762. package/src/engine/graphics/ecs/highlight/HighlightSerializationUpgrader_0_1.js +2 -6
  763. package/src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.d.ts.map +1 -1
  764. package/src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.js +23 -25
  765. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderElement.d.ts.map +1 -1
  766. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderElement.js +13 -16
  767. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderGroup.d.ts.map +1 -1
  768. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderGroup.js +5 -7
  769. package/src/engine/graphics/ecs/highlight/renderer/OutlineRenderer.d.ts +12 -12
  770. package/src/engine/graphics/ecs/highlight/renderer/OutlineRenderer.d.ts.map +1 -1
  771. package/src/engine/graphics/ecs/highlight/renderer/OutlineRenderer.js +54 -57
  772. package/src/engine/graphics/ecs/highlight/system/HighlightSystemBase.js +205 -205
  773. package/src/engine/graphics/ecs/light/Light.d.ts.map +1 -1
  774. package/src/engine/graphics/ecs/light/Light.js +59 -65
  775. package/src/engine/graphics/ecs/light/LightSystem.d.ts +16 -16
  776. package/src/engine/graphics/ecs/light/LightSystem.d.ts.map +1 -1
  777. package/src/engine/graphics/ecs/light/LightSystem.js +23 -25
  778. package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts.map +1 -1
  779. package/src/engine/graphics/ecs/light/binding/LightBinding.js +13 -14
  780. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts.map +1 -1
  781. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.js +11 -15
  782. package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts.map +1 -1
  783. package/src/engine/graphics/ecs/light/shadow/ShadowMap.js +5 -9
  784. package/src/engine/graphics/ecs/light/three/ThreeLightCache.d.ts.map +1 -1
  785. package/src/engine/graphics/ecs/light/three/ThreeLightCache.js +20 -22
  786. package/src/engine/graphics/ecs/mesh/Mesh.d.ts.map +1 -1
  787. package/src/engine/graphics/ecs/mesh/Mesh.js +35 -37
  788. package/src/engine/graphics/ecs/mesh/MeshSystem.d.ts +15 -15
  789. package/src/engine/graphics/ecs/mesh/MeshSystem.d.ts.map +1 -1
  790. package/src/engine/graphics/ecs/mesh/MeshSystem.js +21 -22
  791. package/src/engine/graphics/ecs/mesh/skeleton/BoneMapping.d.ts.map +1 -1
  792. package/src/engine/graphics/ecs/mesh/skeleton/BoneMapping.js +1 -3
  793. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts.map +1 -1
  794. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +51 -52
  795. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts +6 -6
  796. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts.map +1 -1
  797. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +37 -37
  798. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshAnimationControllerSystem.d.ts +1 -1
  799. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshAnimationControllerSystem.d.ts.map +1 -1
  800. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshAnimationControllerSystem.js +9 -11
  801. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.d.ts.map +1 -1
  802. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js +1 -5
  803. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.d.ts +10 -10
  804. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.d.ts.map +1 -1
  805. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.js +22 -22
  806. package/src/engine/graphics/ecs/mesh-v2/render/SGThreeObjectCache.d.ts.map +1 -1
  807. package/src/engine/graphics/ecs/mesh-v2/render/SGThreeObjectCache.js +6 -8
  808. package/src/engine/graphics/ecs/mesh-v2/render/ShadedGeometryRendererContext.d.ts.map +1 -1
  809. package/src/engine/graphics/ecs/mesh-v2/render/ShadedGeometryRendererContext.js +8 -10
  810. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.d.ts.map +1 -1
  811. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.js +12 -15
  812. package/src/engine/graphics/ecs/mesh-v2/render/adapters/GenericRendererAdapter.d.ts.map +1 -1
  813. package/src/engine/graphics/ecs/mesh-v2/render/adapters/GenericRendererAdapter.js +6 -10
  814. package/src/engine/graphics/ecs/mesh-v2/render/optimization/RuntimeDrawMethodOptimizer.d.ts.map +1 -1
  815. package/src/engine/graphics/ecs/mesh-v2/render/optimization/RuntimeDrawMethodOptimizer.js +12 -15
  816. package/src/engine/graphics/ecs/path/PathDisplay.d.ts.map +1 -1
  817. package/src/engine/graphics/ecs/path/PathDisplay.js +5 -7
  818. package/src/engine/graphics/ecs/path/PathDisplaySpec.d.ts.map +1 -1
  819. package/src/engine/graphics/ecs/path/PathDisplaySpec.js +10 -12
  820. package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts +6 -6
  821. package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts.map +1 -1
  822. package/src/engine/graphics/ecs/path/PathDisplaySystem.js +12 -17
  823. package/src/engine/graphics/ecs/path/entity/EntityPath.d.ts.map +1 -1
  824. package/src/engine/graphics/ecs/path/entity/EntityPath.js +15 -17
  825. package/src/engine/graphics/ecs/path/entity/EntityPathMarker.d.ts.map +1 -1
  826. package/src/engine/graphics/ecs/path/entity/EntityPathMarker.js +15 -17
  827. package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.d.ts.map +1 -1
  828. package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.js +15 -17
  829. package/src/engine/graphics/ecs/path/entity/EntityPathStyle.d.ts.map +1 -1
  830. package/src/engine/graphics/ecs/path/entity/EntityPathStyle.js +20 -23
  831. package/src/engine/graphics/ecs/path/highlight/PathDisplayHighlightSystem.d.ts.map +1 -1
  832. package/src/engine/graphics/ecs/path/highlight/PathDisplayHighlightSystem.js +1 -5
  833. package/src/engine/graphics/ecs/path/ribbon/RibbonPathBuilder.d.ts.map +1 -1
  834. package/src/engine/graphics/ecs/path/ribbon/RibbonPathBuilder.js +15 -17
  835. package/src/engine/graphics/ecs/path/ribbon/RibbonPathStyle.d.ts.map +1 -1
  836. package/src/engine/graphics/ecs/path/ribbon/RibbonPathStyle.js +15 -17
  837. package/src/engine/graphics/ecs/path/tube/MatcapMaterialDefinition.d.ts.map +1 -1
  838. package/src/engine/graphics/ecs/path/tube/MatcapMaterialDefinition.js +5 -7
  839. package/src/engine/graphics/ecs/path/tube/StandardMaterialDefinition.d.ts.map +1 -1
  840. package/src/engine/graphics/ecs/path/tube/StandardMaterialDefinition.js +2 -4
  841. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
  842. package/src/engine/graphics/ecs/path/tube/TubePathStyle.js +84 -86
  843. package/src/engine/graphics/ecs/path/tube/build/StreamGeometryBuilder.d.ts.map +1 -1
  844. package/src/engine/graphics/ecs/path/tube/build/StreamGeometryBuilder.js +37 -36
  845. package/src/engine/graphics/ecs/path/tube/build/TubePathBuilder.d.ts.map +1 -1
  846. package/src/engine/graphics/ecs/path/tube/build/TubePathBuilder.js +23 -25
  847. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
  848. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +2 -3
  849. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts +5 -5
  850. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts.map +1 -1
  851. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.js +6 -9
  852. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts +4 -4
  853. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts.map +1 -1
  854. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.js +5 -5
  855. package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_0_1.d.ts.map +1 -1
  856. package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_0_1.js +2 -6
  857. package/src/engine/graphics/ecs/water/WaterSystem.d.ts +1 -1
  858. package/src/engine/graphics/ecs/water/WaterSystem.d.ts.map +1 -1
  859. package/src/engine/graphics/ecs/water/WaterSystem.js +13 -15
  860. package/src/engine/graphics/geometry/MikkT/MikkTSpace.d.ts.map +1 -1
  861. package/src/engine/graphics/geometry/MikkT/MikkTSpace.js +97 -95
  862. package/src/engine/graphics/geometry/MikkT/SSubGroup.d.ts.map +1 -1
  863. package/src/engine/graphics/geometry/MikkT/SSubGroup.js +10 -12
  864. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.d.ts.map +1 -1
  865. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.js +103 -110
  866. package/src/engine/graphics/geometry/optimization/geometry_optimize_uv_tension.d.ts +18 -3
  867. package/src/engine/graphics/geometry/optimization/geometry_optimize_uv_tension.d.ts.map +1 -1
  868. package/src/engine/graphics/geometry/optimization/geometry_optimize_uv_tension.js +135 -85
  869. package/src/engine/graphics/geometry/optimization/merge/merge_geometry_hierarchy.d.ts.map +1 -1
  870. package/src/engine/graphics/geometry/optimization/merge/merge_geometry_hierarchy.js +3 -5
  871. package/src/engine/graphics/geometry/ribbon/Quad.d.ts +2 -2
  872. package/src/engine/graphics/geometry/ribbon/Quad.d.ts.map +1 -1
  873. package/src/engine/graphics/geometry/ribbon/Quad.js +17 -17
  874. package/src/engine/graphics/material/manager/ManagedMaterial.d.ts +6 -6
  875. package/src/engine/graphics/material/manager/ManagedMaterial.d.ts.map +1 -1
  876. package/src/engine/graphics/material/manager/ManagedMaterial.js +20 -20
  877. package/src/engine/graphics/material/optimization/MaterialDescriptor.d.ts.map +1 -1
  878. package/src/engine/graphics/material/optimization/MaterialDescriptor.js +11 -14
  879. package/src/engine/graphics/material/optimization/MaterialOptimizationContext.d.ts.map +1 -1
  880. package/src/engine/graphics/material/optimization/MaterialOptimizationContext.js +20 -23
  881. package/src/engine/graphics/material/optimization/UvContext.d.ts.map +1 -1
  882. package/src/engine/graphics/material/optimization/UvContext.js +10 -12
  883. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts.map +1 -1
  884. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.js +23 -23
  885. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts.map +1 -1
  886. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.js +5 -7
  887. package/src/engine/graphics/particles/node-based/rendering/billboard/BillboardParticleRenderer.d.ts +11 -11
  888. package/src/engine/graphics/particles/node-based/rendering/billboard/BillboardParticleRenderer.d.ts.map +1 -1
  889. package/src/engine/graphics/particles/node-based/rendering/billboard/BillboardParticleRenderer.js +21 -23
  890. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts.map +1 -1
  891. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.js +17 -19
  892. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts.map +1 -1
  893. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.js +25 -27
  894. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts.map +1 -1
  895. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.js +12 -16
  896. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts.map +1 -1
  897. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.js +64 -67
  898. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts +3 -0
  899. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts.map +1 -1
  900. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.js +36 -39
  901. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts.map +1 -1
  902. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js +2 -6
  903. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts.map +1 -1
  904. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +5 -7
  905. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +10 -10
  906. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +1 -1
  907. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +12 -12
  908. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts.map +1 -1
  909. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.js +35 -37
  910. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts.map +1 -1
  911. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +1 -5
  912. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts.map +1 -1
  913. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.js +11 -12
  914. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
  915. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +199 -201
  916. package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.d.ts +11 -11
  917. package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.d.ts.map +1 -1
  918. package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.js +13 -13
  919. package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts +6 -6
  920. package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts.map +1 -1
  921. package/src/engine/graphics/particles/particular/group/ParticleGroup.js +33 -34
  922. package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts.map +1 -1
  923. package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +2 -8
  924. package/src/engine/graphics/render/Lines.d.ts.map +1 -1
  925. package/src/engine/graphics/render/Lines.js +2 -2
  926. package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts.map +1 -1
  927. package/src/engine/graphics/render/buffer/FrameBufferManager.js +20 -22
  928. package/src/engine/graphics/render/buffer/simple-fx/DepthLimitedBlur.d.ts +2 -2
  929. package/src/engine/graphics/render/buffer/simple-fx/DepthLimitedBlur.d.ts.map +1 -1
  930. package/src/engine/graphics/render/buffer/simple-fx/DepthLimitedBlur.js +16 -19
  931. package/src/engine/graphics/render/buffer/simple-fx/SimplePostProcessEffect.d.ts.map +1 -1
  932. package/src/engine/graphics/render/buffer/simple-fx/SimplePostProcessEffect.js +5 -8
  933. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.d.ts +2 -2
  934. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.d.ts.map +1 -1
  935. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.js +37 -38
  936. package/src/engine/graphics/render/buffer/slot/ProgramSlotValue.d.ts +5 -5
  937. package/src/engine/graphics/render/buffer/slot/ProgramSlotValue.d.ts.map +1 -1
  938. package/src/engine/graphics/render/buffer/slot/ProgramSlotValue.js +8 -6
  939. package/src/engine/graphics/render/buffer/slot/ProgramValueSlotDefinition.d.ts +5 -5
  940. package/src/engine/graphics/render/buffer/slot/ProgramValueSlotDefinition.d.ts.map +1 -1
  941. package/src/engine/graphics/render/buffer/slot/ProgramValueSlotDefinition.js +6 -6
  942. package/src/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameterSet.d.ts.map +1 -1
  943. package/src/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameterSet.js +11 -13
  944. package/src/engine/graphics/render/forward_plus/LightManager.d.ts +6 -6
  945. package/src/engine/graphics/render/forward_plus/LightManager.d.ts.map +1 -1
  946. package/src/engine/graphics/render/forward_plus/LightManager.js +15 -18
  947. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts +5 -5
  948. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts.map +1 -1
  949. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.js +7 -8
  950. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts +1 -1
  951. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +1 -1
  952. package/src/engine/graphics/render/forward_plus/model/Decal.js +22 -22
  953. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts.map +1 -1
  954. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +8 -8
  955. package/src/engine/graphics/render/layers/RenderLayerManager.d.ts.map +1 -1
  956. package/src/engine/graphics/render/layers/RenderLayerManager.js +10 -12
  957. package/src/engine/graphics/render/layers/RenderLayerManagerState.d.ts.map +1 -1
  958. package/src/engine/graphics/render/layers/RenderLayerManagerState.js +5 -9
  959. package/src/engine/graphics/render/layers/RenderLayerState.d.ts.map +1 -1
  960. package/src/engine/graphics/render/layers/RenderLayerState.js +5 -7
  961. package/src/engine/graphics/render/utils/ThreeBypassRenderer.d.ts.map +1 -1
  962. package/src/engine/graphics/render/utils/ThreeBypassRenderer.js +6 -9
  963. package/src/engine/graphics/render/view/CameraView.d.ts.map +1 -1
  964. package/src/engine/graphics/render/view/CameraView.js +56 -59
  965. package/src/engine/graphics/render/view/CameraViewManager.d.ts.map +1 -1
  966. package/src/engine/graphics/render/view/CameraViewManager.js +18 -20
  967. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +6 -6
  968. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +1 -1
  969. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.js +40 -39
  970. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +1 -1
  971. package/src/engine/graphics/render/visibility/VisibilityComputer.js +19 -22
  972. package/src/engine/graphics/render/visibility/VisibilityFilter.d.ts +5 -5
  973. package/src/engine/graphics/render/visibility/VisibilityFilter.d.ts.map +1 -1
  974. package/src/engine/graphics/render/visibility/VisibilityFilter.js +6 -6
  975. package/src/engine/graphics/render/visibility/hiz/buffer/HierarchicalZBuffer.d.ts.map +1 -1
  976. package/src/engine/graphics/render/visibility/hiz/buffer/HierarchicalZBuffer.js +40 -43
  977. package/src/engine/graphics/render/visibility/hiz/query/BatchOcclusionQuery.d.ts +1 -1
  978. package/src/engine/graphics/render/visibility/hiz/query/BatchOcclusionQuery.d.ts.map +1 -1
  979. package/src/engine/graphics/render/visibility/hiz/query/BatchOcclusionQuery.js +2 -2
  980. package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.d.ts.map +1 -1
  981. package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.js +7 -9
  982. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.d.ts.map +1 -1
  983. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.js +24 -28
  984. package/src/engine/graphics/shaders/TerrainShader.js +5 -18
  985. package/src/engine/graphics/shadows/ShadowMapRenderer.d.ts.map +1 -1
  986. package/src/engine/graphics/shadows/ShadowMapRenderer.js +11 -15
  987. package/src/engine/graphics/texture/AttributeDataTexture.d.ts +11 -11
  988. package/src/engine/graphics/texture/AttributeDataTexture.d.ts.map +1 -1
  989. package/src/engine/graphics/texture/AttributeDataTexture.js +14 -14
  990. package/src/engine/graphics/texture/TextureBackedMemoryRegion.d.ts +6 -6
  991. package/src/engine/graphics/texture/TextureBackedMemoryRegion.d.ts.map +1 -1
  992. package/src/engine/graphics/texture/TextureBackedMemoryRegion.js +33 -32
  993. package/src/engine/graphics/texture/atlas/AtlasLookupTexture.d.ts.map +1 -1
  994. package/src/engine/graphics/texture/atlas/AtlasLookupTexture.js +12 -12
  995. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.d.ts.map +1 -1
  996. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.js +17 -20
  997. package/src/engine/graphics/texture/atlas/ReferencedTextureAtlas.d.ts +1 -1
  998. package/src/engine/graphics/texture/atlas/ReferencedTextureAtlas.d.ts.map +1 -1
  999. package/src/engine/graphics/texture/atlas/ReferencedTextureAtlas.js +14 -14
  1000. package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts +10 -10
  1001. package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts.map +1 -1
  1002. package/src/engine/graphics/texture/atlas/TextureAtlas.js +13 -14
  1003. package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.d.ts.map +1 -1
  1004. package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.js +49 -49
  1005. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +5 -5
  1006. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  1007. package/src/engine/graphics/texture/sampler/Sampler2D.js +6 -6
  1008. package/src/engine/graphics/texture/sampler/sampler2d_linear_f16_to_srgb_u8.d.ts +16 -0
  1009. package/src/engine/graphics/texture/sampler/sampler2d_linear_f16_to_srgb_u8.d.ts.map +1 -0
  1010. package/src/engine/graphics/texture/sampler/sampler2d_linear_f16_to_srgb_u8.js +54 -0
  1011. package/src/engine/graphics/texture/sampler/sampler2d_srgb_u8_to_linear_f16.d.ts +22 -0
  1012. package/src/engine/graphics/texture/sampler/sampler2d_srgb_u8_to_linear_f16.d.ts.map +1 -0
  1013. package/src/engine/graphics/texture/sampler/sampler2d_srgb_u8_to_linear_f16.js +68 -0
  1014. package/src/engine/graphics/trail/tube/TubeX.d.ts +6 -6
  1015. package/src/engine/graphics/trail/tube/TubeX.d.ts.map +1 -1
  1016. package/src/engine/graphics/trail/tube/TubeX.js +3 -3
  1017. package/src/engine/graphics/trail/x/RibbonX.d.ts.map +1 -1
  1018. package/src/engine/graphics/trail/x/RibbonX.js +36 -39
  1019. package/src/engine/grid/area/AreaTrigger.d.ts +1 -1
  1020. package/src/engine/grid/area/AreaTrigger.d.ts.map +1 -1
  1021. package/src/engine/grid/area/AreaTrigger.js +8 -7
  1022. package/src/engine/grid/area/TriggerAction.d.ts.map +1 -1
  1023. package/src/engine/grid/area/TriggerAction.js +2 -4
  1024. package/src/engine/grid/grid2transform/GridPosition2TransformSerializationUpgrader_0_1.d.ts.map +1 -1
  1025. package/src/engine/grid/grid2transform/GridPosition2TransformSerializationUpgrader_0_1.js +3 -6
  1026. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts +3 -3
  1027. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts.map +1 -1
  1028. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.js +6 -9
  1029. package/src/engine/grid/position/GridPositionSerializationUpdater_0_1.d.ts.map +1 -1
  1030. package/src/engine/grid/position/GridPositionSerializationUpdater_0_1.js +2 -6
  1031. package/src/engine/grid/position/GridPositionSystem.d.ts.map +1 -1
  1032. package/src/engine/grid/position/GridPositionSystem.js +7 -11
  1033. package/src/engine/grid/transform2grid/Transform2GridPositionSystem.d.ts.map +1 -1
  1034. package/src/engine/grid/transform2grid/Transform2GridPositionSystem.js +32 -40
  1035. package/src/engine/input/devices/PointerDevice.d.ts +8 -0
  1036. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  1037. package/src/engine/input/devices/PointerDevice.js +10 -4
  1038. package/src/engine/input/ecs/systems/InputControllerSystem.d.ts.map +1 -1
  1039. package/src/engine/input/ecs/systems/InputControllerSystem.js +9 -13
  1040. package/src/engine/input/ecs/systems/InputSystem.d.ts +1 -1
  1041. package/src/engine/input/ecs/systems/InputSystem.d.ts.map +1 -1
  1042. package/src/engine/input/ecs/systems/InputSystem.js +8 -8
  1043. package/src/engine/intelligence/behavior/SelectorBehavior.d.ts.map +1 -1
  1044. package/src/engine/intelligence/behavior/SelectorBehavior.js +13 -17
  1045. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts +10 -10
  1046. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts.map +1 -1
  1047. package/src/engine/intelligence/behavior/composite/ParallelBehavior.js +12 -11
  1048. package/src/engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.d.ts.map +1 -1
  1049. package/src/engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js +2 -6
  1050. package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts.map +1 -1
  1051. package/src/engine/intelligence/behavior/composite/SequenceBehavior.js +19 -22
  1052. package/src/engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.d.ts.map +1 -1
  1053. package/src/engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js +2 -6
  1054. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts.map +1 -1
  1055. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.js +6 -10
  1056. package/src/engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.d.ts.map +1 -1
  1057. package/src/engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.js +2 -6
  1058. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts +5 -5
  1059. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts.map +1 -1
  1060. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.js +7 -7
  1061. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.d.ts.map +1 -1
  1062. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js +2 -6
  1063. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts +2 -2
  1064. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts.map +1 -1
  1065. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.js +7 -7
  1066. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts.map +1 -1
  1067. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.js +3 -5
  1068. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts +2 -2
  1069. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts.map +1 -1
  1070. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.js +3 -4
  1071. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  1072. package/src/engine/intelligence/behavior/util/RotationBehavior.js +8 -13
  1073. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  1074. package/src/engine/intelligence/blackboard/Blackboard.js +14 -14
  1075. package/src/engine/intelligence/blackboard/BlackboardDynamicStorageAdapter.d.ts.map +1 -1
  1076. package/src/engine/intelligence/blackboard/BlackboardDynamicStorageAdapter.js +52 -55
  1077. package/src/engine/intelligence/blackboard/BlackboardStack.d.ts.map +1 -1
  1078. package/src/engine/intelligence/blackboard/BlackboardStack.js +12 -16
  1079. package/src/engine/intelligence/blackboard/BlackboardValue.d.ts.map +1 -1
  1080. package/src/engine/intelligence/blackboard/BlackboardValue.js +6 -5
  1081. package/src/engine/intelligence/controller/graph/StateGraph.d.ts +1 -1
  1082. package/src/engine/intelligence/controller/graph/StateGraph.d.ts.map +1 -1
  1083. package/src/engine/intelligence/controller/graph/StateGraph.js +2 -2
  1084. package/src/engine/intelligence/controller/graph/StateGraphDescription.js +6 -8
  1085. package/src/engine/intelligence/controller/graph/StateGraphSystem.d.ts.map +1 -1
  1086. package/src/engine/intelligence/controller/graph/StateGraphSystem.js +1 -5
  1087. package/src/engine/intelligence/mcts/MoveEdge.d.ts.map +1 -1
  1088. package/src/engine/intelligence/mcts/MoveEdge.js +5 -8
  1089. package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts +5 -5
  1090. package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts.map +1 -1
  1091. package/src/engine/intelligence/resource/ResourceAllocationBid.js +6 -6
  1092. package/src/engine/interpolation/InterpolationLog.d.ts.map +1 -1
  1093. package/src/engine/interpolation/InterpolationLog.js +564 -583
  1094. package/src/engine/interpolation/InterpolationSystem.d.ts.map +1 -1
  1095. package/src/engine/interpolation/InterpolationSystem.js +232 -233
  1096. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts.map +1 -1
  1097. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.js +17 -20
  1098. package/src/engine/logging/elastic/ElasticSearchLogger.d.ts +6 -6
  1099. package/src/engine/logging/elastic/ElasticSearchLogger.d.ts.map +1 -1
  1100. package/src/engine/logging/elastic/ElasticSearchLogger.js +31 -32
  1101. package/src/engine/metrics/ProxyMetricsGateway.d.ts.map +1 -1
  1102. package/src/engine/metrics/ProxyMetricsGateway.js +5 -9
  1103. package/src/engine/navigation/ecs/components/Path.d.ts.map +1 -1
  1104. package/src/engine/navigation/ecs/components/Path.js +30 -32
  1105. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_0_1.d.ts.map +1 -1
  1106. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_0_1.js +2 -6
  1107. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_1_2.d.ts.map +1 -1
  1108. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_1_2.js +2 -6
  1109. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.d.ts.map +1 -1
  1110. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.js +34 -38
  1111. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_0_1.d.ts.map +1 -1
  1112. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_0_1.js +2 -6
  1113. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_1_2.d.ts.map +1 -1
  1114. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_1_2.js +2 -6
  1115. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
  1116. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.js +12 -17
  1117. package/src/engine/network/NetworkSession.d.ts.map +1 -1
  1118. package/src/engine/network/NetworkSession.js +2037 -2036
  1119. package/src/engine/network/PriorityFetch.d.ts +6 -6
  1120. package/src/engine/network/PriorityFetch.d.ts.map +1 -1
  1121. package/src/engine/network/PriorityFetch.js +14 -14
  1122. package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -1
  1123. package/src/engine/network/diagnostics/BandwidthMeter.js +150 -155
  1124. package/src/engine/network/diagnostics/ReplayLog.d.ts +2 -2
  1125. package/src/engine/network/diagnostics/ReplayLog.d.ts.map +1 -1
  1126. package/src/engine/network/diagnostics/ReplayLog.js +132 -137
  1127. package/src/engine/network/diagnostics/SyncTest.d.ts.map +1 -1
  1128. package/src/engine/network/diagnostics/SyncTest.js +146 -151
  1129. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
  1130. package/src/engine/network/orchestrator/NetworkPeer.js +1202 -1209
  1131. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts +4 -4
  1132. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts.map +1 -1
  1133. package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +8 -10
  1134. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +7 -7
  1135. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  1136. package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +643 -654
  1137. package/src/engine/network/replication/Replicator.d.ts +24 -24
  1138. package/src/engine/network/replication/Replicator.d.ts.map +1 -1
  1139. package/src/engine/network/replication/Replicator.js +405 -410
  1140. package/src/engine/network/sim/ReplicatedComponentRegistry.d.ts.map +1 -1
  1141. package/src/engine/network/sim/ReplicatedComponentRegistry.js +133 -140
  1142. package/src/engine/network/sim/RewindEngine.d.ts.map +1 -1
  1143. package/src/engine/network/sim/RewindEngine.js +179 -182
  1144. package/src/engine/network/sim/SimActionExecutor.d.ts +34 -34
  1145. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
  1146. package/src/engine/network/sim/SimActionExecutor.js +305 -306
  1147. package/src/engine/network/sim/SimActionRegistry.d.ts.map +1 -1
  1148. package/src/engine/network/sim/SimActionRegistry.js +121 -128
  1149. package/src/engine/network/sim/SmoothingState.d.ts.map +1 -1
  1150. package/src/engine/network/sim/SmoothingState.js +220 -222
  1151. package/src/engine/network/sim/SpeculationLog.d.ts.map +1 -1
  1152. package/src/engine/network/sim/SpeculationLog.js +79 -84
  1153. package/src/engine/network/state/Baseline.d.ts.map +1 -1
  1154. package/src/engine/network/state/Baseline.js +78 -83
  1155. package/src/engine/network/state/ChangedEntitySet.d.ts.map +1 -1
  1156. package/src/engine/network/state/ChangedEntitySet.js +253 -256
  1157. package/src/engine/network/state/MutationLedger.d.ts.map +1 -1
  1158. package/src/engine/network/state/MutationLedger.js +179 -182
  1159. package/src/engine/network/state/ReplicationSlotTable.d.ts.map +1 -1
  1160. package/src/engine/network/state/ReplicationSlotTable.js +206 -211
  1161. package/src/engine/network/time/AdaptiveRenderDelay.d.ts.map +1 -1
  1162. package/src/engine/network/time/AdaptiveRenderDelay.js +250 -258
  1163. package/src/engine/network/time/JitterBuffer.d.ts.map +1 -1
  1164. package/src/engine/network/time/JitterBuffer.js +113 -116
  1165. package/src/engine/network/time/TimeSync.d.ts.map +1 -1
  1166. package/src/engine/network/time/TimeSync.js +145 -152
  1167. package/src/engine/network/transport/LoopbackTransport.d.ts.map +1 -1
  1168. package/src/engine/network/transport/LoopbackTransport.js +165 -173
  1169. package/src/engine/network/transport/ReliableCommandPipeline.d.ts.map +1 -1
  1170. package/src/engine/network/transport/ReliableCommandPipeline.js +315 -320
  1171. package/src/engine/network/transport/adapters/SimulatedTransport.d.ts.map +1 -1
  1172. package/src/engine/network/transport/adapters/SimulatedTransport.js +235 -241
  1173. package/src/engine/network/transport/adapters/WebSocketTransport.d.ts.map +1 -1
  1174. package/src/engine/network/transport/adapters/WebSocketTransport.js +154 -154
  1175. package/src/engine/network/transport/adapters/WebTransportTransport.d.ts.map +1 -1
  1176. package/src/engine/network/transport/adapters/WebTransportTransport.js +195 -199
  1177. package/src/engine/network/transport/fragments/FragmentAssembler.d.ts.map +1 -1
  1178. package/src/engine/network/transport/fragments/FragmentAssembler.js +286 -291
  1179. package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -1
  1180. package/src/engine/network/transport/fragments/FragmentRetention.js +191 -194
  1181. package/src/engine/physics/body/BodyStorage.d.ts +2 -2
  1182. package/src/engine/physics/body/BodyStorage.d.ts.map +1 -1
  1183. package/src/engine/physics/body/BodyStorage.js +406 -406
  1184. package/src/engine/physics/body/SolverBodyState.d.ts +8 -8
  1185. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  1186. package/src/engine/physics/body/SolverBodyState.js +10 -10
  1187. package/src/engine/physics/broadphase/PairList.d.ts +1 -1
  1188. package/src/engine/physics/broadphase/PairList.d.ts.map +1 -1
  1189. package/src/engine/physics/broadphase/PairList.js +98 -97
  1190. package/src/engine/physics/contact/ManifoldStore.d.ts +2 -2
  1191. package/src/engine/physics/contact/ManifoldStore.d.ts.map +1 -1
  1192. package/src/engine/physics/contact/ManifoldStore.js +3 -4
  1193. package/src/engine/physics/ecs/ColliderObserverSystem.d.ts +2 -2
  1194. package/src/engine/physics/ecs/ColliderObserverSystem.d.ts.map +1 -1
  1195. package/src/engine/physics/ecs/ColliderObserverSystem.js +102 -103
  1196. package/src/engine/physics/ecs/PhysicsSystem.d.ts +2 -2
  1197. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  1198. package/src/engine/physics/ecs/PhysicsSystem.js +248 -249
  1199. package/src/engine/physics/events/ContactEventBuffer.d.ts +1 -1
  1200. package/src/engine/physics/events/ContactEventBuffer.d.ts.map +1 -1
  1201. package/src/engine/physics/events/ContactEventBuffer.js +2 -1
  1202. package/src/engine/physics/fluid/FluidField.d.ts +54 -0
  1203. package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
  1204. package/src/engine/physics/fluid/FluidField.js +198 -15
  1205. package/src/engine/physics/fluid/FluidSimulator.d.ts.map +1 -1
  1206. package/src/engine/physics/fluid/FluidSimulator.js +14 -4
  1207. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  1208. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +0 -45
  1209. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts.map +1 -1
  1210. package/src/engine/physics/fluid/ecs/FluidSystem.js +8 -144
  1211. package/src/engine/physics/fluid/ecs/FluidWorkerCore.d.ts +43 -0
  1212. package/src/engine/physics/fluid/ecs/FluidWorkerCore.d.ts.map +1 -0
  1213. package/src/engine/physics/fluid/ecs/FluidWorkerCore.js +123 -0
  1214. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +119 -0
  1215. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts.map +1 -0
  1216. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +395 -0
  1217. package/src/engine/physics/fluid/ecs/fluid.worker.d.ts +2 -0
  1218. package/src/engine/physics/fluid/ecs/fluid.worker.d.ts.map +1 -0
  1219. package/src/engine/physics/fluid/ecs/fluid.worker.js +12 -0
  1220. package/src/engine/physics/fluid/ecs/fluid_build_world_to_grid.d.ts +20 -0
  1221. package/src/engine/physics/fluid/ecs/fluid_build_world_to_grid.d.ts.map +1 -0
  1222. package/src/engine/physics/fluid/ecs/fluid_build_world_to_grid.js +32 -0
  1223. package/src/engine/physics/fluid/ecs/fluid_gather_visible_effectors.d.ts +22 -0
  1224. package/src/engine/physics/fluid/ecs/fluid_gather_visible_effectors.d.ts.map +1 -0
  1225. package/src/engine/physics/fluid/ecs/fluid_gather_visible_effectors.js +47 -0
  1226. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +28 -0
  1227. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -0
  1228. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +85 -0
  1229. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +11 -0
  1230. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -0
  1231. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +16 -0
  1232. package/src/engine/physics/fluid/ecs/fluid_worker_protocol.d.ts +51 -0
  1233. package/src/engine/physics/fluid/ecs/fluid_worker_protocol.d.ts.map +1 -0
  1234. package/src/engine/physics/fluid/ecs/fluid_worker_protocol.js +111 -0
  1235. package/src/engine/physics/fluid/ecs/makeFluidWorker.d.ts +17 -0
  1236. package/src/engine/physics/fluid/ecs/makeFluidWorker.d.ts.map +1 -0
  1237. package/src/engine/physics/fluid/ecs/makeFluidWorker.js +18 -0
  1238. package/src/engine/physics/island/IslandBuilder.d.ts.map +1 -1
  1239. package/src/engine/physics/island/IslandBuilder.js +84 -86
  1240. package/src/engine/physics/mls-mpm/MLS_MPM.d.ts.map +1 -1
  1241. package/src/engine/physics/mls-mpm/MLS_MPM.js +24 -26
  1242. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts.map +1 -1
  1243. package/src/engine/physics/queries/PhysicsSurfacePoint.js +98 -100
  1244. package/src/engine/physics/vehicle/RaycastVehicle.d.ts +6 -6
  1245. package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
  1246. package/src/engine/physics/vehicle/RaycastVehicle.js +357 -344
  1247. package/src/engine/plugin/PluginReferenceContext.d.ts +12 -12
  1248. package/src/engine/plugin/PluginReferenceContext.d.ts.map +1 -1
  1249. package/src/engine/plugin/PluginReferenceContext.js +24 -25
  1250. package/src/engine/scene/Scene.d.ts +5 -5
  1251. package/src/engine/scene/Scene.d.ts.map +1 -1
  1252. package/src/engine/scene/Scene.js +24 -23
  1253. package/src/engine/scene/SceneManager.d.ts +5 -5
  1254. package/src/engine/scene/SceneManager.d.ts.map +1 -1
  1255. package/src/engine/scene/SceneManager.js +13 -14
  1256. package/src/engine/sound/SoundEngine.d.ts +2 -2
  1257. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  1258. package/src/engine/sound/SoundEngine.js +7 -8
  1259. package/src/engine/sound/asset/SoundAssetPlaybackSpec.d.ts.map +1 -1
  1260. package/src/engine/sound/asset/SoundAssetPlaybackSpec.js +16 -20
  1261. package/src/engine/sound/ecs/SoundController.d.ts.map +1 -1
  1262. package/src/engine/sound/ecs/SoundController.js +37 -33
  1263. package/src/engine/sound/ecs/SoundControllerSystem.d.ts.map +1 -1
  1264. package/src/engine/sound/ecs/SoundControllerSystem.js +5 -11
  1265. package/src/engine/sound/ecs/SoundListener.d.ts.map +1 -1
  1266. package/src/engine/sound/ecs/SoundListener.js +4 -6
  1267. package/src/engine/sound/ecs/SoundListenerSystem.d.ts +6 -6
  1268. package/src/engine/sound/ecs/SoundListenerSystem.d.ts.map +1 -1
  1269. package/src/engine/sound/ecs/SoundListenerSystem.js +22 -23
  1270. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts +10 -4
  1271. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
  1272. package/src/engine/sound/ecs/audio/AudioEmitter.js +131 -122
  1273. package/src/engine/sound/ecs/audio/AudioEmitterSerializationAdapter.d.ts +34 -0
  1274. package/src/engine/sound/ecs/audio/AudioEmitterSerializationAdapter.d.ts.map +1 -0
  1275. package/src/engine/sound/ecs/audio/AudioEmitterSerializationAdapter.js +68 -0
  1276. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +6 -6
  1277. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  1278. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +314 -316
  1279. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts.map +1 -1
  1280. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.js +31 -1
  1281. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationUpgrader_0_1.d.ts.map +1 -1
  1282. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationUpgrader_0_1.js +2 -6
  1283. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationUpgrader_1_2.d.ts.map +1 -1
  1284. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationUpgrader_1_2.js +2 -6
  1285. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts +5 -5
  1286. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +1 -1
  1287. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +159 -159
  1288. package/src/engine/sound/material/concrete/RandomSoundMaterial.d.ts.map +1 -1
  1289. package/src/engine/sound/material/concrete/RandomSoundMaterial.js +5 -9
  1290. package/src/engine/sound/material/concrete/SingleSoundMaterial.d.ts.map +1 -1
  1291. package/src/engine/sound/material/concrete/SingleSoundMaterial.js +1 -6
  1292. package/src/engine/sound/material/concrete/SoundMaterialComposition.d.ts.map +1 -1
  1293. package/src/engine/sound/material/concrete/SoundMaterialComposition.js +18 -21
  1294. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.d.ts.map +1 -1
  1295. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.js +13 -15
  1296. package/src/engine/sound/simulation/core/OccluderBody.d.ts +12 -12
  1297. package/src/engine/sound/simulation/core/OccluderBody.d.ts.map +1 -1
  1298. package/src/engine/sound/simulation/core/OccluderBody.js +74 -74
  1299. package/src/engine/sound/simulation/prototypeAcousticSolver.js +5 -4
  1300. package/src/engine/sound/sopra/definition/SopraPanningModel.d.ts +7 -3
  1301. package/src/engine/sound/sopra/definition/SopraPanningModel.d.ts.map +1 -1
  1302. package/src/engine/sound/sopra/definition/SopraPanningModel.js +34 -20
  1303. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts +15 -0
  1304. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts.map +1 -1
  1305. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.js +122 -106
  1306. package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
  1307. package/src/engine/sound/sopra/runtime/EventInstance.js +852 -815
  1308. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts +20 -6
  1309. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
  1310. package/src/engine/sound/sopra/util/buildAttenuationCurve.js +56 -21
  1311. package/src/engine/ui/bindings/DomElementBinding.d.ts.map +1 -1
  1312. package/src/engine/ui/bindings/DomElementBinding.js +15 -18
  1313. package/src/engine/ui/bindings/DomElementBindingDescription.d.ts.map +1 -1
  1314. package/src/engine/ui/bindings/DomElementBindingDescription.js +10 -14
  1315. package/src/engine/ui/bindings/DomElementProcessor.d.ts.map +1 -1
  1316. package/src/engine/ui/bindings/DomElementProcessor.js +5 -7
  1317. package/src/engine/ui/bindings/DomElementProcessorManager.d.ts.map +1 -1
  1318. package/src/engine/ui/bindings/DomElementProcessorManager.js +26 -26
  1319. package/src/engine/ui/bindings/processors/DomElementProcessorTilt3D.d.ts.map +1 -1
  1320. package/src/engine/ui/bindings/processors/DomElementProcessorTilt3D.js +15 -19
  1321. package/src/engine/ui/cursor/CursorCoalescence.d.ts.map +1 -1
  1322. package/src/engine/ui/cursor/CursorCoalescence.js +11 -14
  1323. package/src/engine/ui/modal/ModalStack.d.ts.map +1 -1
  1324. package/src/engine/ui/modal/ModalStack.js +19 -22
  1325. package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts +4 -4
  1326. package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts.map +1 -1
  1327. package/src/engine/ui/notification/AnimatedObjectEmitter.js +68 -70
  1328. package/src/engine/ui/notification/NotificationManager.d.ts +4 -4
  1329. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  1330. package/src/engine/ui/notification/NotificationManager.js +27 -29
  1331. package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
  1332. package/src/engine/ui/notification/ViewEmitter.js +2 -2
  1333. package/src/engine/ui/scene/SceneGUIContext.d.ts.map +1 -1
  1334. package/src/engine/ui/scene/SceneGUIContext.js +20 -22
  1335. package/src/engine/ui/tiles2d/TileMoveProgram.d.ts.map +1 -1
  1336. package/src/engine/ui/tiles2d/TileMoveProgram.js +5 -7
  1337. package/src/generation/GraphGenerationRule.d.ts.map +1 -1
  1338. package/src/generation/GraphGenerationRule.js +10 -14
  1339. package/src/generation/GridGeneratorConfig.d.ts.map +1 -1
  1340. package/src/generation/GridGeneratorConfig.js +15 -19
  1341. package/src/generation/filtering/CellFilterCellMatcher.d.ts.map +1 -1
  1342. package/src/generation/filtering/CellFilterCellMatcher.js +5 -9
  1343. package/src/generation/filtering/numeric/complex/CellFilterAngleToNormal.d.ts.map +1 -1
  1344. package/src/generation/filtering/numeric/complex/CellFilterAngleToNormal.js +11 -15
  1345. package/src/generation/grid/actions/ContinuousGridCellActionSetTerrainObstacle.d.ts.map +1 -1
  1346. package/src/generation/grid/actions/ContinuousGridCellActionSetTerrainObstacle.js +11 -15
  1347. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts +10 -10
  1348. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
  1349. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.js +20 -19
  1350. package/src/generation/markers/matcher/MarkerNodeMatcherByType.d.ts.map +1 -1
  1351. package/src/generation/markers/matcher/MarkerNodeMatcherByType.js +5 -9
  1352. package/src/generation/placement/action/random/CellActionSelectRandom.d.ts.map +1 -1
  1353. package/src/generation/placement/action/random/CellActionSelectRandom.js +11 -16
  1354. package/src/view/ViewGroup.d.ts.map +1 -1
  1355. package/src/view/ViewGroup.js +11 -14
  1356. package/src/view/common/HTMLElementCacheKey.d.ts.map +1 -1
  1357. package/src/view/common/HTMLElementCacheKey.js +21 -24
  1358. package/src/view/common/TabbedView.d.ts +56 -26
  1359. package/src/view/common/TabbedView.d.ts.map +1 -1
  1360. package/src/view/common/TabbedView.js +128 -30
  1361. package/src/view/common/dnd/DragAndDropContext.d.ts.map +1 -1
  1362. package/src/view/common/dnd/DragAndDropContext.js +11 -12
  1363. package/src/view/common/dnd/Draggable.d.ts +5 -5
  1364. package/src/view/common/dnd/Draggable.d.ts.map +1 -1
  1365. package/src/view/common/dnd/Draggable.js +6 -6
  1366. package/src/view/controller/GuiController.d.ts +1 -1
  1367. package/src/view/controller/GuiController.d.ts.map +1 -1
  1368. package/src/view/controller/GuiController.js +3 -3
  1369. package/src/view/controller/controls/BooleanVector3Control.d.ts.map +1 -1
  1370. package/src/view/controller/controls/BooleanVector3Control.js +2 -2
  1371. package/src/view/controller/controls/NumericIntervalControl.d.ts +1 -1
  1372. package/src/view/controller/controls/NumericIntervalControl.d.ts.map +1 -1
  1373. package/src/view/controller/controls/NumericIntervalControl.js +90 -90
  1374. package/src/view/controller/controls/Vector2Control.d.ts +1 -1
  1375. package/src/view/controller/controls/Vector2Control.d.ts.map +1 -1
  1376. package/src/view/controller/controls/Vector2Control.js +83 -83
  1377. package/src/view/controller/controls/Vector3Control.d.ts +1 -1
  1378. package/src/view/controller/controls/Vector3Control.d.ts.map +1 -1
  1379. package/src/view/controller/controls/Vector3Control.js +90 -90
  1380. package/{editor/view/ecs/components → src/view/controller/dat}/DatGuiController.d.ts +45 -45
  1381. package/src/view/controller/dat/DatGuiController.d.ts.map +1 -0
  1382. package/src/view/controller/dat/DatGuiController.js +216 -0
  1383. package/src/view/currency/CompositeCurrencyLabelView.d.ts.map +1 -1
  1384. package/src/view/currency/CompositeCurrencyLabelView.js +2 -2
  1385. package/src/view/currency/CurrencyDenominationLabelView.d.ts.map +1 -1
  1386. package/src/view/currency/CurrencyDenominationLabelView.js +2 -3
  1387. package/src/view/currency/CurrencyDenominationSpec.d.ts.map +1 -1
  1388. package/src/view/currency/CurrencyDenominationSpec.js +11 -12
  1389. package/src/view/currency/CurrencyDisplaySpec.d.ts.map +1 -1
  1390. package/src/view/currency/CurrencyDisplaySpec.js +5 -9
  1391. package/src/view/elements/ColorPickerView.js +1 -1
  1392. package/src/view/elements/EmptyView.js +1 -1
  1393. package/src/view/elements/MeshPreview.d.ts +1 -1
  1394. package/src/view/elements/MeshPreview.d.ts.map +1 -1
  1395. package/src/view/elements/MeshPreview.js +4 -10
  1396. package/{editor/view/ecs/components/particles/ColorParameterLUTController.d.ts → src/view/elements/drawCheckers.d.ts} +13 -14
  1397. package/src/view/elements/drawCheckers.d.ts.map +1 -0
  1398. package/src/view/elements/drawCheckers.js +33 -0
  1399. package/src/view/elements/progress/segmented/SegmentDefinition.d.ts.map +1 -1
  1400. package/src/view/elements/progress/segmented/SegmentDefinition.js +1 -3
  1401. package/src/view/elements/radial/RadialMenu.d.ts.map +1 -1
  1402. package/src/view/elements/radial/RadialMenu.js +18 -19
  1403. package/src/view/elements/radial/RadialMenuElementDefinition.d.ts.map +1 -1
  1404. package/src/view/elements/radial/RadialMenuElementDefinition.js +95 -87
  1405. package/src/view/elements/radial/RadialText.d.ts +3 -3
  1406. package/src/view/elements/radial/RadialText.d.ts.map +1 -1
  1407. package/src/view/elements/radial/RadialText.js +19 -22
  1408. package/src/view/elements/tiles2d/Tile.d.ts +1 -1
  1409. package/src/view/elements/tiles2d/Tile.d.ts.map +1 -1
  1410. package/src/view/elements/tiles2d/Tile.js +2 -2
  1411. package/src/view/elements/tiles2d/TileGrid.d.ts.map +1 -1
  1412. package/src/view/elements/tiles2d/TileGrid.js +1 -4
  1413. package/src/view/game/achievements/AchievementNotificationView.d.ts.map +1 -1
  1414. package/src/view/game/achievements/AchievementNotificationView.js +2 -3
  1415. package/src/view/interaction/InteractionCommandSet.d.ts.map +1 -1
  1416. package/src/view/interaction/InteractionCommandSet.js +5 -7
  1417. package/src/view/layout/DockDragOverlayView.d.ts +24 -0
  1418. package/src/view/layout/DockDragOverlayView.d.ts.map +1 -0
  1419. package/src/view/layout/DockDragOverlayView.js +63 -0
  1420. package/src/view/layout/DockDropPlan.d.ts +46 -0
  1421. package/src/view/layout/DockDropPlan.d.ts.map +1 -0
  1422. package/src/view/layout/DockDropPlan.js +53 -0
  1423. package/src/view/layout/DockGroupNode.d.ts +29 -0
  1424. package/src/view/layout/DockGroupNode.d.ts.map +1 -0
  1425. package/src/view/layout/DockGroupNode.js +38 -0
  1426. package/src/view/layout/DockLayoutView.d.ts +125 -0
  1427. package/src/view/layout/DockLayoutView.d.ts.map +1 -0
  1428. package/src/view/layout/DockLayoutView.js +1193 -0
  1429. package/src/view/layout/DockPanel.d.ts +38 -0
  1430. package/src/view/layout/DockPanel.d.ts.map +1 -0
  1431. package/src/view/layout/DockPanel.js +51 -0
  1432. package/src/view/layout/DockSide.d.ts +48 -0
  1433. package/src/view/layout/DockSide.d.ts.map +1 -0
  1434. package/src/view/layout/DockSide.js +88 -0
  1435. package/src/view/layout/DockSplitNode.d.ts +59 -0
  1436. package/src/view/layout/DockSplitNode.d.ts.map +1 -0
  1437. package/src/view/layout/DockSplitNode.js +78 -0
  1438. package/src/view/layout/DrawerView.d.ts +53 -0
  1439. package/src/view/layout/DrawerView.d.ts.map +1 -0
  1440. package/src/view/layout/DrawerView.js +163 -0
  1441. package/src/view/layout/FloatingPanelView.d.ts +38 -0
  1442. package/src/view/layout/FloatingPanelView.d.ts.map +1 -0
  1443. package/src/view/layout/FloatingPanelView.js +251 -0
  1444. package/src/view/layout/SplitView.d.ts +73 -0
  1445. package/src/view/layout/SplitView.d.ts.map +1 -0
  1446. package/src/view/layout/SplitView.js +365 -0
  1447. package/src/view/layout/layout.scss +236 -0
  1448. package/src/view/layout/show_popup_menu.d.ts +19 -0
  1449. package/src/view/layout/show_popup_menu.d.ts.map +1 -0
  1450. package/src/view/layout/show_popup_menu.js +81 -0
  1451. package/src/view/minimap/Minimap.d.ts.map +1 -1
  1452. package/src/view/minimap/Minimap.js +2 -6
  1453. package/src/view/minimap/dom/MinimapMarkerView.d.ts.map +1 -1
  1454. package/src/view/minimap/dom/MinimapMarkerView.js +2 -3
  1455. package/src/view/minimap/gl/MarkerGL.d.ts +6 -6
  1456. package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
  1457. package/src/view/minimap/gl/MarkerGL.js +8 -9
  1458. package/src/view/minimap/gl/MinimapFogOfWar.d.ts +7 -7
  1459. package/src/view/minimap/gl/MinimapFogOfWar.d.ts.map +1 -1
  1460. package/src/view/minimap/gl/MinimapFogOfWar.js +10 -12
  1461. package/src/view/minimap/gl/MinimapWorldGL.d.ts +15 -15
  1462. package/src/view/minimap/gl/MinimapWorldGL.d.ts.map +1 -1
  1463. package/src/view/minimap/gl/MinimapWorldGL.js +18 -16
  1464. package/src/view/minimap/gl/MinimapWorldLayer.d.ts.map +1 -1
  1465. package/src/view/minimap/gl/MinimapWorldLayer.js +4 -8
  1466. package/src/view/tooltip/DomTooltipManager.d.ts +6 -6
  1467. package/src/view/tooltip/DomTooltipManager.d.ts.map +1 -1
  1468. package/src/view/tooltip/DomTooltipManager.js +21 -22
  1469. package/src/view/tooltip/TooltipManager.d.ts.map +1 -1
  1470. package/src/view/tooltip/TooltipManager.js +6 -8
  1471. package/src/view/tooltip/TooltipView.d.ts +1 -1
  1472. package/src/view/tooltip/TooltipView.d.ts.map +1 -1
  1473. package/src/view/tooltip/TooltipView.js +3 -4
  1474. package/src/view/tooltip/VisualTip.d.ts +5 -5
  1475. package/src/view/tooltip/VisualTip.d.ts.map +1 -1
  1476. package/src/view/tooltip/VisualTip.js +6 -7
  1477. package/src/view/tooltip/gml/GMLEngine.d.ts.map +1 -1
  1478. package/src/view/tooltip/gml/GMLEngine.js +57 -63
  1479. package/src/view/util/DomSizeObserver.d.ts +6 -6
  1480. package/src/view/util/DomSizeObserver.d.ts.map +1 -1
  1481. package/src/view/util/DomSizeObserver.js +27 -20
  1482. package/editor/actions/concrete/PatchTerrainTextureAction.js +0 -153
  1483. package/editor/ecs/component/editors/ecs/MinimapMarkerEditor.d.ts +0 -14
  1484. package/editor/ecs/component/editors/ecs/MinimapMarkerEditor.d.ts.map +0 -1
  1485. package/editor/process/symbolic/makeStoryTriggerSetAreaDisplay.js +0 -114
  1486. package/editor/tools/TopDownCameraControlTool.d.ts +0 -13
  1487. package/editor/tools/TopDownCameraControlTool.d.ts.map +0 -1
  1488. package/editor/tools/TopDownCameraControlTool.js +0 -56
  1489. package/editor/tools/TransformTool.js +0 -385
  1490. package/editor/tools/paint/prototypeTerrainEditor.js +0 -135
  1491. package/editor/view/EditorView.d.ts +0 -39
  1492. package/editor/view/EditorView.d.ts.map +0 -1
  1493. package/editor/view/EditorView.js +0 -304
  1494. package/editor/view/ecs/ComponentControlFactory.d.ts +0 -19
  1495. package/editor/view/ecs/ComponentControlFactory.d.ts.map +0 -1
  1496. package/editor/view/ecs/ComponentControlFactory.js +0 -45
  1497. package/editor/view/ecs/EntityList.d.ts +0 -22
  1498. package/editor/view/ecs/EntityList.d.ts.map +0 -1
  1499. package/editor/view/ecs/HierarchicalEntityListView.module.scss +0 -13
  1500. package/editor/view/ecs/components/BlackboardController.js +0 -50
  1501. package/editor/view/ecs/components/DatGuiController.d.ts.map +0 -1
  1502. package/editor/view/ecs/components/FogOfWarController.js +0 -78
  1503. package/editor/view/ecs/components/FogOfWarRevealerController.js +0 -44
  1504. package/editor/view/ecs/components/GeneratedArmyController.js +0 -42
  1505. package/editor/view/ecs/components/GridObstacleController.d.ts +0 -14
  1506. package/editor/view/ecs/components/GridObstacleController.d.ts.map +0 -1
  1507. package/editor/view/ecs/components/GridObstacleController.js +0 -72
  1508. package/editor/view/ecs/components/GridPositionController.js +0 -40
  1509. package/editor/view/ecs/components/HeadsUpDisplayController.js +0 -30
  1510. package/editor/view/ecs/components/HighlightController.js +0 -47
  1511. package/editor/view/ecs/components/MeshController.js +0 -122
  1512. package/editor/view/ecs/components/PathFollowerController.js +0 -87
  1513. package/editor/view/ecs/components/TagController.js +0 -80
  1514. package/editor/view/ecs/components/TerrainController.js +0 -215
  1515. package/editor/view/ecs/components/TransformController.js +0 -97
  1516. package/editor/view/ecs/components/UnitShopController.js +0 -112
  1517. package/editor/view/ecs/components/army/ArmyController.js +0 -130
  1518. package/editor/view/ecs/components/gui/GUIElementController.js +0 -117
  1519. package/editor/view/ecs/components/items/ItemContainerController.js +0 -132
  1520. package/editor/view/ecs/components/items/ItemContainerController.stories.js +0 -50
  1521. package/editor/view/ecs/components/items/ItemController.js +0 -52
  1522. package/editor/view/ecs/components/particles/ColorParameterLUTController.d.ts.map +0 -1
  1523. package/editor/view/ecs/components/particles/ColorParameterLUTController.js +0 -444
  1524. package/editor/view/ecs/components/particles/ParameterTrackController.js +0 -51
  1525. package/editor/view/ecs/components/particles/ParticleEmitterController.js +0 -213
  1526. package/editor/view/ecs/components/particles/ParticleLayerController.js +0 -213
  1527. package/editor/view/ecs/components/particles/ScalarParameterLUTController.js +0 -401
  1528. package/editor/view/ecs/components/sockets/AttachmentSocketsController.js +0 -51
  1529. package/editor/view/ecs/components/sound/SoundEmitterController.js +0 -137
  1530. package/editor/view/ecs/components/story/StoryTriggerSetController.js +0 -214
  1531. package/editor/view/ecs/components/unit/AuraController.js +0 -45
  1532. package/editor/view/makeEntityDecorators.d.ts +0 -6
  1533. package/editor/view/makeEntityDecorators.d.ts.map +0 -1
  1534. package/editor/view/v2/SplitView.d.ts +0 -17
  1535. package/editor/view/v2/SplitView.d.ts.map +0 -1
  1536. package/editor/view/v2/ViewManagementSystem.js +0 -0
  1537. package/editor/view/v2/prototypeEditor.js +0 -127
  1538. package/src/engine/graphics/ecs/sprite/prototypeSpriteSystem.d.ts +0 -2
  1539. package/src/engine/graphics/ecs/sprite/prototypeSpriteSystem.d.ts.map +0 -1
  1540. package/src/engine/graphics/ecs/sprite/prototypeSpriteSystem.js +0 -1570
  1541. package/src/engine/graphics/three/TransfromControls.js +0 -1495
  1542. package/src/view/controller/controls_v2/AbstractPropertyBinding.d.ts +0 -8
  1543. package/src/view/controller/controls_v2/AbstractPropertyBinding.d.ts.map +0 -1
  1544. package/src/view/controller/controls_v2/AbstractPropertyBinding.ts +0 -10
  1545. package/src/view/controller/controls_v2/Controller.d.ts +0 -21
  1546. package/src/view/controller/controls_v2/Controller.d.ts.map +0 -1
  1547. package/src/view/controller/controls_v2/Controller.ts +0 -32
  1548. package/src/view/controller/controls_v2/IPropertyBinding.d.ts +0 -5
  1549. package/src/view/controller/controls_v2/IPropertyBinding.d.ts.map +0 -1
  1550. package/src/view/controller/controls_v2/IPropertyBinding.ts +0 -6
  1551. package/src/view/controller/controls_v2/PrimitivePropertyBinding.d.ts +0 -6
  1552. package/src/view/controller/controls_v2/PrimitivePropertyBinding.d.ts.map +0 -1
  1553. package/src/view/controller/controls_v2/PrimitivePropertyBinding.ts +0 -12
  1554. package/src/view/controller/controls_v2/SliderController.d.ts +0 -6
  1555. package/src/view/controller/controls_v2/SliderController.d.ts.map +0 -1
  1556. package/src/view/controller/controls_v2/SliderController.ts +0 -10
  1557. package/src/view/elements/button/ButtonView.stories.d.ts +0 -2
  1558. package/src/view/elements/button/ButtonView.stories.d.ts.map +0 -1
  1559. package/src/view/elements/button/ButtonView.stories.js +0 -14
@@ -0,0 +1,692 @@
1
+ # Editor Rework Plan — 2026-08 (rev 2, post adversarial review)
2
+
3
+ > **Status — as built, 2026-08-15.** P0–P7 landed, including both features P7
4
+ > demoted (layout persistence, tab-drag docking), and are shipped through the
5
+ > submodule chain. Automated verification: the full suite is green — 1601 jest
6
+ > suites / 9899 tests from `H:/git/moh`. Hands-on verification: three of the four
7
+ > §4 acceptance stories walked end to end through the editor's own menus, the
8
+ > fourth partly; what remains of them needs a *displayed* browser pane rather than
9
+ > the headless one available here. Results and the one defect the walkthrough
10
+ > found are in **§8**, which is now the live inventory — the follow-up notes below
11
+ > are kept as history, and where they say something is open, §8 is authoritative.
12
+ >
13
+ > Deviations from the plan below:
14
+ > the tick-driven gizmo tool tracks drag transitions instead of per-entity gizmo
15
+ > events (the gizmo entity is destroyed/rebuilt on every attach, so entity
16
+ > listeners cannot hold); the rendering camera resolves from the active Camera
17
+ > component (not `graphics.camera`); LUT edits reach the emitter through a
18
+ > module-static `onParameterLutEdited` signal consumed by a default-on
19
+ > `ParticleEmitterRebuildProcess` (debounced) — plain-data tables carry no
20
+ > signals; `DatGuiController` was relocated to the dat.gui vendor boundary
21
+ > (`src/view/controller/dat/`) instead of deleted — library widgets and test
22
+ > harnesses consume it; `EntityList`/`makeEntityDecorators` were kept (recently
23
+ > maintained, resolvable surface); drag-a-tab docking overlay and layout
24
+ > persistence remain future polish, panels move between zones via the tab menu.
25
+ >
26
+ > **Follow-up, 2026-08-15** — first hands-on session against the harness surfaced
27
+ > four defects the phase specs could not see, all now fixed with specs
28
+ > (`EditorCameraNavigation.spec.js`, `MeshLibraryView.spec.js`,
29
+ > `ToolEngine.spec.js`):
30
+ >
31
+ > - *Nothing in the shell was clickable.* `ViewStack`'s root carries
32
+ > `pointer-events: none` (a game HUD lets clicks through to the 3D scene) and
33
+ > the shell inherited it. Only `.meep-entity-tree` had a local override, which
34
+ > is why the scene tree alone responded. The shell root now opts back in, and
35
+ > the two local overrides are gone. §D2's "no app-side stylesheets" goal makes
36
+ > the shell root the only place this can live.
37
+ > - *The asset grid rendered as a diagonal staircase.* `MeshLibraryView` places
38
+ > cells itself and `View.position` is a transform, so in-flow cells were nudged
39
+ > sideways while still consuming a flow row each. Its stylesheet
40
+ > (`app/css/editor/MeshLibraryView.scss`) was the one editor sheet §D2's move
41
+ > missed. Ported into `editor/style/editor.scss`; cells are out of flow, the
42
+ > thumbnail has a sized placeholder so a cell claims its extent before the
43
+ > render lands, and the grid reflows when the library grows.
44
+ > - *Camera navigation (§D4).* Wheel deltas arrive sign-normalized from
45
+ > `PointerDevice`, so a step scaled by the raw delta moved the distance 0.1% per
46
+ > notch; pan was unconstrained and lifted the orbit pivot off the ground, so
47
+ > later orbits swung about a point in the air (the strategy camera's existing
48
+ > `(1,0,1)` pan axis is the precedent); and the pitch clamp was symmetric,
49
+ > letting the camera swing under the ground plane where the scene is backfacing.
50
+ > - *Navigation destroyed the selection.* `ToolEngine` called `tool.stop()` on
51
+ > every pointer release, including the right/middle buttons it deliberately
52
+ > withholds from tools — so ending an orbit ran `SelectionTool.stop()` and
53
+ > committed a marquee that never started. Release is now paired with the press
54
+ > that actually handed the gesture over. This is what §4 story (b), "move a tree
55
+ > with the gizmo while orbiting mid-edit", needed.
56
+ >
57
+ > Two gaps found in the same pass and **left open**, both pre-existing and outside
58
+ > the reported scope: `focusEntity` recentres in XZ only and never derives a
59
+ > distance, so `F` is a recentre rather than the frame-from-AABB §D4 specifies;
60
+ > and `ToolEngine` listens for pointer-up on the canvas only, so a primary-button
61
+ > drag released outside the viewport leaves the tool running.
62
+ >
63
+ > **Follow-up, 2026-08-15 (docking, rev 2)** — the fixed zones are gone. Four notes on
64
+ > the first cut asked for things zones cannot express, so the dock is now a **tree of tab
65
+ > groups** divided by splitters, with no privileged left/right/bottom/centre at all:
66
+ >
67
+ > - *Undocking was nearly impossible* — the zones tiled the dock, so every point in it was
68
+ > a placement. Every group now keeps a **margin** around itself (26px, capped at a fifth
69
+ > of the group so a small one stays droppable) where a drop leaves the layout instead.
70
+ > The seams between groups and the outside edge of the dock are the way out.
71
+ > - *A floating window snapped while being moved.* Its title bar now carries two gestures,
72
+ > because it answers two questions: the **tab** at the left asks where the panel should
73
+ > go and the dock takes that over, previews and all; the **bar beside it** asks nothing
74
+ > and simply moves the window, live, with no docking.
75
+ > - *An emptied section stayed.* A group that loses its last panel is **folded away** and
76
+ > its other half takes the room back — except the last group in the dock, which stays,
77
+ > empty, so there is always somewhere to drop. This replaced the "collapse the zone to
78
+ > zero and re-open it for the duration of a drag" of rev 1, which existed only because
79
+ > zones could not be created or destroyed.
80
+ > - *Panels could not be split apart.* Dropping near one of a group's four **cardinal
81
+ > edges** splits it and takes that side, previewed as the half it will take, VSCode
82
+ > style; the middle and the tab strip dock as a tab as before. `DockSide`, and the four
83
+ > verbs `addPanel` / `tabPanel` / `splitPanel` / `floatPanel` — the host builds its
84
+ > default arrangement with the same verbs an author's drags use, so a sidebar is a group
85
+ > split off one side rather than a zone the layout was built around.
86
+ >
87
+ > The bottom `DrawerView` went with the zones: a collapsible bottom is a fixed zone by
88
+ > another name, and what it did for the author — get a panel out of the way — is what
89
+ > floating and folding do now. The construct itself stays in the library.
90
+ >
91
+ > Verified against the running editor as well as in jest (33 layout specs): the default
92
+ > arrangement lays out to the same geometry the zones did (300 / 320 / 968×592 / 968×266);
93
+ > all four cardinal previews are exact halves and a drop lands at exactly the previewed
94
+ > size; a drop four pixels inside a group's edge reads "floating window" while one forty
95
+ > pixels in reads "split right"; emptying the right-hand group folded it and gave its
96
+ > 320+6 back to the middle; the title bar moved a window across the layout with the drag
97
+ > overlay never appearing; a drag-created split's own divider resizes and persists; and a
98
+ > nested tree came back byte-identical after a full page reload. An arrangement saved by
99
+ > the zone-era build is recognised as another shape and left alone, so the editor opens on
100
+ > the host's defaults rather than on a mistranslation.
101
+ >
102
+ > **Follow-up, 2026-08-15 (docking, rev 1)** — a second hands-on session found the docking
103
+ > surface itself wanting on three counts, all now fixed. Where this note describes zones,
104
+ > rev 2 above is what shipped:
105
+ >
106
+ > - *Dragging a panel showed nothing.* The drop feedback was painted on the zone views
107
+ > themselves — and a zone's box is covered by its own opaque tab strip and panel
108
+ > content, so every bit of it was underneath what the author was looking at. The
109
+ > earlier note below arguing an overlay would be "a second geometry to keep in step
110
+ > with the splitters" was wrong twice over: the feedback it defended was invisible, and
111
+ > the overlay does not track the splitters at all — it is handed the rectangle by the
112
+ > same `#planDrop` that performs the drop. Preview and outcome are now one computation,
113
+ > so they cannot disagree; the rectangle is exactly the space the panel will occupy,
114
+ > labelled with where that is (`DockDragOverlayView`, `DockDropPlan`).
115
+ > - *Panels could not be undocked.* There was no placement outside the three zones.
116
+ > `DockZoneId.Float` and `FloatingPanelView` add one: released over no zone, a panel
117
+ > stands in a window of its own, and because that window's title bar **is** the tab it
118
+ > wore, dragging it back over a zone re-docks it through the very same gesture. Windows
119
+ > resize by a grip, come forward when reached into, and are recorded in the layout.
120
+ > Zones that end up holding nothing collapse, and open back up for the duration of a
121
+ > drag — a zone the author cannot see is a zone they cannot drop into.
122
+ > - *The scene view was not a panel.* The dock's centre was a raw view slot the layout was
123
+ > built around. It is a zone like the others now, and the viewport is `DockPanel`
124
+ > `'viewport'` inside it: it wears a tab, it moves, it floats.
125
+ >
126
+ > Verified in the harness as well as in jest (34 layout specs): the preview rectangle over
127
+ > the right zone measured 320×864 at x=1280 and the window that a drop produced measured
128
+ > the same 360×300 at x=680 the preview had shown; the viewport floated with its live
129
+ > canvas and came back to the centre at 968×564; a collapsed left zone opened to 300 the
130
+ > moment a drag began; and a floating Inspector came back floating at the same place after
131
+ > a full page reload. That reload is what turned up the one defect this pass introduced and
132
+ > fixed — `fromJSON` can land before the host has sized the dock, and squaring a window up
133
+ > against a dock with no extent would have destroyed where it goes.
134
+ >
135
+ > **Follow-up, 2026-08-15 (later)** — both of those gaps are now closed.
136
+ > `focusEntity` frames from bounds (`editor/camera/camera_framing.js`, specced
137
+ > pure plus through the editor), and `PointerDevice` exposes its window-level
138
+ > release as `on.globalUp` for `ToolEngine` to pair gestures with. §8 carries
139
+ > what is still open.
140
+
141
+ Goal: bring `meep/editor` from its current broken state to a usable scene editor, scoped
142
+ entirely to the meep package. Deliverables, in the user's words: decent UI layout
143
+ constructs (drawers, dockable panels), the ability to **load/store and compose scenes**,
144
+ **terrain editing**, **standard TRS via gizmos**, and **competent ParticleEmitter editing**.
145
+
146
+ The Askara game layer is out of scope; the broader repo is used only for testing and
147
+ prototyping (webpack harness entries, dev-server middleware, jest run from the moh root).
148
+ Where a meep API change requires a matching one-line adjustment in a game-side consumer
149
+ (`initializeEditor.js`, `GameBinarySerializationRegistry.js`, `GameBootstrap.js`), that
150
+ adjustment is in scope as integration maintenance.
151
+
152
+ > Rev 2 incorporates a three-lens adversarial review (feasibility vs codebase, scope vs
153
+ > mandate, API design vs house style). Major corrections from rev 1: the transform model
154
+ > (world-space `Transform`, no parent-chain math), persistent camera navigation, meep-side
155
+ > registration of component editors and default processes (not just serialization
156
+ > adapters), empty-scene authoring (templates, ground fallback, grid), reactive scene
157
+ > tree, additive scene import ("compose"), save-back-to-source, repair-not-replace for
158
+ > `TabbedView`/`SplitView`, uniform multi-select gizmo semantics, and a keymap without
159
+ > the X-key conflict. Drag-docking and layout persistence are demoted to final polish.
160
+
161
+ ---
162
+
163
+ ## 1. Current state (condensed; full receipts in recon)
164
+
165
+ The editor last saw structural work in early 2024. Since then the ECS API moved under it
166
+ (`EntityManager.getComponent` no longer exists — component access lives on
167
+ `EntityComponentDataset`) and the `ActionProcessor` became async. Nothing was migrated.
168
+ Concretely, today:
169
+
170
+ **Hard-broken, user-visible** (all line refs verified)
171
+
172
+ | What | Where | Why |
173
+ |---|---|---|
174
+ | Transform gizmo throws on every drag | `tools/TransformTool.js:339,355` | calls `entityManager.getComponent` (removed) |
175
+ | Transform undo/redo throws | `actions/concrete/TransformModifyAction.js:30,40` | same |
176
+ | Component-remove undo broken twice | `actions/concrete/ComponentRemoveAction.js:25,30` | `apply` stores void return of `removeComponentFromEntity`; revert calls removed API |
177
+ | Grid paint tool dead | `tools/GridPaintTool.js:37,104,110` | undefined `self`, removed API |
178
+ | Box-select selects nothing | `tools/SelectionTool.js:286-310` | returns a never-populated array |
179
+ | Click-pick ray malformed | `tools/SelectionTool.js:266` | passes `ray_origin.y` twice, never `.z` |
180
+ | Paste / duplicate create components on `null` | `Editor.js:218-231` | `actions.do()` is async, never awaited |
181
+ | Ctrl+S depends on `window.engine`, swallows errors, mutates the live scene | `Editor.js:481,485,490-495` | bare global; try/catch then downloads truncated buffer; `resetSoundEmitterTracks` runs on shared component instances (`maskedCopy` shares, not clones) |
182
+ | Paint-tool deactivation throws | `tools/paint/TerrainPaintTool.js:280` | bare global `engine` in `finalize()` |
183
+ | Camera navigation is modal | `ToolEngine.js:23` single active tool; `TopDownCameraControlTool` | can't orbit/pan while any editing tool is active; RMB/MMB unused (`ToolEngine.js:130-140`) |
184
+
185
+ **Architectural rot**
186
+
187
+ - 69 of 187 JS files (37%) unreachable from the live editor. Orphaned: the
188
+ `ComponentControlFactory` controller tree (31 files, includes the *good* interactive
189
+ particle curve/gradient editors), the `tools/v2` ECS-native gizmo port (8 files),
190
+ `view/node-graph` (17 files, separately alive via its own harness).
191
+ - Two generations of everything; nothing deleted when superseded.
192
+ - `Editor.js` imports `app/css/**` and game code, so the published `./editor/*` export
193
+ cannot resolve outside this repo — and `Editor.js` cannot even be imported under jest
194
+ (no scss handling in `jest.conf.json`). All editor styling lives in `app/css/editor/**`.
195
+ `dat.gui` is imported by meep but not declared in meep's package.json.
196
+ - Three independent RAF loops outside the engine tick (`ToolEngine.js:106-122`, one per
197
+ selected entity in `SelectionVisualizer.js:47-53`, plus the engine's).
198
+ - `ActionProcessor` does not serialize concurrent callers: `do()`/`doMany()`/`navigateTo()`
199
+ assign `__last_promise` only after awaiting the barrier; `mark()` never joins the chain;
200
+ `doMany`'s executor never rejects (wedges the chain on a failing action).
201
+ - Registrations that belong to meep live game-side: serialization adapters
202
+ (`GameBinarySerializationRegistry.js` — ~40 of its adapters import purely from meep),
203
+ component type-editors (`initializeEditor.js:90-109` — `TerrainEditor`,
204
+ `ParticleEmitterEditor`, `MeshEditor`… are meep classes), and the three default editor
205
+ processes. Standalone meep gets a reflection-only inspector, invisible
206
+ lights/emitters/cameras, and no scene round-trip.
207
+
208
+ **The transform model (established during review — implementation contract)**
209
+
210
+ `Transform` components are **world-space by contract**. `ParentEntity` is a *lifecycle*
211
+ tree only (`ParentEntity.js:2`, `serializable = false`); the spatial hierarchy is
212
+ `TransformAttachment`, whose system composes parent × local and **writes the result into
213
+ the child's `Transform`** (`TransformAttachmentSystem.js:51-56`). Consequences:
214
+
215
+ - A gizmo places itself at, and writes to, the entity's own `Transform`. No parent-chain
216
+ composition exists or is needed. The v2 gizmo's identity-parent assumption is correct.
217
+ - Editing an entity that carries a `TransformAttachment` must write through to
218
+ `attachment.transform` (world delta converted by the parent's world `Transform`),
219
+ otherwise the attachment system snaps it back.
220
+ - `TransformAttachment` has no registered serialization adapter — serialized scenes
221
+ contain plain world transforms.
222
+
223
+ **Solid, to build on** — `View` lifecycle (`link`/`unlink`, `bindSignal`, observable px
224
+ `size`/`position` — layout fully computable in jsdom; `addChild` asserts unlinked child,
225
+ `removeChild` unlinks, and asserts are LIVE under jest), `EmptyView`, `ListView`,
226
+ `VirtualListView`, `LabelView`/`ButtonView`/`CheckboxView`/`NumberController`/
227
+ `DropDownSelectionView`/`CanvasView`, tooltip manager, `DraggableAspect` (+spec, the
228
+ jsdom drive pattern), `DomSizeObserver`, `ActionProcessor` + marks, `BaseProcess`/
229
+ `ProcessEngine` lifecycle, `type_editor_registry` + `createObjectEditor` pipeline,
230
+ symbolic displays (`EditorEntity.referenceEntity` dereferencing), terrain brush math +
231
+ `ModifyPatchSampler2DAction` family, `tools/v2/TransformControls` (needs snap fix +
232
+ consumer; `dispose()` is fine — rev 1's "listener leak" item was wrong), binary scene
233
+ format + `engine.storage`, `EngineHarness`, `ViewStack` push/pop hand-over (verified
234
+ mechanically sound for the shell).
235
+
236
+ ---
237
+
238
+ ## 2. Design decisions
239
+
240
+ **D1 — Repair first, then rebuild on top.** Phase 0 makes the existing editor
241
+ functional and testable; later phases replace layers. No big-bang rewrite.
242
+
243
+ **D2 — Self-contained editor.** No `app/**` or `model/game/**` imports in the **live
244
+ editor import closure** (pre-existing `meep/src` offenders like `SerializedScene.js:1`
245
+ are out of scope but must not be pulled into editor code — editor persistence gets its
246
+ own load path and never imports from `SerializedScene.js`). All editor CSS moves to
247
+ `meep/editor/style/` — global partials with semantic class names, one `editor.scss`
248
+ entry; **logic modules never import styles** (jest has no scss handling);
249
+ `HierarchicalEntityListView` migrates off its `.module.scss` (the only one in meep) so
250
+ one pattern remains. Theming via CSS custom properties: framework tokens (`--meep-*`)
251
+ declared with fallbacks in `src/view/layout/layout.scss` (self-contained), editor theme
252
+ overrides them in `editor.scss`. `dat.gui` leaves live editor paths. Meep-side
253
+ registration hoists (mirroring the serialization one):
254
+ `registerEngineComponentEditors(registry)` and default-process registration in
255
+ `Editor.initialize()`; `initializeEditor.js` keeps only game components (pruned as
256
+ integration maintenance).
257
+
258
+ **D3 — Layout library at `src/view/layout/`** (framework surface, editor is first
259
+ consumer). House style: typed classes, class fields, `#private`, `List`-driven children,
260
+ `Observed*` state, `-View` suffix for views.
261
+
262
+ - `SplitView` — **repaired and relocated** (`editor/view/v2/SplitView.js` becomes a
263
+ re-export shim; the `:95` vertical-split bug is fixed in P0 before relocation).
264
+ Enhanced: draggable 6px divider (`DraggableAspect`), sizing model = **divider offset
265
+ in px anchored to one side** with min/max clamps (fraction accepted as initializer
266
+ only — dock zones keep px width while the center flexes; no dual fraction/px model).
267
+ Back-compatible `from({a,b,type,fraction})` and setters.
268
+ - `TabbedView` — **repaired in place** (`src/view/common/TabbedView.js` constructs its
269
+ containers but never adds them — two-line fix), extended with closable tabs. No new
270
+ near-duplicate widget. `TabDefinition` stays the typed item class.
271
+ - `DrawerView` — edge-anchored collapsible container, `ObservedBoolean` open state,
272
+ header toggle. **Instant toggle** (no CSS transitions — they'd desync the DOM from
273
+ the px model; model-driven animation is later polish).
274
+ - `DockPanel` (model class: `id`, `title: ObservedString`, `view`, `closable`) and
275
+ `DockLayoutView` — center view + left/right/bottom zones, each zone a `TabbedView`
276
+ of panels, zone sizes via internal `SplitView`s. Panel moves between zones via a
277
+ typed API (`movePanel(panel, zone)`) surfaced as a per-tab menu. Panel ids exist
278
+ **solely** for layout persistence matching; no id→factory map, no `getPanel(string)`
279
+ lookup API. Moving a panel is an unlink→relink cycle (enforced by `View` asserts);
280
+ panels hold models, not DOM state.
281
+ - **Deferred to P7 polish:** drag-a-tab-between-zones with drop-zone overlay, and
282
+ layout persistence (`DockLayoutView.toJSON/fromJSON` via `engine.storage` under a
283
+ host-supplied key — not raw localStorage). Fixed zones + menu moves carry the
284
+ mandate's daily workflow.
285
+
286
+ **D4 — Shell.** `EditorShellView` (`editor/view/shell/`) on `DockLayoutView`:
287
+
288
+ - center: viewport panel hosting `engine.gameView` (`ViewStack` hand-over as today,
289
+ formalized in `link`/`unlink`);
290
+ - left: Scene panel — `HierarchicalEntityListView` made **reactive** (subscribes to
291
+ dataset entity/component events, patches via its existing diff; `#child_map` cleared
292
+ on dataset swap) and **wired to selection** (click → `Selection*Action`s, ctrl-click
293
+ multi-select, double-click → frame), plus a filter box and an entity **template
294
+ menu**: Empty, Mesh, Light, Camera, ParticleEmitter (one default layer), Terrain —
295
+ every template attaches `Transform` + `Name`;
296
+ - right: Inspector (`EntityEditor`, kept);
297
+ - bottom drawer: Assets panel (revived `MeshLibraryView`, drag-to-place with **y=0
298
+ ground-plane fallback** when the scene has no terrain — `prepareMeshLibrary.js:88`
299
+ currently dereferences `obtainTerrain` unguarded) and Processes panel;
300
+ - top strip: tool buttons, undo/redo, scene menu, native `ToolSettingsView` (rewritten
301
+ — the dat.gui one's `typeof x === object` bug means settings were never editable).
302
+
303
+ `Editor.js` becomes an ES class; keymap → `EditorKeyMap.js`; clipboard →
304
+ `editor/clipboard.js`; persistence → `editor/persistence/`. **Preserved public
305
+ surface** (inventoried from real consumers): `enableEditor`, `editor.engine`,
306
+ `editor.actions`, `editor.selection`, `editor.toolEngine`, `editor.processEngine`,
307
+ `editor.type_editor_registry`, `editor.meshLibrary`, `editor.cameraEntity`,
308
+ `initialize/attach/detach`, `isEditorEntity`-equivalent filtering. NumLock toggle stays.
309
+
310
+ **Camera navigation becomes persistent** (this was the largest usability defect):
311
+ while the editor is attached, an always-on editor camera controller handles RMB-orbit,
312
+ MMB-pan, wheel-zoom; tools own LMB only (`ToolEngine` already filters primary-button).
313
+ The modal `camera_control` tool is retired; `G` is freed. Brush size moves off the
314
+ wheel to `[`/`]` + settings. A ground **grid display process** (default-on) gives empty
315
+ scenes a spatial reference. `F` / tree-double-click frames the selection (camera target
316
+ + distance from selection AABB).
317
+
318
+ Final keymap (spec'd; X-delete conflict from rev 1 resolved): `W/E/R` gizmo mode,
319
+ `Q` world/local toggle, `F` frame selection, `X`/`Delete` delete selection,
320
+ `Ctrl+Z/Y` undo/redo, `Ctrl+C/V` copy/paste, `Shift+D` duplicate, `[`/`]` brush size,
321
+ `Ctrl+S` save. Marquee-vs-transform switching lives on the toolbar (`1`/`2` keys).
322
+
323
+ **Headless tolerance:** `Editor.attach()`/`ToolEngine.startup()` must run under jsdom
324
+ (guard the pointer device and viewport wiring on `engine.graphics` availability) so
325
+ editor-level specs are possible. `ToolEngine`'s RAF loop and `SelectionVisualizer`'s
326
+ per-entity RAFs are replaced by engine-tick-driven updates.
327
+
328
+ **D5 — Scene I/O** (`editor/persistence/` + one engine-side registration module).
329
+
330
+ - `populateEngineSerializationRegistry(registry)` (new, `src/engine/ecs/storage/`;
331
+ name follows `populateSopraSerializationRegistry` precedent) — registers the
332
+ engine-side adapters **and upgraders** that today only the game list carries
333
+ (verified assemblable purely from meep imports). Registry semantics are first-wins
334
+ (`BinarySerializationRegistry.js:71-77` warns and keeps the first; upgraders dedup
335
+ by instance identity), so `GameBinarySerializationRegistry` is **pruned to delegate**
336
+ to this function for engine types (integration maintenance) — no double
337
+ registration, no warn-spam, no divergent duplicate upgrader nodes.
338
+ - Export, uniform-flow (no hook arrays): `buildExportDataset(engine) → ecd` (masked
339
+ copy; strip `EditorEntity`-marked entities; **clone** the camera component to set
340
+ `active=true` — never mutate shared instances) and `serializeDataset(engine, ecd) →
341
+ EncodingBinaryBuffer` (big-endian; **rethrows** on failure). `exportSceneToBuffer(engine)`
342
+ composes the two. A host wanting extra scrubbing (e.g. the game's sound-track reset)
343
+ calls the primitives around its own step.
344
+ - `importSceneFromBuffer(engine, arrayBuffer)` — fresh dataset with the engine's
345
+ component type map, executor-driven deserialization task, then scene swap with the
346
+ explicit `SceneManager` discipline (remove-then-recreate the editing scene; unique
347
+ name; editor detaches before the swap and reattaches after).
348
+ - `importSceneAdditive(engine, arrayBuffer)` — **"compose scenes"**: deserialize into
349
+ a scratch dataset, then copy into the live scene with **fresh entity ids** (raw ids
350
+ from the file would graft components onto existing entities —
351
+ `BinaryBufferDeSerializer.js:170-179`). Undoable as one mark.
352
+ - `SceneSlotManager` — named slots over `engine.storage` (IndexedDB in browser;
353
+ `InMemoryStorage` in specs) with a typed `SceneMetadata` class (`toJSON/fromJSON`),
354
+ following the `GameSaveStateManager` shape without its game-isms. Plus: file export
355
+ (`downloadAsFile`), file import (`<input type=file>` → ArrayBuffer), URL load, and
356
+ **save-to-URL** via a dev-server PUT endpoint (a small `devServer.setupMiddlewares`
357
+ addition in moh's `webpack.config.js` writing under `app/data/levels/**` — dev-only
358
+ repo tooling, explicitly permitted) so the load→edit→save-back loop closes.
359
+ - Scene panel UI: New (template scene: camera + sun + ambient — a fresh dataset would
360
+ otherwise export camera-less), Open (slot / file / URL), Save / Save As, Export,
361
+ Import, Merge.
362
+
363
+ **D6 — Gizmos: adopt `tools/v2`, retire the surrogate bridge.**
364
+
365
+ - Fix v2 translation snap (operates on `_tempTransform`, never on the entity-id
366
+ `object` — `TransformControls.js:361-409`); reset `dragging` on `detach()`.
367
+ - `TransformToolV2` (registered as `spatial_transform`): gizmo attaches at the primary
368
+ (last) selection's `Transform` (world by contract, no conversion). **Uniform
369
+ multi-select semantics across all modes**: per-entity snapshot on drag start;
370
+ translate applies the shared world delta to every selected entity; rotate/scale
371
+ apply the same delta about **each entity's own pivot in its own frame** (matches the
372
+ node-graph precedent of dragging whole selections; no mode asymmetry). Drag end
373
+ emits one mark + per-entity `TransformModifyAction`s (fixed: dataset API, no
374
+ `oldState` re-capture in `apply`). Entities carrying `TransformAttachment` get
375
+ write-through to `attachment.transform`; if that proves deep, they are excluded from
376
+ gizmo editing with a visible notice — never silently wrong.
377
+ - Snapping (translate increment, rotate degrees) + space toggle in tool settings/keymap.
378
+ - Delete legacy `TransformTool.js` + vendored `three/TransfromControls.js` after the
379
+ keymap switches to v2 `TransformMode` (legacy `TransformerMode` import at
380
+ `Editor.js:70` dies with the keymap extraction).
381
+
382
+ **D7 — Terrain.**
383
+
384
+ - P0 one-liners: `finalize()` bare global; bicubic `(tY,tY)`→`(tX,tY)`; splat
385
+ `depth===1` handled as "no redistribution targets" (uniform branch, not a guard);
386
+ the `u1` width/height mixup — the UV-rect computation is **extracted as a pure
387
+ function** and specced directly (black-box through live terrain machinery would
388
+ need the tile worker; the pure function is the honest test seam).
389
+ - One `TerrainTexturePaintTool` with `settings.layer` + swatch picker rendered from
390
+ `TerrainLayers` (count/get/diffuse verified present); delete the four hardcoded
391
+ instances. Brush radius/strength editable via the native settings view; `[`/`]`.
392
+ - Per-stroke QuadTree rebuild for entity height-follow (index is stale today).
393
+ - "New terrain" template (allocated height sampler, one layer, splat filled) — a bare
394
+ `new Terrain()` from the add-component dropdown is not a functioning terrain.
395
+ - Delete dead-and-broken `PatchTerrainTextureAction.js`.
396
+
397
+ **D8 — Particles: revive the good editors into the live pipeline.**
398
+
399
+ - `ScalarParameterLUTController` / `ColorParameterLUTController` move to
400
+ `editor/view/particles/` and become the guts of `ParameterLookupTableEditor`
401
+ (which keeps its trackName gate: scale/color get editors, other names stay hidden).
402
+ Canvas 2d context acquired **lazily at `link()`** (jsdom-tolerant); LUT mutation
403
+ logic extracted into plain functions over `ParameterLookupTable` (spec'd without
404
+ canvas).
405
+ - `rebuildParticleEmitter(ecd, entity)` — the remove→clear-flags→
406
+ `registerLayerParameters`→`build`→`initialize`→`computeBoundingBox` dance from the
407
+ orphaned controller — invoked on structural edits (layer add/remove, `imageURL`
408
+ change) and exposed as a Rebuild button.
409
+ - Fixes: `emisionBounds`→`emissionBounds` transient typo; `ParameterTrackEditor`
410
+ imports real `ParticleParameters`; symbolic-display `removeLayer` implemented
411
+ (currently orphans gizmo geometry).
412
+ - Non-goals: sprite-atlas picker, velocity-cone handles, parameters beyond
413
+ scale/color (engine has exactly those two).
414
+
415
+ **D9 — Cleanup.** Delete: `ComponentControlFactory` + dead controller tree (minus
416
+ revived pieces; `buildGridObstaclePreview` moves next to its consumer), 0-byte
417
+ `ViewManagementSystem.js`, old `EditorView` + `ViewManager` (superseded by the shell),
418
+ legacy `TransformTool` + vendored three controls, `PatchTerrainTextureAction`,
419
+ `makeStoryTriggerSetAreaDisplay` (game-coupled, unresolvable import), the
420
+ `.stories.js` + `@storybook` import, `controls_v2` TS stubs — **plus each deleted
421
+ module's committed `.d.ts`/`.d.ts.map`**. These removals are acknowledged as breaking
422
+ for the published `./editor/*` surface; that is the rework mandate (the game-coupled
423
+ files never resolved outside this repo anyway). Truly generic widgets are repaired,
424
+ not removed (`SplitView`, `TabbedView`). `view/node-graph/**` untouched. GridPaintTool
425
+ is **kept and fixed** (exported, referenced, trivial fixes). `OptionsView`'s dat.gui
426
+ is game-facing — out of scope.
427
+
428
+ **D10 — Launch.** `editor/prototypeEditorShell.js`: `EngineHarness` bootstrap +
429
+ `ShadedGeometrySystem`, `TransformAttachmentSystem`, `ParentEntitySystem` (the v2
430
+ gizmo builds entities carrying those components — `EngineHarness` does not register
431
+ them), `populateEngineSerializationRegistry`, seeded mesh library + demo emitter +
432
+ terrain, editor enabled. Webpack entry line added per repo convention.
433
+
434
+ ---
435
+
436
+ ## 3. Phases
437
+
438
+ Each phase: jest green from `H:/git/moh`, then a meep commit. Submodule bumps
439
+ (meep → mir-engine → moh) at milestones or at the end.
440
+
441
+ **P0 — Repairs + foundations** (existing editor functional; `Editor.js` importable)
442
+ 1. `Editor.js` de-coupling: the two scss imports and `resetSoundEmitterTracks` move
443
+ game-side (`initializeEditor.js` / bootstrap — integration maintenance); the
444
+ Ctrl+S sound reset is dropped (it mutates the live scene); bare-global fix;
445
+ rethrow on serialize failure; await the action sequences in paste/duplicate/
446
+ delete; `disabledSystems` `window.name` bug; `lastTool` null crash.
447
+ 2. `ActionProcessor`: serialize **all** entry points (`do`/`doMany`/`undo`/`redo`/
448
+ `navigateTo`/`mark`) through one rejection-tolerant promise chain (tail
449
+ swallowed-on-await, never wedged; `doMany` rejects on action failure); clear
450
+ future marks on divergence. Specs: sync back-to-back ordering, failing action
451
+ doesn't wedge, marks consistent after divergence.
452
+ 3. Dataset-API migration: `TransformModifyAction` (+ no `oldState` re-capture),
453
+ `ComponentRemoveAction` (capture component before remove; revert via dataset),
454
+ `TransformTool` minimal fix (functional until P4), `GridPaintTool` (+`self`).
455
+ 4. `SelectionTool`: marquee population (frustum test over dataset), ray typo.
456
+ 5. Terrain one-liners + pure UV-rect extraction (D7).
457
+ 6. `SplitView.js:95` fix (pre-relocation).
458
+ 7. `populateEngineSerializationRegistry` + round-trip spec (dataset with Transform/
459
+ Mesh/Terrain/Light/Camera/Name/Tag/ParticleEmitter/SoundEmitter/Water…); game
460
+ registry delegates (prune engine entries).
461
+ 8. Specs: transform action round-trip on real dataset, component remove/undo, paste
462
+ creates components on real entities, patch-rect regression, splat depth-1.
463
+
464
+ **P1 — Layout library** (`src/view/layout/`)
465
+ - `SplitView` (relocated + divider + px-anchor model + shim), `TabbedView` repair
466
+ (+closable), `DrawerView`, `DockPanel` + `DockLayoutView` (fixed zones, typed move
467
+ API + menu), `layout.scss` (self-contained, `--meep-*` tokens; imported by the P2
468
+ editor entry — unverifiable visually until P2, accepted).
469
+ - Specs (jsdom): divider drag via synthetic events (DraggableAspect pattern), min/max
470
+ clamps, anchor-side px retention on resize, TabbedView activate/close/reorder,
471
+ DockLayout move-between-zones with unlink/relink verified, Drawer state, SplitView
472
+ back-compat (`from({fraction})`).
473
+
474
+ **P2 — Editor core modernization + shell** (two commits)
475
+ - *P2a — core*: `Editor` ES class + extraction (keymap with the final table above,
476
+ clipboard, persistence seam); persistent camera navigation (RMB/MMB/wheel,
477
+ `camera_control` retired); `ToolEngine` tick-driven (no own RAF; headless guards on
478
+ `engine.graphics`); `SelectionVisualizer` single tick-driven update;
479
+ `registerEngineComponentEditors` + default processes registered meep-side
480
+ (`initializeEditor.js` pruned to game components).
481
+ - *P2b — shell*: `EditorShellView` on `DockLayoutView` (viewport/Scene/Inspector/
482
+ Assets-drawer/Processes/top strip); reactive + selection-wired
483
+ `HierarchicalEntityListView` (+filter, off module.scss); entity template menu;
484
+ native `ToolSettingsView`; `editor/style/editor.scss` + partials (app-css editor
485
+ styles obsolete); grid display process; frame-selected (F / double-click);
486
+ y=0 mesh-drop fallback; `prototypeEditorShell.js` harness + webpack entry.
487
+ - Specs: keymap dispatch, camera-controller attach/detach symmetry, tree reacts to
488
+ dataset create/remove and drives selection actions, templates build the advertised
489
+ components, `Editor.attach()`/`detach()` round-trip headless (graphics-less).
490
+ - Browser: shell renders; dock/resize/collapse; viewport live; tree↔selection↔
491
+ inspector loop; place mesh on empty scene.
492
+
493
+ **P3 — Scene I/O**
494
+ - Export primitives + `importSceneFromBuffer` (scene-swap discipline) +
495
+ `importSceneAdditive` (scratch dataset + id remap) + `SceneSlotManager`/
496
+ `SceneMetadata` + file/URL/save-to-URL endpoints + dev-server PUT middleware
497
+ (moh webpack, dev-only) + Scene panel UI (New-template/Open/Save/Save As/Export/
498
+ Import/Merge).
499
+ - Specs: export strips editor entities + activates a cloned camera without touching
500
+ the live dataset; import swap at dataset level + editor detach/reattach; additive
501
+ import remaps colliding ids (verified against a populated dataset); slot round-trip
502
+ over `InMemoryStorage`; New-template contents (camera + lights present).
503
+ - Browser: load `data/levels/first/level.bin` (2.4 MB), edit, save to URL, reload,
504
+ verify; merge a second scene additively.
505
+
506
+ **P4 — Gizmos**
507
+ - v2 snap fix + `detach()` drag-state fix; `TransformToolV2` with uniform
508
+ multi-select semantics + undo marks; `TransformAttachment` write-through (or
509
+ explicit exclusion with notice); settings (snap, space); delete legacy tool +
510
+ vendored controls; keymap on v2 `TransformMode`.
511
+ - Specs (jsdom — constructor needs a DOM element; drive via pointer structs,
512
+ `button === -1` for moves): translate/rotate/scale on a real dataset with
513
+ `ShadedGeometry`/`TransformAttachment`/`ParentEntity` types registered; undo
514
+ restores; multi-entity translate + per-pivot rotate; snapped translate lands on
515
+ increments.
516
+ - Browser: handle drags, W/E/R/Q, snapping.
517
+
518
+ **P5 — Terrain tools**
519
+ - Single splat tool + layer swatch picker; brush settings live (native view from
520
+ P2); `[`/`]`; per-stroke QuadTree rebuild; "New terrain" template.
521
+ - Specs: weight-stamp partition preserved across layers (incl. depth 1), layer-picker
522
+ model, height-follow samples `(tX,tY)`, template terrain is functional
523
+ (sampler allocated, layer present).
524
+ - Browser: sculpt + paint on harness terrain; undo/redo strokes; create terrain from
525
+ template in an empty scene and paint it.
526
+
527
+ **P6 — Particle editing**
528
+ - LUT ops module + revived controllers (lazy 2d context) wired into
529
+ `ParameterLookupTableEditor` (trackName gate kept); `rebuildParticleEmitter`
530
+ auto-invocation + button; the three small fixes (D8).
531
+ - Specs: LUT mutation ops; rebuild leaves a live emitter (flags/bounds sane);
532
+ `emissionBounds` hidden; non-scale/color tracks stay hidden (no crash).
533
+ - Browser: author a campfire from scratch — create emitter entity from template,
534
+ set texture, shape curve + gradient, watch the live system change on rebuild.
535
+
536
+ **P7 — Polish + cleanup**
537
+ - D9 deletion list (+ their committed `.d.ts`); dat.gui out of live paths; RAF
538
+ audit (none outside engine tick); *optional if pillars are done:* drag-docking
539
+ overlay + layout persistence via `engine.storage`; update this doc to as-built;
540
+ full-suite jest; final browser walkthrough of the four acceptance stories; final
541
+ commits + bumps.
542
+
543
+ ## 4. Acceptance stories (exit criteria, run in the browser before "done")
544
+
545
+ (a) Start the harness with an **empty scene**: place 5 meshes (drag from Assets onto
546
+ the y=0 grid), arrange with gizmos, save to a slot, reload the page, reopen, continue.
547
+ (b) Open `data/levels/first/level.bin`, move a tree with the gizmo while orbiting the
548
+ camera mid-edit, repaint a hill (height + splat), save back to the same URL, reload,
549
+ verify.
550
+ (c) Author a campfire emitter from scratch on a fresh scene (template entity → texture
551
+ → curve → gradient → rebuild) with the emission-shape symbolic display visible.
552
+ (d) Build a small diorama: terrain from template, water, two lights, meshes; arrange
553
+ using panels/drawers as needed; undo/redo mixed edits across tools survives.
554
+
555
+ ## 5. Testing rules
556
+
557
+ Jest from `H:/git/moh` (root `jest.conf.json`; jsdom for view/editor specs; asserts
558
+ are live). Real objects only (real datasets, components, `ActionProcessor`;
559
+ `InMemoryStorage` is a real engine class, not a mock); black-box assertions;
560
+ no call-count/private-path assertions. Canvas rendering is not asserted in jest —
561
+ mutation logic is factored out; rendering verified in-browser via the harness.
562
+
563
+ ## 6. Risks
564
+
565
+ | Risk | Mitigation |
566
+ |---|---|
567
+ | P2 is the biggest phase and could stall | split into P2a/P2b commits; the old shell remains functional until P2b lands |
568
+ | Dock complexity balloons | fixed zones + menu moves first; drag overlay demoted to P7 optional |
569
+ | v2 gizmo hides more unknowns | legacy tool stays functional (P0-fixed) until P4 specs pass |
570
+ | Engine/game registry divergence | single engine list, game delegates; spec asserts every serializable harness component has an adapter |
571
+ | `TransformAttachment` write-through is deeper than expected | fallback: exclude attached entities from gizmo editing with a visible notice |
572
+ | Scene-swap leaves editor bound to a dead dataset | editor detach/reattach around swaps; headless attach makes this spec-able |
573
+ | Dev-server PUT middleware is repo-side | dev-only, guarded to `data/levels/**`; documented as testing infrastructure |
574
+
575
+ ## 7. Out of scope (this pass)
576
+
577
+ Node-graph integration; stroke coalescing; free-floating windows; nested docks;
578
+ group-pivot rotate/scale about a common center; Transform64; sprite-atlas picker;
579
+ velocity-cone handles; simulation-step authoring UI; mesh-library categories/search;
580
+ object-v2 serializer adoption; `OptionsView` dat.gui migration; compiled editor.css
581
+ in `build/` for no-sass consumers (release-tooling note: worth adding to `release.sh`
582
+ later); pre-existing `meep/src` → game imports outside the editor closure
583
+ (`SerializedScene.js`, `hideEntityGracefully.js`, …).
584
+
585
+ ## 8. Outstanding work (inventory, 2026-08-15)
586
+
587
+ Everything the plan calls a pillar is built, specced and shipped; so are both P7
588
+ features it demoted, and so are the sweepings. Three of the four acceptance stories
589
+ are walked and the fourth is partly done — what remains of them needs a displayed
590
+ browser pane rather than a headless one.
591
+
592
+ > An earlier revision of this section claimed the terrain paint tools "latch Running
593
+ > forever" for want of a `super.stop()`. That was wrong — neither overrides `stop()`, so
594
+ > both inherit `Tool.stop()` and reset correctly. The real defect was narrower and worse,
595
+ > and is recorded under "closed" below.
596
+
597
+ **(1) Acceptance stories — three of four walked, one partly.** Driven through the
598
+ editor's own menus in the browser harness on 2026-08-15, not through internals:
599
+
600
+ - **(a) PASS.** New scene, five entities placed from the `+ Entity` template menu
601
+ (3 meshes, light, emitter), arranged, `Scene ▸ Save to slot`, **full page reload**,
602
+ `Scene ▸ Open slot`. All eight entities and every position returned exactly; editor
603
+ stayed attached, one shell.
604
+ - **(b) PASS.** `Scene ▸ Open URL` on `data/levels/first/level.bin` (2.4 MB) → 68
605
+ entities, editor attached. Moved a prop to a marker position, `Scene ▸ Save to URL`
606
+ over the dev-server PUT endpoint (2 381 217 bytes written), **page reload**, reopened:
607
+ 68 entities, prop still at the marker. Written to `data/levels/dev/` rather than over
608
+ the project's own level — the loop is identical and the real asset is left alone.
609
+ - **(c) PARTLY.** The authoring surface is verified: the emitter template builds a
610
+ live one-layer emitter, and its inspector exposes the whole parameter set (Image URL,
611
+ Particle Life/Size/Rotation, Emission Shape/From/Rate, Parameter Tracks) with **both
612
+ revived LUT editors rendering** — a 220×90 curve canvas and a 220×40 gradient canvas.
613
+ What is *not* verified is dragging curve and gradient control points and watching the
614
+ live system change: that needs eyes on a displayed pane, not a headless one.
615
+ - **(d) PASS (core).** Mixed-tool undo/redo over a scene built from the terrain, light
616
+ and mesh templates: undo peels the sequence back in order (mesh, then light), redo
617
+ restores both, and undoing past the terrain returns exactly to the `newScene` baseline.
618
+ Terrain *painting* strokes were not exercised — same headless limitation as (c).
619
+
620
+ The walkthrough earned its place: it found one real defect, now fixed — the **inspector
621
+ came up blank when its tab was brought forward** with an entity already selected, because
622
+ the component rows were only built on `model.onChanged` and a background tab is unlinked.
623
+
624
+ **(2) Repo-side sweepings** (none affect the running editor):
625
+
626
+ - `src/view/elements/button/ButtonView.stories.js` still imports `@storybook/html` and
627
+ `@storybook/addon-actions`. D9 listed it for deletion; it is the only storybook consumer
628
+ left in meep, and `@storybook/*` is in neither `dependencies` nor `devDependencies`.
629
+ **Done** — deleted; the host has no storybook config either, so nothing could render it.
630
+ - `dat.gui` is imported by meep (`src/view/controller/dat/**`, `src/view/controller/controls/**`,
631
+ `src/engine/options/OptionsView.js`, several `prototype*.js`) but was declared nowhere.
632
+ **Done** — declared as an *optional* peer dependency alongside `three`. Optional because
633
+ D9's goal is met: no editor or engine path touches dat.gui, so a consumer that never
634
+ imports those view modules should not be told to install it.
635
+ - Orphaned app-side stylesheets in moh now that §D2's move landed. **Done** — every editor
636
+ sheet under `app/css/editor/` is gone: the 14 nothing imported (`MeshLibraryView.scss`,
637
+ `tools/ToolView.scss`, `controllers/**`), plus `EditorView.scss` and the
638
+ `EntityListView.scss` it `@import`ed, once their last consumer went. That consumer was
639
+ `prototypeSpriteSystem.js` — itself an unreferenced prototype that reached across the
640
+ package boundary for `model/game/initializeEditor.js` — deleted on the owner's call.
641
+ **No meep module imports `app/css/editor` any more, which closes §D2's styling goal.**
642
+ `app/css/editor/node-graph/**` stays: the node-graph harness imports it, and node-graph
643
+ is untouched by this rework.
644
+
645
+ **Closed since this inventory was written:** `F` frames the selection from its world
646
+ bounds instead of recentring on it (`editor/camera/camera_framing.js`; bounds are
647
+ geometry unioned with the entity origin, distance fits the circumscribed sphere, and
648
+ an entity with no geometry frames its symbolic-display helper rather than collapsing
649
+ onto the pivot, and a terrain frames the extent of its grid rather than its corner), and
650
+ a gesture released outside the viewport now ends — `PointerDevice` publishes its
651
+ window-level release as `on.globalUp` and `ToolEngine` pairs releases with that instead
652
+ of the element-scoped `up`.
653
+
654
+ Also closed: **both P7 features.** The dock arrangement now survives a reload —
655
+ `DockLayoutView.toJSON`/`fromJSON`, matched by `DockPanel#id` and tolerant of ids the
656
+ running build no longer has (or never had), saved through `EditorLayoutStore` over
657
+ `engine.storage` under a per-host key on a new `rearranged` signal, debounced. And a
658
+ panel is docked by dragging its tab, with the per-tab menu kept for anyone who would
659
+ rather not drag. Both verified in the harness, not only in jest: a divider dragged to 460
660
+ reopens at 460 after a page reload, and the Scene tab dragged into the right zone lands
661
+ there and is in storage 400ms later.
662
+
663
+ > The first cut of the drag drew its feedback on the zones themselves, where their own
664
+ > opaque content covered it; see the docking follow-up in the header for what replaced it.
665
+
666
+ Also closed: **`GridPaintTool` could never paint.** Its `update()` gates on `isRunning()`
667
+ while its `start()` override never called `super.start()`, so the state never left Ready
668
+ and the paint branch was dead on every tick — a registered, toolbar-reachable tool that
669
+ did nothing. `TerrainPaintTool` gates on the same predicate and worked only because its
670
+ subclasses remembered the super call. Since two of five tools got it wrong, the missing
671
+ calls were not added back: `Tool` now owns the transition and subclasses implement
672
+ `handleStart`/`handleStop`, so the state cannot be stranded. Hook ordering is specced —
673
+ `handleStart` runs already-Running (that is what makes the first tile land), `handleStop`
674
+ runs still-Running (the marquee it commits belongs to the closing gesture), and `stop()`
675
+ restores Ready from a `finally` so a failed commit cannot poison later gestures. Verified
676
+ live as well as in jest: in the harness the marquee tool now reports Running only for the
677
+ duration of its own gesture, including one released over a panel and one whose stop hook
678
+ throws.
679
+
680
+ Both camera/gesture fixes were verified against the running harness, not only in jest: framing the harness
681
+ terrain targets its middle at the distance that fits its circumscribed sphere to the
682
+ camera's field of view, framing a light lands on the light at symbol distance, and a
683
+ marquee begun in the viewport and released over the scene-tree panel closes instead of
684
+ staying open into the next press.
685
+
686
+ **Not outstanding, recorded so it is not re-litigated:** the D9 deletion list is fully
687
+ executed (`ComponentControlFactory` tree, `ViewManagementSystem.js`, `EditorView`/`ViewManager`,
688
+ legacy `TransformTool` + vendored three controls, `PatchTerrainTextureAction`, and every
689
+ committed `.d.ts`/`.d.ts.map`); the only `.module.scss` in meep is gone; no `requestAnimationFrame`
690
+ survives in the editor outside `prototypeObjectEditor.js` (a standalone prototype);
691
+ `populateEngineSerializationRegistry` is registered meep-side and `GameBinarySerializationRegistry.js:53`
692
+ delegates to it; the dev-server PUT endpoint is in place and path-confined to `app/data/levels/**`.