@woosh/meep-engine 3.0.0 → 3.0.1

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 (122) hide show
  1. package/editor/particles/rebuildParticleEmitter.js +8 -26
  2. package/editor/process/symbolic/CameraSymbolicDisplay.js +146 -146
  3. package/editor/tools/SelectionTool.js +1 -2
  4. package/editor/tools/TransformToolV2.js +2 -3
  5. package/editor/tools/v2/BlenderCameraOrientationGizmo.js +501 -501
  6. package/editor/tools/v2/TransformControls.js +1 -1
  7. package/package.json +95 -96
  8. package/src/core/geom/3d/mat4/m4_look_at.d.ts +25 -0
  9. package/src/core/geom/3d/mat4/m4_look_at.d.ts.map +1 -0
  10. package/src/core/geom/3d/mat4/m4_look_at.js +96 -0
  11. package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts +18 -0
  12. package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts.map +1 -0
  13. package/src/core/geom/3d/mat4/m4_make_rotation_x.js +47 -0
  14. package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts +18 -0
  15. package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts.map +1 -0
  16. package/src/core/geom/3d/mat4/m4_make_rotation_y.js +47 -0
  17. package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts +18 -0
  18. package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts.map +1 -0
  19. package/src/core/geom/3d/mat4/m4_make_rotation_z.js +47 -0
  20. package/src/core/geom/3d/mat4/m4_perspective.d.ts +25 -0
  21. package/src/core/geom/3d/mat4/m4_perspective.d.ts.map +1 -0
  22. package/src/core/geom/3d/mat4/m4_perspective.js +66 -0
  23. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  24. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +2045 -2052
  25. package/src/engine/ecs/gui/hud/testHudEdgeStick.js +2 -2
  26. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  27. package/src/engine/ecs/terrain/ecs/TerrainSystem.js +14 -27
  28. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts.map +1 -1
  29. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +129 -126
  30. package/src/engine/graphics/ecs/camera/Camera.d.ts +36 -48
  31. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  32. package/src/engine/graphics/ecs/camera/Camera.js +165 -303
  33. package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts +14 -0
  34. package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts.map +1 -0
  35. package/src/engine/graphics/ecs/camera/camera_active_frustum.js +25 -0
  36. package/src/engine/graphics/ecs/camera/camera_find_active.d.ts +16 -0
  37. package/src/engine/graphics/ecs/camera/camera_find_active.d.ts.map +1 -0
  38. package/src/engine/graphics/ecs/camera/camera_find_active.js +28 -0
  39. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts +12 -0
  40. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -0
  41. package/src/engine/graphics/ecs/camera/camera_traverse_active.js +18 -0
  42. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.js +170 -170
  43. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts +5 -1
  44. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
  45. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +296 -281
  46. package/src/engine/graphics/ecs/render_layers_compute_depth_range.d.ts +1 -1
  47. package/src/engine/graphics/ecs/render_layers_compute_depth_range.js +1 -1
  48. package/src/engine/graphics/geometry/AttributeData.d.ts +52 -0
  49. package/src/engine/graphics/geometry/AttributeData.d.ts.map +1 -0
  50. package/src/engine/graphics/geometry/AttributeData.js +84 -0
  51. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +1 -14
  52. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +1 -1
  53. package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +229 -253
  54. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +25 -12
  55. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  56. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1149 -1194
  57. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +4 -8
  58. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +1 -1
  59. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +472 -540
  60. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +19 -90
  61. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +1 -1
  62. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +135 -514
  63. package/src/engine/graphics3/CameraSystem3.d.ts.map +1 -1
  64. package/src/engine/graphics3/CameraSystem3.js +10 -1
  65. package/src/engine/graphics3/GraphicsEngine3.d.ts +3 -3
  66. package/src/engine/graphics3/GraphicsEngine3.js +3 -3
  67. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +11 -0
  68. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +1 -1
  69. package/src/engine/graphics3/ParticleEmitterSystem3.js +289 -265
  70. package/src/engine/graphics3/ShadeCameraAdapter.d.ts +3 -3
  71. package/src/engine/graphics3/ShadeCameraAdapter.js +3 -3
  72. package/src/engine/graphics3/camera_sync_from_transform.d.ts +2 -2
  73. package/src/engine/graphics3/camera_sync_from_transform.js +2 -2
  74. package/src/engine/graphics3/shade_camera_projection_ray.js +2 -2
  75. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  76. package/src/shade/renderer/camera/Camera.d.ts +3 -5
  77. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  78. package/src/shade/renderer/camera/Camera.js +281 -280
  79. package/src/shade/renderer/camera/GPUCameraContext.js +233 -233
  80. package/src/shade/renderer/loader/usd/parse_usda.js +1 -1
  81. package/src/shade/renderer/loader/usd/usd_build_scene.d.ts.map +1 -1
  82. package/src/shade/renderer/loader/usd/usd_build_scene.js +658 -652
  83. package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +1 -1
  84. package/src/shade/renderer/loader/usd/usd_compose_transform.js +58 -23
  85. package/src/shade/renderer/particles/prototypeParticleSystem.js +450 -443
  86. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
  87. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +7 -3
  88. package/src/view/minimap/dom/MinimapCameraView.d.ts +2 -2
  89. package/src/view/minimap/dom/MinimapCameraView.js +206 -206
  90. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +0 -74
  91. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +0 -1
  92. package/src/engine/graphics/ecs/camera/CameraSystem.js +0 -331
  93. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts +0 -10
  94. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts.map +0 -1
  95. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +0 -105
  96. package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts +0 -7
  97. package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts.map +0 -1
  98. package/src/engine/graphics/ecs/camera/build_three_camera_object.js +0 -29
  99. package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts +0 -8
  100. package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts.map +0 -1
  101. package/src/engine/graphics/ecs/camera/frustum_from_camera.js +0 -20
  102. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts +0 -9
  103. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts.map +0 -1
  104. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +0 -46
  105. package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts +0 -9
  106. package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts.map +0 -1
  107. package/src/engine/graphics/ecs/camera/unprojectPoint.js +0 -14
  108. package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts +0 -6
  109. package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts.map +0 -1
  110. package/src/engine/graphics/ecs/camera/update_camera_transform.js +0 -17
  111. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts +0 -67
  112. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts.map +0 -1
  113. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.js +0 -291
  114. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts +0 -11
  115. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts.map +0 -1
  116. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +0 -497
  117. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts +0 -40
  118. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts.map +0 -1
  119. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.js +0 -47
  120. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts +0 -7
  121. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts.map +0 -1
  122. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.js +0 -40
