bloody-engine 1.1.6 → 1.1.7

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.
@@ -43,11 +43,24 @@ class NodeRenderingContext {
43
43
  }
44
44
  isWebGL2() {
45
45
  const glAny = this.glContext;
46
- return glAny.drawBuffers !== void 0 && glAny.getBufferSubData !== void 0;
46
+ const hasWebGL2Features = glAny.drawBuffers !== void 0 && glAny.getBufferSubData !== void 0;
47
+ if (!hasWebGL2Features && glAny.getSupportedExtensions) {
48
+ const extensions = glAny.getSupportedExtensions();
49
+ return extensions.includes("WEBGL_draw_buffers");
50
+ }
51
+ return hasWebGL2Features;
47
52
  }
48
53
  supportsInstancing() {
49
54
  const glAny = this.glContext;
50
- return glAny.drawArraysInstanced !== void 0 && glAny.vertexAttribDivisor !== void 0;
55
+ const hasDirectMethods = glAny.drawArraysInstanced !== void 0 && glAny.vertexAttribDivisor !== void 0;
56
+ if (hasDirectMethods) {
57
+ return true;
58
+ }
59
+ if (glAny.getSupportedExtensions) {
60
+ const extensions = glAny.getSupportedExtensions();
61
+ return extensions.includes("ANGLE_instanced_arrays");
62
+ }
63
+ return false;
51
64
  }
