@3driseai/3drise-viewer 0.1.29 → 0.1.30

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 (164) hide show
  1. package/dist/animationsV2/ClipsRuntime.d.ts +4 -0
  2. package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
  3. package/dist/animationsV2/ClipsRuntime.js +66 -2
  4. package/dist/animationsV2/clipUtils.js +1 -1
  5. package/dist/animationsV2/sequenceUtils.d.ts +5 -0
  6. package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
  7. package/dist/animationsV2/sequenceUtils.js +10 -0
  8. package/dist/animationsV2/types.d.ts +6 -0
  9. package/dist/animationsV2/types.d.ts.map +1 -1
  10. package/dist/components/EffectsGenerator.d.ts.map +1 -1
  11. package/dist/components/EffectsGenerator.js +43 -38
  12. package/dist/components/GeometryShape.d.ts.map +1 -1
  13. package/dist/components/GeometryShape.js +22 -2
  14. package/dist/components/ObjectNode.d.ts.map +1 -1
  15. package/dist/components/ObjectNode.js +6 -17
  16. package/dist/components/ParticlesGenerator.d.ts.map +1 -1
  17. package/dist/components/ParticlesGenerator.js +44 -24
  18. package/dist/components/PickVolume.d.ts +17 -0
  19. package/dist/components/PickVolume.d.ts.map +1 -0
  20. package/dist/components/PickVolume.js +20 -0
  21. package/dist/components/SkyStars.d.ts.map +1 -1
  22. package/dist/components/SkyStars.js +83 -2
  23. package/dist/components/TextGenerator.d.ts.map +1 -1
  24. package/dist/components/TextGenerator.js +3 -2
  25. package/dist/components/index.d.ts +1 -8
  26. package/dist/components/index.d.ts.map +1 -1
  27. package/dist/components/index.js +1 -4
  28. package/dist/components/particles/BioluminescentWakeParticles.d.ts +5 -0
  29. package/dist/components/particles/BioluminescentWakeParticles.d.ts.map +1 -1
  30. package/dist/components/particles/BioluminescentWakeParticles.js +2 -1
  31. package/dist/components/particles/BrownianDustParticles.d.ts +5 -0
  32. package/dist/components/particles/BrownianDustParticles.d.ts.map +1 -1
  33. package/dist/components/particles/BrownianDustParticles.js +2 -0
  34. package/dist/components/particles/ChladniSandParticles.d.ts +5 -0
  35. package/dist/components/particles/ChladniSandParticles.d.ts.map +1 -1
  36. package/dist/components/particles/ChladniSandParticles.js +2 -1
  37. package/dist/components/particles/ElectronOrbitalsParticles.d.ts +5 -0
  38. package/dist/components/particles/ElectronOrbitalsParticles.d.ts.map +1 -1
  39. package/dist/components/particles/ElectronOrbitalsParticles.js +2 -1
  40. package/dist/components/particles/FaradayPowderParticles.d.ts +5 -0
  41. package/dist/components/particles/FaradayPowderParticles.d.ts.map +1 -1
  42. package/dist/components/particles/FaradayPowderParticles.js +2 -1
  43. package/dist/components/particles/GrinderSparksParticles.d.ts +5 -0
  44. package/dist/components/particles/GrinderSparksParticles.d.ts.map +1 -1
  45. package/dist/components/particles/GrinderSparksParticles.js +2 -1
  46. package/dist/components/particles/MagneticBottleParticles.d.ts +5 -0
  47. package/dist/components/particles/MagneticBottleParticles.d.ts.map +1 -1
  48. package/dist/components/particles/MagneticBottleParticles.js +2 -1
  49. package/dist/components/particles/NeonRainParticles.d.ts +5 -0
  50. package/dist/components/particles/NeonRainParticles.d.ts.map +1 -1
  51. package/dist/components/particles/NeonRainParticles.js +2 -1
  52. package/dist/components/particles/ShapeBurstParticles.d.ts +5 -0
  53. package/dist/components/particles/ShapeBurstParticles.d.ts.map +1 -1
  54. package/dist/components/particles/ShapeBurstParticles.js +2 -1
  55. package/dist/components/particles/ShapeFlowParticles.d.ts +5 -0
  56. package/dist/components/particles/ShapeFlowParticles.d.ts.map +1 -1
  57. package/dist/components/particles/ShapeFlowParticles.js +2 -1
  58. package/dist/components/particles/TidalStreamParticles.d.ts +5 -0
  59. package/dist/components/particles/TidalStreamParticles.d.ts.map +1 -1
  60. package/dist/components/particles/TidalStreamParticles.js +2 -0
  61. package/dist/components/text/PlainText.d.ts +15 -0
  62. package/dist/components/text/PlainText.d.ts.map +1 -0
  63. package/dist/components/text/PlainText.js +4 -0
  64. package/dist/components/text/TextObjectView.d.ts +3 -1
  65. package/dist/components/text/TextObjectView.d.ts.map +1 -1
  66. package/dist/components/text/TextObjectView.js +9 -3
  67. package/dist/components/text/engine/looks/index.d.ts.map +1 -1
  68. package/dist/components/text/engine/looks/index.js +2 -1
  69. package/dist/components/text/engine/looks/plain.d.ts +146 -0
  70. package/dist/components/text/engine/looks/plain.d.ts.map +1 -0
  71. package/dist/components/text/engine/looks/plain.js +104 -0
  72. package/dist/components/text/fonts/bebas-neue.outline.d.ts +3 -0
  73. package/dist/components/text/fonts/bebas-neue.outline.d.ts.map +1 -0
  74. package/dist/components/text/fonts/bebas-neue.outline.js +4 -0
  75. package/dist/components/text/fonts/bebas-neue.strokes.d.ts +3 -0
  76. package/dist/components/text/fonts/bebas-neue.strokes.d.ts.map +1 -0
  77. package/dist/components/text/fonts/bebas-neue.strokes.js +4 -0
  78. package/dist/components/text/fonts/index.d.ts +1 -1
  79. package/dist/components/text/fonts/index.d.ts.map +1 -1
  80. package/dist/components/text/fonts/index.js +15 -1
  81. package/dist/components/text/fonts/inter.outline.d.ts +3 -0
  82. package/dist/components/text/fonts/inter.outline.d.ts.map +1 -0
  83. package/dist/components/text/fonts/inter.outline.js +4 -0
  84. package/dist/components/text/fonts/inter.strokes.d.ts +3 -0
  85. package/dist/components/text/fonts/inter.strokes.d.ts.map +1 -0
  86. package/dist/components/text/fonts/inter.strokes.js +4 -0
  87. package/dist/components/text/fonts/lora.outline.d.ts +3 -0
  88. package/dist/components/text/fonts/lora.outline.d.ts.map +1 -0
  89. package/dist/components/text/fonts/lora.outline.js +4 -0
  90. package/dist/components/text/fonts/lora.strokes.d.ts +3 -0
  91. package/dist/components/text/fonts/lora.strokes.d.ts.map +1 -0
  92. package/dist/components/text/fonts/lora.strokes.js +4 -0
  93. package/dist/components/text/fonts/montserrat.outline.d.ts +3 -0
  94. package/dist/components/text/fonts/montserrat.outline.d.ts.map +1 -0
  95. package/dist/components/text/fonts/montserrat.outline.js +4 -0
  96. package/dist/components/text/fonts/montserrat.strokes.d.ts +3 -0
  97. package/dist/components/text/fonts/montserrat.strokes.d.ts.map +1 -0
  98. package/dist/components/text/fonts/montserrat.strokes.js +4 -0
  99. package/dist/components/text/fonts/oswald.outline.d.ts +3 -0
  100. package/dist/components/text/fonts/oswald.outline.d.ts.map +1 -0
  101. package/dist/components/text/fonts/oswald.outline.js +4 -0
  102. package/dist/components/text/fonts/oswald.strokes.d.ts +3 -0
  103. package/dist/components/text/fonts/oswald.strokes.d.ts.map +1 -0
  104. package/dist/components/text/fonts/oswald.strokes.js +4 -0
  105. package/dist/components/text/fonts/playfair-display.outline.d.ts +3 -0
  106. package/dist/components/text/fonts/playfair-display.outline.d.ts.map +1 -0
  107. package/dist/components/text/fonts/playfair-display.outline.js +4 -0
  108. package/dist/components/text/fonts/playfair-display.strokes.d.ts +3 -0
  109. package/dist/components/text/fonts/playfair-display.strokes.d.ts.map +1 -0
  110. package/dist/components/text/fonts/playfair-display.strokes.js +4 -0
  111. package/dist/components/text/fonts/roboto.outline.d.ts +3 -0
  112. package/dist/components/text/fonts/roboto.outline.d.ts.map +1 -0
  113. package/dist/components/text/fonts/roboto.outline.js +4 -0
  114. package/dist/components/text/fonts/roboto.strokes.d.ts +3 -0
  115. package/dist/components/text/fonts/roboto.strokes.d.ts.map +1 -0
  116. package/dist/components/text/fonts/roboto.strokes.js +4 -0
  117. package/dist/components/text/index.d.ts +2 -0
  118. package/dist/components/text/index.d.ts.map +1 -1
  119. package/dist/components/text/index.js +1 -0
  120. package/dist/components/text/useTextObject.d.ts +1 -0
  121. package/dist/components/text/useTextObject.d.ts.map +1 -1
  122. package/dist/components/text/useTextObject.js +23 -11
  123. package/dist/constants.d.ts.map +1 -1
  124. package/dist/constants.js +2 -0
  125. package/dist/index.d.ts +1 -1
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +1 -1
  128. package/dist/operations/catalogue/flock.d.ts.map +1 -1
  129. package/dist/operations/catalogue/flock.js +44 -9
  130. package/dist/operations/catalogue/inkBloom.d.ts.map +1 -1
  131. package/dist/operations/catalogue/inkBloom.js +46 -9
  132. package/dist/operations/catalogue/liquidMetal.d.ts.map +1 -1
  133. package/dist/operations/catalogue/liquidMetal.js +41 -12
  134. package/dist/operations/catalogue/particleSwarm.d.ts.map +1 -1
  135. package/dist/operations/catalogue/particleSwarm.js +29 -9
  136. package/dist/operations/catalogue/petalPeel.d.ts.map +1 -1
  137. package/dist/operations/catalogue/petalPeel.js +33 -9
  138. package/dist/operations/catalogue/portal.d.ts.map +1 -1
  139. package/dist/operations/catalogue/portal.js +33 -11
  140. package/dist/operations/catalogue/sandErosion.d.ts.map +1 -1
  141. package/dist/operations/catalogue/sandErosion.js +36 -14
  142. package/dist/operations/catalogue/teleport.d.ts.map +1 -1
  143. package/dist/operations/catalogue/teleport.js +43 -12
  144. package/dist/operations/catalogue/unweave.d.ts.map +1 -1
  145. package/dist/operations/catalogue/unweave.js +34 -15
  146. package/dist/operations/catalogue/voxelize.d.ts.map +1 -1
  147. package/dist/operations/catalogue/voxelize.js +37 -10
  148. package/dist/triggers/engine.d.ts +1 -1
  149. package/dist/triggers/engine.d.ts.map +1 -1
  150. package/dist/triggers/engine.js +3 -0
  151. package/dist/triggers/hosts/actions.d.ts.map +1 -1
  152. package/dist/triggers/hosts/actions.js +1 -1
  153. package/dist/triggers/hosts/interactions.d.ts.map +1 -1
  154. package/dist/triggers/hosts/interactions.js +1 -1
  155. package/dist/utils/pickProxy.d.ts +11 -0
  156. package/dist/utils/pickProxy.d.ts.map +1 -0
  157. package/dist/utils/pickProxy.js +36 -0
  158. package/dist/utils/shapes.d.ts +4 -0
  159. package/dist/utils/shapes.d.ts.map +1 -1
  160. package/dist/utils/shapes.js +4 -1
  161. package/dist/utils/textShape.d.ts +24 -0
  162. package/dist/utils/textShape.d.ts.map +1 -0
  163. package/dist/utils/textShape.js +102 -0
  164. package/package.json +2 -2
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import { useFrame } from '@react-three/fiber';
4
+ import { pickSphere, stopRaycast } from '../utils/pickProxy.js';
5
+ /**
6
+ * Hover / click land on one invisible sphere over a generative object's volume, never on what it draws: the
7
+ * sprites of a particle system live on the GPU (the CPU attributes are seeds, not positions), an effect's points
8
+ * are sparse, and a user who clicks a cloud means the cloud. The children are taken out of raycasting as they
9
+ * appear (a build can add meshes after mount), so the sphere is the only hit target. Its geometry also gives the
10
+ * selection gizmo a true bounding box.
11
+ */
12
+ const PickVolume = ({ center = [0, 0, 0], radius, children }) => {
13
+ const inner = useRef(null);
14
+ const proxy = useMemo(() => pickSphere(), []);
15
+ useEffect(() => () => { proxy.geometry.dispose(); proxy.material.dispose(); }, [proxy]);
16
+ useFrame(() => { if (inner.current)
17
+ stopRaycast(inner.current); });
18
+ return (_jsxs("group", { children: [_jsx("primitive", { object: proxy, position: center, scale: [radius, radius, radius] }), _jsx("group", { ref: inner, children: children })] }));
19
+ };
20
+ export default PickVolume;
@@ -1 +1 @@
1
- {"version":3,"file":"SkyStars.d.ts","sourceRoot":"","sources":["../../src/components/SkyStars.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGzF,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sFAAsF;IACtF,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACnC;AA4HD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8DrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"SkyStars.d.ts","sourceRoot":"","sources":["../../src/components/SkyStars.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGzF,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sFAAsF;IACtF,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACnC;AA2KD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsGrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef } from 'react';
3
3
  import * as THREE from 'three';
4
4
  import { useFrame } from '@react-three/fiber';
@@ -78,6 +78,51 @@ const gauss = () => Math.sqrt(-2 * Math.log(1 - Math.random())) * Math.cos(Math.
78
78
  * unresolved glow reads as the band even though every point is still a star. The
79
79
  * full colour-temperature tint is baked per star; the shader scales it by warmth.
80
80
  */
81
+ /**
82
+ * The unresolved glow of the band: a soft additive sheet on the same dome, mottled
83
+ * by value noise so it has dust lanes and brighter clouds rather than a smooth
84
+ * stripe. Drawn only while milkyWay > 0.
85
+ */
86
+ const glowVertexShader = /* glsl */ `
87
+ varying vec3 vDir;
88
+ void main() {
89
+ vec4 world = modelMatrix * vec4(position, 1.0);
90
+ vDir = normalize(world.xyz - cameraPosition);
91
+ gl_Position = projectionMatrix * viewMatrix * world;
92
+ }
93
+ `;
94
+ const glowFragmentShader = /* glsl */ `
95
+ uniform vec3 uBandNormal;
96
+ uniform vec3 uBandU;
97
+ uniform vec3 uBandV;
98
+ uniform float uAmount;
99
+ uniform float uNight;
100
+ uniform float uBrightness;
101
+ uniform float uWarmth;
102
+ varying vec3 vDir;
103
+ float hash(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
104
+ float vnoise(vec2 p) {
105
+ vec2 i = floor(p), f = fract(p);
106
+ f = f * f * (3.0 - 2.0 * f);
107
+ return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), f.x), mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), f.x), f.y);
108
+ }
109
+ void main() {
110
+ vec3 d = normalize(vDir);
111
+ float lat = asin(clamp(dot(d, uBandNormal), -1.0, 1.0)); // angle off the band plane
112
+ float lon = atan(dot(d, uBandV), dot(d, uBandU)); // position along the band
113
+ float horizon = smoothstep(-0.02, 0.2, d.y);
114
+ // core + wide halo, thinner on one side like the real band's dust lane
115
+ float core = exp(-pow(lat / 0.09, 2.0));
116
+ float halo = exp(-pow(lat / 0.3, 2.0)) * 0.45;
117
+ vec2 p = vec2(lon * 3.0, lat * 12.0);
118
+ float m = vnoise(p * 2.0) * 0.6 + vnoise(p * 5.0) * 0.3 + vnoise(p * 11.0) * 0.1; // clouds and lanes
119
+ float lane = 1.0 - 0.75 * exp(-pow((lat + 0.025 * sin(lon * 2.0)) / 0.03, 2.0)) * smoothstep(0.3, 0.7, vnoise(vec2(lon * 2.0, 0.5)));
120
+ float bulge = 0.7 + 0.6 * exp(-pow(mod(lon + 3.1416, 6.2832) - 3.1416, 2.0) / 1.2); // brighter toward the centre
121
+ float glow = (core * lane + halo) * (0.55 + 0.9 * m) * bulge * horizon;
122
+ vec3 tint = mix(vec3(1.0), vec3(0.78, 0.84, 1.0), uWarmth * 0.7) + vec3(0.12, 0.05, 0.0) * m * uWarmth;
123
+ gl_FragColor = vec4(tint * glow * uAmount * uNight * uBrightness * 0.22, 1.0);
124
+ }
125
+ `;
81
126
  function buildStars(count, milkyWay) {
82
127
  const pos = new Float32Array(count * 3);
83
128
  const mag = new Float32Array(count);
@@ -124,6 +169,7 @@ function buildStars(count, milkyWay) {
124
169
  }
125
170
  const SkyStars = ({ timeSettings, skySettings, stars }) => {
126
171
  const pointsRef = useRef(null);
172
+ const glowRef = useRef(null);
127
173
  const { update } = useCloudSun({ skySettings, timeSettings });
128
174
  const { count, milkyWay, brightness, size, twinkle, warmth } = normalizeSkyStars(stars);
129
175
  // Structural: a new dome only when count or the band changes.
@@ -147,8 +193,30 @@ const SkyStars = ({ timeSettings, skySettings, stars }) => {
147
193
  fog: false,
148
194
  toneMapped: false,
149
195
  }), []);
196
+ const glowGeometry = useMemo(() => new THREE.SphereGeometry(1, 48, 32), []);
197
+ const glowMaterial = useMemo(() => new THREE.ShaderMaterial({
198
+ uniforms: {
199
+ uBandNormal: { value: BAND_NORMAL.clone() },
200
+ uBandU: { value: BAND_U.clone() },
201
+ uBandV: { value: BAND_V.clone() },
202
+ uAmount: { value: 0 },
203
+ uNight: { value: 0 },
204
+ uBrightness: { value: 1 },
205
+ uWarmth: { value: 0.5 },
206
+ },
207
+ vertexShader: glowVertexShader,
208
+ fragmentShader: glowFragmentShader,
209
+ transparent: true,
210
+ depthWrite: false,
211
+ depthTest: true,
212
+ side: THREE.BackSide,
213
+ blending: THREE.AdditiveBlending,
214
+ fog: false,
215
+ toneMapped: false,
216
+ }), []);
150
217
  useEffect(() => () => geometry.dispose(), [geometry]);
151
218
  useEffect(() => () => material.dispose(), [material]);
219
+ useEffect(() => () => { glowGeometry.dispose(); glowMaterial.dispose(); }, [glowGeometry, glowMaterial]);
152
220
  const spin = useMemo(() => new THREE.Quaternion(), []);
153
221
  useFrame(({ camera, gl, clock }) => {
154
222
  const points = pointsRef.current;
@@ -163,8 +231,11 @@ const SkyStars = ({ timeSettings, skySettings, stars }) => {
163
231
  const sunElevation = THREE.MathUtils.radToDeg(Math.asin(THREE.MathUtils.clamp(sunDir.y, -1, 1)));
164
232
  night = nightAmount(sunElevation);
165
233
  }
234
+ const glow = glowRef.current;
166
235
  if (night <= 0.001) {
167
236
  points.visible = false;
237
+ if (glow)
238
+ glow.visible = false;
168
239
  return;
169
240
  }
170
241
  points.visible = true;
@@ -181,7 +252,17 @@ const SkyStars = ({ timeSettings, skySettings, stars }) => {
181
252
  material.uniforms.uSize.value = size;
182
253
  material.uniforms.uTwinkle.value = twinkle;
183
254
  material.uniforms.uWarmth.value = warmth;
255
+ if (glow) {
256
+ glow.visible = milkyWay > 0.001;
257
+ glow.position.copy(points.position);
258
+ glow.scale.setScalar(far * 0.86);
259
+ glow.quaternion.copy(points.quaternion);
260
+ glowMaterial.uniforms.uAmount.value = milkyWay;
261
+ glowMaterial.uniforms.uNight.value = night;
262
+ glowMaterial.uniforms.uBrightness.value = brightness;
263
+ glowMaterial.uniforms.uWarmth.value = warmth;
264
+ }
184
265
  });
185
- return _jsx("points", { ref: pointsRef, geometry: geometry, material: material, frustumCulled: false, renderOrder: -2 });
266
+ return (_jsxs(_Fragment, { children: [_jsx("mesh", { ref: glowRef, geometry: glowGeometry, material: glowMaterial, frustumCulled: false, renderOrder: -3 }), _jsx("points", { ref: pointsRef, geometry: geometry, material: material, frustumCulled: false, renderOrder: -2 })] }));
186
267
  };
187
268
  export default SkyStars;
@@ -1 +1 @@
1
- {"version":3,"file":"TextGenerator.d.ts","sourceRoot":"","sources":["../../src/components/TextGenerator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAA2C,MAAM,uBAAuB,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,KAAK,kBAAkB,GAAG,gBAAgB,GAAG;IACzC,aAAa,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAkBF,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAc/C,CAAC;AACF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"TextGenerator.d.ts","sourceRoot":"","sources":["../../src/components/TextGenerator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAA2C,MAAM,uBAAuB,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,KAAK,kBAAkB,GAAG,gBAAgB,GAAG;IACzC,aAAa,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAmBF,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAc/C,CAAC;AACF,eAAe,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { HandwritingText, NeonTubeText, FourierSketchText, FrostGrowthText, PlasmaDischargeText, BurnAwayText, LightPaintingText, ConstellationText, InkBleedText, LiquidMetalText, EmbroideryText, ChalkboardText } from './text/index.js';
3
- /** The text looks' components by config.type (the legacy bitmap / 3D text is rendered by ObjectNode, not here). */
2
+ import { HandwritingText, NeonTubeText, FourierSketchText, FrostGrowthText, PlasmaDischargeText, BurnAwayText, LightPaintingText, ConstellationText, InkBleedText, LiquidMetalText, EmbroideryText, ChalkboardText, PlainText } from './text/index.js';
3
+ /** The text looks' components by config.type (plain, handwriting, neonTube, …). */
4
4
  const FAMILY = {
5
5
  handwriting: HandwritingText,
6
6
  neonTube: NeonTubeText,
@@ -14,6 +14,7 @@ const FAMILY = {
14
14
  liquidMetal: LiquidMetalText,
15
15
  embroidery: EmbroideryText,
16
16
  chalkboard: ChalkboardText,
17
+ plain: PlainText,
17
18
  };
18
19
  const TextGenerator = ({ createdObject, onObjectReady, onObjectDispose }) => {
19
20
  const config = createdObject.config;
@@ -42,8 +42,6 @@ export type { VoronoiGridProps } from './VoronoiGrid';
42
42
  export type { HdrPlaylistRendererProps } from './HdrPlaylistRenderer';
43
43
  export type { ImageGeometryProps } from './ImageGeometry';
44
44
  export type { LensflareProps } from './Lensflare';
45
- export type { LetterData, LetterProps } from './Letter';
46
- export type { LettersProps } from './Letters';
47
45
  export type { LightsManagerProps } from './LightsManager';
48
46
  export type { LoadingIndicatorProps } from './LoadingIndicator';
49
47
  export type { MaterialLibraryProps } from './MaterialLibrary';
@@ -61,10 +59,8 @@ export type { SkySystemProps, SkySystemRef } from './SkySystem';
61
59
  export type { SparklesBurstProps } from './SparklesBurst';
62
60
  export type { SunCoreProps } from './SunCore';
63
61
  export type { SunLightProps } from './SunLight';
64
- export type { Text2DProps } from './Text2D';
65
62
  export type { TerrainBuilderProps } from './TerrainBuilder';
66
63
  export type { OceanBuilderProps } from './OceanBuilder';
67
- export type { Text3DProps } from './Text3D';
68
64
  export type { VolumePointsProps } from './VolumePoints';
69
65
  export { AnimatedObject, default as AnimatedObjectDefault } from './AnimatedObject';
70
66
  export { default as Bubbles } from './Bubbles';
@@ -74,6 +70,7 @@ export { default as CloudsGenerator } from './CloudsGenerator';
74
70
  export { default as CreatedObject } from './CreatedObject';
75
71
  export { default as CustomPrimitive } from './CustomPrimitive';
76
72
  export { default as EffectsGenerator } from './EffectsGenerator';
73
+ export { default as PickVolume } from './PickVolume';
77
74
  export { default as ParticlesGenerator } from './ParticlesGenerator';
78
75
  export { default as EnvironmentManager } from './EnvironmentManager';
79
76
  export { default as HdrEnvironment, isHdrActive } from './HdrEnvironment';
@@ -91,8 +88,6 @@ export { default as GridGenerator } from './GridsGenerator';
91
88
  export { default as HdrPlaylistRenderer } from './HdrPlaylistRenderer';
92
89
  export { ImageGeometry } from './ImageGeometry';
93
90
  export { default as Lensflare, createFlareTexture } from './Lensflare';
94
- export { default as Letter } from './Letter';
95
- export { default as Letters } from './Letters';
96
91
  export { default as LightObject } from './LightObject';
97
92
  export { default as LightsManager } from './LightsManager';
98
93
  export { default as Lines } from './Lines';
@@ -155,8 +150,6 @@ export type { SkyStarsProps } from './SkyStars';
155
150
  export type { MoonDiscProps } from './MoonDisc';
156
151
  export { default as TerrainBuilder } from './TerrainBuilder';
157
152
  export { default as OceanBuilder } from './OceanBuilder';
158
- export { default as Text2D } from './Text2D';
159
- export { default as Text3D } from './Text3D';
160
153
  export { VolumePoints } from './VolumePoints';
161
154
  export { FitGroup, GeometryMesh, computeMode, contourSlices, evenScatter, meshVertices, plexus, surfaceScatter, symmetricScatter, useShapeGeometry as useGeometryShape, volumeFill, wireframe, } from './GeometryShape';
162
155
  export { contour2D, edges3D } from './extractOutline';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export { default as CloudsGenerator } from './CloudsGenerator.js';
9
9
  export { default as CreatedObject } from './CreatedObject.js';
10
10
  export { default as CustomPrimitive } from './CustomPrimitive.js';
11
11
  export { default as EffectsGenerator } from './EffectsGenerator.js';
12
+ export { default as PickVolume } from './PickVolume.js';
12
13
  export { default as ParticlesGenerator } from './ParticlesGenerator.js';
13
14
  export { default as EnvironmentManager } from './EnvironmentManager.js';
14
15
  export { default as HdrEnvironment, isHdrActive } from './HdrEnvironment.js';
@@ -26,8 +27,6 @@ export { default as GridGenerator } from './GridsGenerator.js';
26
27
  export { default as HdrPlaylistRenderer } from './HdrPlaylistRenderer.js';
27
28
  export { ImageGeometry } from './ImageGeometry.js';
28
29
  export { default as Lensflare, createFlareTexture } from './Lensflare.js';
29
- export { default as Letter } from './Letter.js';
30
- export { default as Letters } from './Letters.js';
31
30
  export { default as LightObject } from './LightObject.js';
32
31
  export { default as LightsManager } from './LightsManager.js';
33
32
  export { default as Lines } from './Lines.js';
@@ -88,8 +87,6 @@ export { default as MoonDisc } from './MoonDisc.js';
88
87
  export { default as SkyStars } from './SkyStars.js';
89
88
  export { default as TerrainBuilder } from './TerrainBuilder.js';
90
89
  export { default as OceanBuilder } from './OceanBuilder.js';
91
- export { default as Text2D } from './Text2D.js';
92
- export { default as Text3D } from './Text3D.js';
93
90
  export { VolumePoints } from './VolumePoints.js';
94
91
  // --------------------------------------------------- geometry utilities
95
92
  // GeometryShape also declares edges3D/contour2D, byte-identical to the ones in
@@ -12,6 +12,11 @@ export interface BioluminescentWakeParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const BioluminescentWakeParticles: React.FC<BioluminescentWakeParticlesProps>;
16
21
  export default BioluminescentWakeParticles;
17
22
  //# sourceMappingURL=BioluminescentWakeParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BioluminescentWakeParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/BioluminescentWakeParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMlH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,gCAAiC,SAAQ,gBAAgB;IACtE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iCAAiC,CAAC;IAC1C,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA09BD,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAqD3E,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"BioluminescentWakeParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/BioluminescentWakeParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMlH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,gCAAiC,SAAQ,gBAAgB;IACtE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iCAAiC,CAAC;IAC1C,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAqID,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAwC,CAAC;AAq1B5D,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAqD3E,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -133,7 +133,8 @@ const ANCHOR = [0, -0.035, 0];
133
133
  // seconds of water motion per trail second, per trail type (cells drift a few cm/s; a flash lasts 0.2 s)
134
134
  const TRAIL_SCALE = { streak: 3.5, comet: 2.5, echo: 1 };
135
135
  const TRAIL_GAIN = { streak: 0.55, comet: 1, echo: 3.5 }; // even out the three looks
136
- const BOUNDS = { center: [0, -0.1, 0], radius: 1.5 };
136
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
137
+ export const BOUNDS = { center: [0, -0.1, 0], radius: 1.5 };
137
138
  function createUniforms() {
138
139
  const pebbles = [];
139
140
  for (let i = 0; i < MAX_PEBBLES; i++)
@@ -12,6 +12,11 @@ export interface BrownianDustParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the room box's bounding sphere. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const BrownianDustParticles: React.FC<BrownianDustParticlesProps>;
16
21
  export default BrownianDustParticles;
17
22
  //# sourceMappingURL=BrownianDustParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrownianDustParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/BrownianDustParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAChE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,2BAA2B,CAAC;IACpC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA4qBD,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAqD/D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"BrownianDustParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/BrownianDustParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAChE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,2BAA2B,CAAC;IACpC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA0DD,qFAAqF;AACrF,eAAO,MAAM,MAAM;;;CAAmF,CAAC;AAmnBvG,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAqD/D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -58,6 +58,8 @@ function colorUniform(hex) {
58
58
  }
59
59
  const POINTER_MODES = ['hand', 'torch', 'charge'];
60
60
  const BX = 1, BY0 = 0.02, BY1 = 1.6, BZ = 1; // room box (sim units)
61
+ /** Selection / pick volume in sim units (× size): the room box's bounding sphere. */
62
+ export const BOUNDS = { center: [0, (BY0 + BY1) / 2, 0], radius: Math.hypot(BX, (BY1 - BY0) / 2, BZ) };
61
63
  const GAMMA = 2.5; // Stokes drag rate (1/s)
62
64
  const KT = 4e-4; // kT at temperature 1 (velocity variance)
63
65
  const H_MAX = 1 / 30;
@@ -12,6 +12,11 @@ export interface ChladniSandParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const ChladniSandParticles: React.FC<ChladniSandParticlesProps>;
16
21
  export default ChladniSandParticles;
17
22
  //# sourceMappingURL=ChladniSandParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChladniSandParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ChladniSandParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,0BAA0B,CAAC;IACnC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAsvBD,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAqD7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"ChladniSandParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ChladniSandParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,0BAA0B,CAAC;IACnC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA6HD,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAsC,CAAC;AAynB1D,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAqD7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -125,7 +125,8 @@ const SWEEP_T = 46; // seconds per sweep cycle
125
125
  const RING_UP = 0.45; // mode amplitude time constant (the plate rings up / down)
126
126
  const MAX_TAPS = 4;
127
127
  const NPUFF = 320;
128
- const BOUNDS = { center: [0, 0, 0], radius: 1.55 };
128
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
129
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.55 };
129
130
  const TRAIL_GAIN = { streak: 3, comet: 2.5, echo: 5 };
130
131
  function createUniforms() {
131
132
  return {
@@ -12,6 +12,11 @@ export interface ElectronOrbitalsParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const ElectronOrbitalsParticles: React.FC<ElectronOrbitalsParticlesProps>;
16
21
  export default ElectronOrbitalsParticles;
17
22
  //# sourceMappingURL=ElectronOrbitalsParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElectronOrbitalsParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ElectronOrbitalsParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMhH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB;IACpE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,+BAA+B,CAAC;IACxC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA0xBD,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAqDvE,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"ElectronOrbitalsParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ElectronOrbitalsParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMhH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB;IACpE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,+BAA+B,CAAC;IACxC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAsHD,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAqC,CAAC;AAoqBzD,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAqDvE,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -119,7 +119,8 @@ const stateOptions = () => Object.fromEntries(STATES.map((k) => [stateLabel(k),
119
119
  const NR = 1024, NT = 512;
120
120
  const TS = 12; // atomic time units per second at timeScale 1
121
121
  const H_STEP = 1 / 45;
122
- const BOUNDS = { center: [0, 0, 0], radius: 1.2 };
122
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
123
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.2 };
123
124
  const MAX_PHOT = 24;
124
125
  function parseState(k) {
125
126
  const n = +k[0], l = L_OF[k[1]], m = +(k.slice(2).replace('+', '')) || 0;
@@ -12,6 +12,11 @@ export interface FaradayPowderParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const FaradayPowderParticles: React.FC<FaradayPowderParticlesProps>;
16
21
  export default FaradayPowderParticles;
17
22
  //# sourceMappingURL=FaradayPowderParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FaradayPowderParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/FaradayPowderParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACjE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,4BAA4B,CAAC;IACrC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAypBD,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAqDjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"FaradayPowderParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/FaradayPowderParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACjE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,4BAA4B,CAAC;IACrC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA0HD,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAsC,CAAC;AA+hB1D,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAqDjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -122,7 +122,8 @@ const SWEEP_T = 46; // seconds per sweep cycle
122
122
  const RING_UP = 0.45; // mode amplitude time constant (the plate rings up / down)
123
123
  const MAX_TAPS = 4;
124
124
  const NPUFF = 320;
125
- const BOUNDS = { center: [0, 0, 0], radius: 1.55 };
125
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
126
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.55 };
126
127
  const TRAIL_GAIN = { streak: 1.6, comet: 1.3, echo: 4 };
127
128
  function createUniforms() {
128
129
  return {
@@ -12,6 +12,11 @@ export interface GrinderSparksParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const GrinderSparksParticles: React.FC<GrinderSparksParticlesProps>;
16
21
  export default GrinderSparksParticles;
17
22
  //# sourceMappingURL=GrinderSparksParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GrinderSparksParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/GrinderSparksParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACjE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,4BAA4B,CAAC;IACrC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA8pBD,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAqDjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"GrinderSparksParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/GrinderSparksParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACjE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,4BAA4B,CAAC;IACrC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA4ID,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAA0C,CAAC;AAkhB9D,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAqDjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -139,7 +139,8 @@ const TR_MODE = { streak: TR, comet: 0.03, echo: 0.04 }; // arcs and smoulder lo
139
139
  // the editor's selection box and gizmo centre on the visible spray, not on the wheel.
140
140
  const C0 = [-1.3, 0.95, 0]; // contact point at rest (m)
141
141
  const SPRAY_MID = [-0.4, 0.6, 0];
142
- const BOUNDS = { center: [-0.2, 0.7, 0], radius: 2.3 };
142
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
143
+ export const BOUNDS = { center: [-0.2, 0.7, 0], radius: 2.3 };
143
144
  const RHO_C = 7800 * 600; // steel density x heat capacity
144
145
  const SIGMA = 5.67e-8, EPS = 0.8, T_AIR = 300;
145
146
  const EL0 = -0.26; // rest elevation of the fan (rad)
@@ -12,6 +12,11 @@ export interface MagneticBottleParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const MagneticBottleParticles: React.FC<MagneticBottleParticlesProps>;
16
21
  export default MagneticBottleParticles;
17
22
  //# sourceMappingURL=MagneticBottleParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagneticBottleParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/MagneticBottleParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,4BAA6B,SAAQ,gBAAgB;IAClE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,6BAA6B,CAAC;IACtC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA6gBD,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAuDnE,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"MagneticBottleParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/MagneticBottleParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,4BAA6B,SAAQ,gBAAgB;IAClE,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,6BAA6B,CAAC;IACtC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAmHD,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAsC,CAAC;AA0Z1D,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAuDnE,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -116,7 +116,8 @@ const H_STEP = 1 / 120;
116
116
  const V0 = 0.9; // speed along the orbit (units / s) at speed 1
117
117
  const TRAIL_LOOK = { streak: 0.25, comet: 1, echo: 1 };
118
118
  const TRAIL_ALPHA = { streak: 1.6, comet: 2, echo: 3 };
119
- const BOUNDS = { center: [0, 0, 0], radius: 1.25 };
119
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
120
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.25 };
120
121
  function createUniforms() {
121
122
  return {
122
123
  uTime: { value: 0 },
@@ -12,6 +12,11 @@ export interface NeonRainParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const NeonRainParticles: React.FC<NeonRainParticlesProps>;
16
21
  export default NeonRainParticles;
17
22
  //# sourceMappingURL=NeonRainParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonRainParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/NeonRainParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC5D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;IAChC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAinBD,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqDvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"NeonRainParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/NeonRainParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC5D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;IAChC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA4HD,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAsC,CAAC;AAqf1D,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqDvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -124,7 +124,8 @@ const H_STEP = 1 / 60;
124
124
  const GRAV = 9.81;
125
125
  const TR_MODE = { streak: 0.04, comet: 0.06, echo: 0.08 }; // physics seconds per trail unit
126
126
  const TRAIL_GAIN = { streak: 3, comet: 3.5, echo: 4.5 };
127
- const BOUNDS = { center: [0, 0, 0], radius: 1.75 };
127
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
128
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.75 };
128
129
  // neon light sources behind the rain (never drawn): segments [x0, y0, x1, y1, colour index], and a ring [cx, cy, r, colour]
129
130
  const SEGS = [[-0.9, -0.35, -0.9, 0.65, 0]];
130
131
  const RING = [0.78, 0.2, 0.3, 1];
@@ -12,6 +12,11 @@ export interface ShapeBurstParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const ShapeBurstParticles: React.FC<ShapeBurstParticlesProps>;
16
21
  export default ShapeBurstParticles;
17
22
  //# sourceMappingURL=ShapeBurstParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShapeBurstParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ShapeBurstParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAC9D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,yBAAyB,CAAC;IAClC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA4eD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAuD3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ShapeBurstParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ShapeBurstParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAC9D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,yBAAyB,CAAC;IAClC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA8HD,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAqC,CAAC;AA8WzD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAuD3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -126,7 +126,8 @@ const H_STEP = 1 / 120;
126
126
  const W_PER_FIELD = 4.2; // cyclotron rate (rad / s) per unit field
127
127
  const TRAIL_LOOK = { streak: 0.12, comet: 1, echo: 1 };
128
128
  const TRAIL_ALPHA = { streak: 1.4, comet: 1.6, echo: 2.4 };
129
- const BOUNDS = { center: [0, 0, 0], radius: 1.3 };
129
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
130
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.3 };
130
131
  const FADE = 1.2; // seconds of dissolve
131
132
  const INK_EVERY = 1; // particles that draw lines (1 = all)
132
133
  const INK_SPACING = 0.006;
@@ -12,6 +12,11 @@ export interface ShapeFlowParticlesProps extends ObjectReadyProps {
12
12
  /** Per-domain keyframes; the `particles` domain drives this object's config knobs. */
13
13
  animations?: ObjectAnimations;
14
14
  }
15
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
16
+ export declare const BOUNDS: {
17
+ center: number[];
18
+ radius: number;
19
+ };
15
20
  declare const ShapeFlowParticles: React.FC<ShapeFlowParticlesProps>;
16
21
  export default ShapeFlowParticles;
17
22
  //# sourceMappingURL=ShapeFlowParticles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShapeFlowParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ShapeFlowParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOzG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC7D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,wBAAwB,CAAC;IACjC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAumBD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuDzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ShapeFlowParticles.d.ts","sourceRoot":"","sources":["../../../src/components/particles/ShapeFlowParticles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOzG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC7D,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,wEAAwE;IACxE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,wBAAwB,CAAC;IACjC,sFAAsF;IACtF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAsID,gHAAgH;AAChH,eAAO,MAAM,MAAM;;;CAAqC,CAAC;AAiezD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuDzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -134,7 +134,8 @@ const GX = 56, GY = 40, GZ = 40; // base-flow grid
134
134
  const DELTA = 0.32; // boundary-layer thickness for the potential ramp
135
135
  const TRAIL_LOOK = { streak: 0.35, comet: 1, echo: 1 };
136
136
  const TRAIL_ALPHA = { streak: 1.8, comet: 2, echo: 2.6 };
137
- const BOUNDS = { center: [0, 0, 0], radius: 1.6 };
137
+ /** Selection / pick volume in sim units (× size): the off-screen culling sphere and the hover / click proxy. */
138
+ export const BOUNDS = { center: [0, 0, 0], radius: 1.6 };
138
139
  function createUniforms() {
139
140
  return {
140
141
  uTime: { value: 0 },