@@ -1,120 +1,49 @@
1
+ /**
2
+ * The sprite sheet the particle system draws from.
3
+ *
4
+ * **Every emitter's layers share one atlas**, so a hundred effects using the same puff of smoke pay
5
+ * for one image; a layer holds a reference to the patch it was given and hands it back when the
6
+ * emitter is deregistered, and the atlas repacks when the set of patches changes.
7
+ *
8
+ * The class used to carry a second job — a compiled shader per emitter, keyed on the four flags
9
+ * that change the shader, with a graveyard of unused records to avoid recompiling. That was three's
10
+ * `ShaderMaterial`, and it is gone: the particles are drawn by a Shade pass that owns its own
11
+ * pipeline and reads the atlas sampler directly.
12
+ */
1
13
  export class ShaderManager {
2
14
  /**
3
- *
4
15
  * @param {AssetManager} asset_manager
5
- * @param {MaterialManager} material_manager
6
- * @constructor
7
- */
8
- constructor(asset_manager: AssetManager, material_manager: MaterialManager);
9
- /**
10
- *
11
- * @type {Texture|null}
12
- */
13
- depthTexture: Texture | null;
14
- /**
15
- * Number of unused records to keep, this allows reused of records avoiding shader recompilation
16
- * @type {number}
17
16
  */
18
- recordGraveyardSize: number;
19
- /**
20
- *
21
- * @type {MaterialManager}
22
- * @private
23
- */
24
- private __material_manager;
17
+ constructor(asset_manager: AssetManager);
25
18
  /**
26
19
  *
27
20
  * @type {ManagedAtlas}
28
21
  */
29
22
  spriteAtlas: ManagedAtlas;
30
23
  /**
31
- *
32
- * @type {DataTexture|null}
33
- */
34
- spriteTexture: DataTexture | null;
35
- /**
36
- * material map is identified by parameter hash
37
- * @readonly
38
- * @private
39
- * @type {HashMap<ParticleEmitter, MaterialRecord>}
40
- */
41
- private readonly materialMap;
42
- /**
43
- * @readonly
44
- * @private
45
- * @type {HashMap<ParticleEmitter, MaterialRecord>}
46
- */
47
- private readonly recordGraveyard;
48
- /**
49
- *
50
- * @type {Vector2}
51
- */
52
- viewportSize: Vector2;
53
- /**
54
- * Common shader uniforms, inherited by every material and updated centrally (here)
55
- * @private
56
- */
57
- private __common_uniforms;
58
- /**
59
- * Should be called before using shaders managed by this
24
+ * Should be called before using the sprite sheet.
60
25
  */
61
26
  update(): void;
62
27
  /**
63
- * @private
64
- */
65
- private updateSpriteTexture;
66
- /**
67
- * @private
68
- * @returns {Reference<Material>}
69
- * @param {ParticleEmitter} emitter
70
- */
71
- private buildMaterial;
72
- /**
28
+ * Take out a reference to every sprite the emitter's layers name.
73
29
  *
74
30
  * @param {ParticleEmitter} emitter
75
31
  */
76
32
  register(emitter: ParticleEmitter): void;
77
33
  /**
78
- * Perform intenal cleanup, remove unused material records
79
- */
80
- cleanup(): void;
81
- /**
34
+ * Hand back every sprite the emitter's layers hold.
82
35
  *
83
36
  * @param {ParticleEmitter} emitter
84
37
  */
85
38
  deregister(emitter: ParticleEmitter): void;
86
39
  /**
40
+ * Hand back every sprite this manager acquired.
87
41
  *
88
- * @param {Camera} camera THREE.js Camera object
89
- */
90
- setCamera(camera: Camera): void;
91
- camera: Camera;
92
- /**
93
- *
94
- * @param {Texture} texture
95
- */
96
- setDepthTexture(texture: Texture): void;
97
- /**
98
- *
99
- * @param {number} x
100
- * @param {number} y
101
- */
102
- setViewportSize(x: number, y: number): void;
103
- /**
104
- * Hand back every resource this manager acquired.
105
- *
106
- * Materials are given back to the {@link MaterialManager} rather than disposed here: the compiled
107
- * material is shared by content hash with every other consumer that asked for the same shader, so the
108
- * manager is the only thing that can know when the last user is gone. Releasing is therefore safe
109
- * whichever way the teardown ordering falls, even for a material a live mesh still points at.
110
- *
111
- * The manager is left able to re-acquire, so a system that starts up again gets working materials and
112
- * a working sprite sheet without being rebuilt.
42
+ * The manager is left able to re-acquire, so a system that starts up again gets a working
43
+ * sprite sheet without being rebuilt.
113
44
  */
114
45
  dispose(): void;
115
46
  #private;
116
47
  }