52
65
  getWebGL2Context() {
53
66
  return this.glContext;
@@ -2752,7 +2765,11 @@ class GPUBasedSpriteBatchRenderer {
2752
2765
  this.maxQuads = maxQuads;
2753
2766
  this.tileSize = tileSize;
2754
2767
  this.zScale = zScale;
2755
- this.resolution = { width: gl.canvas.width, height: gl.canvas.height };
2768
+ const glAny = gl;
2769
+ this.resolution = {
2770
+ width: glAny.canvas?.width || glAny.drawingBufferWidth || 800,
2771
+ height: glAny.canvas?.height || glAny.drawingBufferHeight || 600
2772
+ };
2756
2773
  this.depthSorter = new DepthSorter({ cellSize: spatialCellSize });
2757
2774
  const totalFloats = maxQuads * this.verticesPerQuad * this.floatsPerVertex;
2758
2775
  this.vertexData = new Float32Array(totalFloats);
@@ -3051,14 +3068,14 @@ class RingBuffer {
3051
3068
  this.frameIndex = 0;
3052
3069
  this.fenceSync = null;
3053
3070
  this.pendingFrames = [];
3071
+ this.useFallbackMode = false;
3072
+ this.fallbackBuffer = null;
3054
3073
  this.ALIGNMENT = 256;
3055
3074
  this.FRAME_COUNT = 3;
3056
- const glAny = options.gl;
3057
- if (!glAny || typeof glAny.mapBufferRange !== "function") {
3058
- throw new Error("RingBuffer requires WebGL2 context with mapBufferRange support");
3059
- }
3060
3075
  this.gl = options.gl;
3061
3076
  this.size = options.size;
3077
+ const glAny = options.gl;
3078
+ this.useFallbackMode = typeof glAny.mapBufferRange !== "function";
3062
3079
  this.buffer = this.gl.createBuffer();
3063
3080
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.buffer);
3064
3081
  this.gl.bufferData(
@@ -3066,18 +3083,22 @@ class RingBuffer {
3066
3083
  this.size,
3067
3084
  options.usage ?? this.gl.DYNAMIC_DRAW
3068
3085
  );
3069
- const MAP_WRITE_BIT2 = 2;
3070
- const MAP_PERSISTENT_BIT2 = 64;
3071
- const MAP_COHERENT_BIT2 = 128;
3072
- const flags = MAP_WRITE_BIT2 | MAP_PERSISTENT_BIT2 | MAP_COHERENT_BIT2;
3073
- this.mappedPtr = glAny.mapBufferRange(
3074
- this.gl.ARRAY_BUFFER,
3075
- 0,
3076
- this.size,
3077
- flags
3078
- );
3079
- if (!this.mappedPtr) {
3080
- throw new Error("Failed to map ring buffer persistently");
3086
+ if (this.useFallbackMode) {
3087
+ this.fallbackBuffer = new Float32Array(this.size / 4);
3088
+ } else {
3089
+ const MAP_WRITE_BIT2 = 2;
3090
+ const MAP_PERSISTENT_BIT2 = 64;
3091
+ const MAP_COHERENT_BIT2 = 128;
3092
+ const flags = MAP_WRITE_BIT2 | MAP_PERSISTENT_BIT2 | MAP_COHERENT_BIT2;
3093
+ this.mappedPtr = glAny.mapBufferRange(
3094
+ this.gl.ARRAY_BUFFER,
3095
+ 0,
3096
+ this.size,
3097
+ flags
3098
+ );
3099
+ if (!this.mappedPtr) {
3100
+ throw new Error("Failed to map ring buffer persistently");
3101
+ }
3081
3102
  }
3082
3103
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
3083
3104
  }
@@ -3105,7 +3126,7 @@ class RingBuffer {
3105
3126
  const region = {
3106
3127
  offset: this.writeOffset,
3107
3128
  size: alignedSize,
3108
- view: new Float32Array(this.mappedPtr, this.writeOffset / 4, byteSize / 4),
3129
+ view: this.useFallbackMode ? this.fallbackBuffer.subarray(this.writeOffset / 4, this.writeOffset / 4 + byteSize / 4) : new Float32Array(this.mappedPtr, this.writeOffset / 4, byteSize / 4),
3109
3130
  frameIndex: this.frameIndex
3110
3131
  };
3111
3132
  this.writeOffset += alignedSize;
@@ -3117,6 +3138,18 @@ class RingBuffer {
3117
3138
  */
3118
3139
  advanceFrame() {
3119
3140
  const glAny = this.gl;
3141
+ if (this.useFallbackMode && this.fallbackBuffer) {
3142
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.buffer);
3143
+ this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, this.fallbackBuffer);
3144
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
3145
+ }
3146
+ if (!glAny.fenceSync) {
3147
+ this.frameIndex++;
3148
+ if (this.writeOffset > this.size * 0.9) {
3149
+ this.writeOffset = 0;
3150
+ }
3151
+ return;
3152
+ }
3120
3153
  const SYNC_GPU_COMMANDS_COMPLETE = 37143;
3121
3154
  this.fenceSync = glAny.fenceSync(SYNC_GPU_COMMANDS_COMPLETE, 0);
3122
3155
  if (!this.fenceSync) {
@@ -3215,6 +3248,29 @@ class RingBuffer {
3215
3248
  this.gl.deleteBuffer(this.buffer);
3216
3249
  }
3217
3250
  }
3251
+ function getInstancingMethods(gl) {
3252
+ if (gl.drawArraysInstanced && gl.vertexAttribDivisor) {
3253
+ return {
3254
+ drawArraysInstanced: gl.drawArraysInstanced.bind(gl),
3255
+ drawElementsInstanced: gl.drawElementsInstanced?.bind(gl) || gl.drawArraysInstanced.bind(gl),
3256
+ vertexAttribDivisor: gl.vertexAttribDivisor.bind(gl)
3257
+ };
3258
+ }
3259
+ const ext = gl.getExtension("ANGLE_instanced_arrays");
3260
+ if (ext) {
3261
+ const drawArrays = ext.drawArraysInstanced || ext._drawArraysInstanced;
3262
+ const drawElements = ext.drawElementsInstanced || ext._drawElementsInstanced;
3263
+ const divisor = ext.vertexAttribDivisor || ext._vertexAttribDivisor;
3264
+ if (drawArrays && divisor) {
3265
+ return {
3266
+ drawArraysInstanced: drawArrays.bind(ext),
3267
+ drawElementsInstanced: drawElements?.bind(ext) || drawArrays.bind(ext),
3268
+ vertexAttribDivisor: divisor.bind(ext)
3269
+ };
3270
+ }
3271
+ }
3272
+ return null;
3273
+ }
3218
3274
  class InstancedRenderer {
3219
3275
  constructor(gl, shader, options = {}) {
3220
3276
  this.texture = null;
@@ -3222,10 +3278,11 @@ class InstancedRenderer {
3222
3278
  this.depthTestEnabled = true;
3223
3279
  this.lastFrameDrawCalls = 0;
3224
3280
  this.lastFrameInstanceCount = 0;
3225
- const glAny = gl;
3226
- if (!glAny || typeof glAny.drawArraysInstanced !== "function") {
3227
- throw new Error("InstancedRenderer requires WebGL2 context with instancing support");
3281
+ const methods = getInstancingMethods(gl);
3282
+ if (!methods) {
3283
+ throw new Error("InstancedRenderer requires WebGL2 context with instancing support (ANGLE_instanced_arrays)");
3228
3284
  }
3285
+ this.instancingMethods = methods;
3229
3286
  this.gl = gl;
3230
3287
  this.shader = shader;
3231
3288
  this.maxInstances = options.maxInstances ?? 1e4;
@@ -3424,7 +3481,7 @@ class InstancedRenderer {
3424
3481
  }
3425
3482
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.instanceBufferWebGL);
3426
3483
  this.setupInstanceAttributes(region.offset);
3427
- this.gl.drawArraysInstanced(
3484
+ this.instancingMethods.drawArraysInstanced(
3428
3485
  this.gl.TRIANGLES,
3429
3486
  0,
3430
3487
  6,
@@ -3439,42 +3496,41 @@ class InstancedRenderer {
3439
3496
  setupInstanceAttributes(offset) {
3440
3497
  const stride = this.instanceStride * 4;
3441
3498
  const baseOffset = offset;
3442
- const glAny = this.gl;
3443
3499
  const gridAttr = this.shader.getAttributeLocation("aGridPosition");
3444
3500
  if (gridAttr !== -1) {
3445
3501
  this.gl.enableVertexAttribArray(gridAttr);
3446
3502
  this.gl.vertexAttribPointer(gridAttr, 2, this.gl.FLOAT, false, stride, baseOffset);
3447
- glAny.vertexAttribDivisor(gridAttr, 1);
3503
+ this.instancingMethods.vertexAttribDivisor(gridAttr, 1);
3448
3504
  }
3449
3505
  const zAttr = this.shader.getAttributeLocation("aZPosition");
3450
3506
  if (zAttr !== -1) {
3451
3507
  this.gl.enableVertexAttribArray(zAttr);
3452
3508
  this.gl.vertexAttribPointer(zAttr, 1, this.gl.FLOAT, false, stride, baseOffset + 2 * 4);
3453
- glAny.vertexAttribDivisor(zAttr, 1);
3509
+ this.instancingMethods.vertexAttribDivisor(zAttr, 1);
3454
3510
  }
3455
3511
  const colorAttr = this.shader.getAttributeLocation("aColor");
3456
3512
  if (colorAttr !== -1) {
3457
3513
  this.gl.enableVertexAttribArray(colorAttr);
3458
3514
  this.gl.vertexAttribPointer(colorAttr, 4, this.gl.FLOAT, false, stride, baseOffset + 3 * 4);
3459
- glAny.vertexAttribDivisor(colorAttr, 1);
3515
+ this.instancingMethods.vertexAttribDivisor(colorAttr, 1);
3460
3516
  }
3461
3517
  const texAttr = this.shader.getAttributeLocation("aTexIndex");
3462
3518
  if (texAttr !== -1) {
3463
3519
  this.gl.enableVertexAttribArray(texAttr);
3464
3520
  this.gl.vertexAttribPointer(texAttr, 1, this.gl.FLOAT, false, stride, baseOffset + 7 * 4);
3465
- glAny.vertexAttribDivisor(texAttr, 1);
3521
+ this.instancingMethods.vertexAttribDivisor(texAttr, 1);
3466
3522
  }
3467
3523
  const uvOffsetAttr = this.shader.getAttributeLocation("aUVOffset");
3468
3524
  if (uvOffsetAttr !== -1) {
3469
3525
  this.gl.enableVertexAttribArray(uvOffsetAttr);
3470
3526
  this.gl.vertexAttribPointer(uvOffsetAttr, 2, this.gl.FLOAT, false, stride, baseOffset + 8 * 4);
3471
- glAny.vertexAttribDivisor(uvOffsetAttr, 1);
3527
+ this.instancingMethods.vertexAttribDivisor(uvOffsetAttr, 1);
3472
3528
  }
3473
3529
  const sizeAttr = this.shader.getAttributeLocation("aSize");
3474
3530
  if (sizeAttr !== -1) {
3475
3531
  this.gl.enableVertexAttribArray(sizeAttr);
3476
3532
  this.gl.vertexAttribPointer(sizeAttr, 2, this.gl.FLOAT, false, stride, baseOffset + 10 * 4);
3477
- glAny.vertexAttribDivisor(sizeAttr, 1);
3533
+ this.instancingMethods.vertexAttribDivisor(sizeAttr, 1);
3478
3534
  }
3479
3535
  }
3480
3536
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"node-context.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/node/node-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAS;gBAEf,OAAO,EAAE,uBAAuB;IAiB5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU3C,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIhD,KAAK,CAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IASnE,OAAO,IAAI,IAAI;IAKf,OAAO,IAAI,IAAI;IAOf,QAAQ,IAAI,OAAO;IAQnB,kBAAkB,IAAI,OAAO;IAO7B,gBAAgB,IAAI,GAAG;IAMvB;;;OAGG;IACH,UAAU,IAAI,UAAU;CAazB"}
1
+ {"version":3,"file":"node-context.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/node/node-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAS;gBAEf,OAAO,EAAE,uBAAuB;IAiB5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU3C,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIhD,KAAK,CAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IASnE,OAAO,IAAI,IAAI;IAKf,OAAO,IAAI,IAAI;IAOf,QAAQ,IAAI,OAAO;IAiBnB,kBAAkB,IAAI,OAAO;IAqB7B,gBAAgB,IAAI,GAAG;IAMvB;;;OAGG;IACH,UAAU,IAAI,UAAU;CAazB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * WebGL Extension Helper for Node.js
3
+ *
4
+ * headless-gl provides WebGL2 features through extensions rather than
5
+ * direct context methods. This helper provides unified access to both.
6
+ */
7
+ /**
8
+ * Get instancing extension methods
9
+ * Returns either direct methods or ANGLE_instanced_arrays extension
10
+ * Handles both standard names and headless-gl's underscored names
11
+ */
12
+ export declare function getInstancingMethods(gl: any): {
13
+ drawArraysInstanced: Function;
14
+ drawElementsInstanced: Function;
15
+ vertexAttribDivisor: Function;
16
+ } | null;
17
+ /**
18
+ * Check if instancing is available
19
+ */
20
+ export declare function hasInstancingSupport(gl: any): boolean;
21
+ /**
22
+ * Get WebGL2 buffer mapping methods
23
+ * Returns either direct methods or checks for extension support
24
+ */
25
+ export declare function getBufferMappingMethods(gl: any): {
26
+ mapBufferRange: Function;
27
+ unmapBuffer: Function;
28
+ fenceSync: Function;
29
+ clientWaitSync: Function;
30
+ deleteSync: Function;
31
+ } | null;
32
+ //# sourceMappingURL=webgl-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/node/webgl-extensions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,GAAG,GAAG;IAC7C,mBAAmB,EAAE,QAAQ,CAAC;IAC9B,qBAAqB,EAAE,QAAQ,CAAC;IAChC,mBAAmB,EAAE,QAAQ,CAAC;CAC/B,GAAG,IAAI,CA4BP;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAErD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,GAAG,GAAG;IAChD,cAAc,EAAE,QAAQ,CAAC;IACzB,WAAW,EAAE,QAAQ,CAAC;IACtB,SAAS,EAAE,QAAQ,CAAC;IACpB,cAAc,EAAE,QAAQ,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC;CACtB,GAAG,IAAI,CAeP"}
@@ -1 +1 @@
1
- {"version":3,"file":"batch-renderer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/batch-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-renderer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/batch-renderer.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export declare class InstancedRenderer {
58
58
  private gl;
59
59
  private shader;
60
60
  private texture;
61
+ private instancingMethods;
61
62
  private positionBuffer;
62
63
  private uvBuffer;
63
64
  private instanceBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"instanced-renderer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/instanced-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instanced-renderer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/instanced-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,CAAC,EAAE,MAAM,CAAC;IACV,8BAA8B;IAC9B,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,kBAAkB;IAClB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAcD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAwB;IAGvC,OAAO,CAAC,iBAAiB,CAGvB;IAGF,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAe;IAG/B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAAc;IAGzC,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,kBAAkB,CAAS;IAGnC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,sBAAsB,CAAa;gBAGzC,EAAE,EAAE,GAAG,EACP,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B;IAqCxC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAIzC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAerC;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAQ1B;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA0D9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqD/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI3C;;;OAGG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,UAAU,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAO1D;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB"}
@@ -42,6 +42,8 @@ export interface RingBufferOptions {
42
42
  *
43
43
  * Circular buffer with persistent mapping for efficient GPU streaming.
44
44
  * Uses triple buffering to avoid CPU-GPU synchronization points.
45
+ *
46
+ * Falls back to regular buffer updates if persistent mapping is not available.
45
47
  */
46
48
  export declare class RingBuffer {
47
49
  private gl;
@@ -53,6 +55,8 @@ export declare class RingBuffer {
53
55
  private frameIndex;
54
56
  private fenceSync;
55
57
  private pendingFrames;
58
+ private useFallbackMode;
59
+ private fallbackBuffer;
56
60
  private readonly ALIGNMENT;
57
61
  private readonly FRAME_COUNT;
58
62
  constructor(options: RingBufferOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"ring-buffer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/ring-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,EAAE,EAAE,GAAG,CAAC;IACR,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAWD;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,IAAI,CAAS;IAGrB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAG3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;gBAErB,OAAO,EAAE,iBAAiB;IA0CtC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAsCnD;;;OAGG;IACH,YAAY,IAAI,IAAI;IAmCpB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAmBb;;;OAGG;IACH,SAAS,IAAI,WAAW;IAIxB;;;OAGG;IACH,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO,IAAI,IAAI;CA0BhB"}
1
+ {"version":3,"file":"ring-buffer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/ring-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,EAAE,EAAE,GAAG,CAAC;IACR,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAWD;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,IAAI,CAAS;IAGrB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAG3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;gBAErB,OAAO,EAAE,iBAAiB;IA6CtC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAwCnD;;;OAGG;IACH,YAAY,IAAI,IAAI;IAqDpB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAmBb;;;OAGG;IACH,SAAS,IAAI,WAAW;IAIxB;;;OAGG;IACH,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO,IAAI,IAAI;CA0BhB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bloody-engine",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "A WebGL-based 2.5D graphics engine for isometric rendering",
5
5
  "license": "MIT",
6
6
  "type": "module",