@neutrinoparticles/js-v1.1-phaser 1.1.0 → 1.1.2

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.
@@ -388,10 +388,16 @@ declare module '@neutrinoparticles/js-v1.1-phaser/NeutrinoRenderer' {
388
388
 
389
389
  declare module '@neutrinoparticles/js-v1.1-phaser/DataTextureManager' {
390
390
  /**
391
- * Manages a small ring of RGBA32F WebGL textures that hold the runtime's flat
391
+ * Manages a small ring of RGBA32UI WebGL textures that hold the runtime's flat
392
392
  * particle data buffer. Each frame the current texture is re-uploaded (zero-copy
393
- * from the runtime-owned Uint32Array via a Float32 view) and the ring advances,
394
- * which avoids GPU pipeline stalls from re-uploading into a texture still in use.
393
+ * from the runtime-owned Uint32Array) and the ring advances, which avoids GPU
394
+ * pipeline stalls from re-uploading into a texture still in use.
395
+ *
396
+ * Integer, not float: the record mixes f32 fields with u32-packed words (flags,
397
+ * color, grid config, strip neighbors). Fetched as floats those words are
398
+ * subnormal/NaN patterns a driver may flush or canonicalize — Mali does (issue
399
+ * #348). An integer fetch is bit-exact by spec; the shader reinterprets the f32
400
+ * fields with uintBitsToFloat.
395
401
  *
396
402
  * Unlike the pixi7 adapter this owns raw GL textures directly (no PIXI texture
397
403
  * system), so the exact same class works for both the PIXI v8 and Phaser
@@ -402,9 +408,7 @@ declare module '@neutrinoparticles/js-v1.1-phaser/DataTextureManager' {
402
408
  readonly textureHeight: number;
403
409
  /**
404
410
  * @param gl - WebGL2 context (from the host renderer)
405
- * @param data - Uint32Array from the runtime. A Float32Array view over the
406
- * same buffer is uploaded as RGBA32F — bit patterns (incl. NaN/Inf) pass
407
- * through unchanged.
411
+ * @param data - Uint32Array from the runtime, uploaded as-is as RGBA32UI.
408
412
  * @param textureWidth - from runtime (system.dataTextureWidth)
409
413
  * @param textureHeight - from runtime (system.dataTextureHeight)
410
414
  */