117
48
  import { ManagedAtlas } from "../../../../texture/atlas/ManagedTextureAtlas.js";
118
- import { DataTexture } from "three";
119
- import Vector2 from "../../../../../../core/geom/Vector2.js";
120
49
  //# sourceMappingURL=ShaderManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/shader/ShaderManager.js"],"names":[],"mappings":"AA0FA;IAmBI;;;;;OAKG;IACH,4EA2FC;IA7GD;;;OAGG;IACH,cAFU,UAAQ,IAAI,CAEF;IAEpB;;;OAGG;IACH,qBAFU,MAAM,CAES;IAYrB;;;;OAIG;IACH,2BAA0C;IAE1C;;;OAGG;IACH,aAFU,YAAY,CAE4B;IAElD;;;OAGG;IACH,eAFU,WAAW,GAAC,IAAI,CAOxB;IAIF;;;;;OAKG;IACH,6BAGE;IAEF;;;;OAIG;IACH,iCAGE;IAEF;;;OAGG;IACH,cAFU,OAAO,CAEoB;IAKrC;;;OAGG;IACH,0BAwBC;IAKL;;OAEG;IACH,eAEC;IAGD;;OAEG;IACH,4BAuBC;IAED;;;;OAIG;IACH,sBAeC;IAED;;;OAGG;IACH,yCAkDC;IAED;;OAEG;IACH,gBAiCC;IAED;;;OAGG;IACH,2CAiDC;IAED;;;OAGG;IACH,gCAiBC;IAhBG,eAAoB;IAkBxB;;;OAGG;IACH,wCAKC;IAED;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAMhB;IAED;;;;;;;;;;OAUG;IACH,gBAiBC;;CACJ;6BA5d4B,kDAAkD;4BAJxE,OAAO;oBAGM,wCAAwC"}
1
+ {"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/shader/ShaderManager.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH;IAgBI;;OAEG;IACH,yCAUC;IAPG;;;OAGG;IACH,aAFU,YAAY,CAE4B;IAKtD;;OAEG;IACH,eAEC;IAWD;;;;OAIG;IACH,yCAsBC;IAED;;;;OAIG;IACH,2CAqBC;IAED;;;;;OAKG;IACH,gBAOC;;CACJ;6BArI4B,kDAAkD"}