bloody-engine 1.1.5 → 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.
@@ -42,19 +42,27 @@ class NodeRenderingContext {
42
42
  this.glContext.flush();
43
43
  }
44
44
  isWebGL2() {
45
- return this.glContext instanceof WebGL2RenderingContext;
45
+ const glAny = this.glContext;
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;
46
52
  }
47
53
  supportsInstancing() {
48
- if (!this.isWebGL2()) {
49
- return false;
54
+ const glAny = this.glContext;
55
+ const hasDirectMethods = glAny.drawArraysInstanced !== void 0 && glAny.vertexAttribDivisor !== void 0;
56
+ if (hasDirectMethods) {
57
+ return true;
50
58
  }
51
- const gl2 = this.glContext;
52
- return gl2.drawArraysInstanced !== void 0 && gl2.vertexAttribDivisor !== void 0;
59
+ if (glAny.getSupportedExtensions) {
60
+ const extensions = glAny.getSupportedExtensions();
61
+ return extensions.includes("ANGLE_instanced_arrays");
62
+ }
63
+ return false;
53
64
  }
54
65
  getWebGL2Context() {
55
- if (!this.isWebGL2()) {
56
- throw new Error("WebGL2 context not available");
57
- }
58
66
  return this.glContext;
59
67
  }
60
68
  /**
@@ -333,6 +341,7 @@ class GraphicsDevice {
333
341
  /**
334
342
  * Get WebGL2 context (for advanced features)
335
343
  * Throws if WebGL2 is not available
344
+ * Returns 'any' to support Node.js environments where WebGL2RenderingContext type may not be defined
336
345
  */
337
346
  getWebGL2Context() {
338
347
  return this.context.getWebGL2Context();
@@ -2756,7 +2765,11 @@ class GPUBasedSpriteBatchRenderer {
2756
2765
  this.maxQuads = maxQuads;
2757
2766
  this.tileSize = tileSize;
2758
2767
  this.zScale = zScale;
2759
- 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
+ };
2760
2773
  this.depthSorter = new DepthSorter({ cellSize: spatialCellSize });
2761
2774
  const totalFloats = maxQuads * this.verticesPerQuad * this.floatsPerVertex;
2762
2775
  this.vertexData = new Float32Array(totalFloats);
@@ -3055,13 +3068,14 @@ class RingBuffer {
3055
3068
  this.frameIndex = 0;
3056
3069
  this.fenceSync = null;
3057
3070
  this.pendingFrames = [];
3071
+ this.useFallbackMode = false;
3072
+ this.fallbackBuffer = null;
3058
3073
  this.ALIGNMENT = 256;
3059
3074
  this.FRAME_COUNT = 3;
3060
- if (!(options.gl instanceof WebGL2RenderingContext)) {
3061
- throw new Error("RingBuffer requires WebGL2 context");
3062
- }
3063
3075
  this.gl = options.gl;
3064
3076
  this.size = options.size;
3077
+ const glAny = options.gl;
3078
+ this.useFallbackMode = typeof glAny.mapBufferRange !== "function";
3065
3079
  this.buffer = this.gl.createBuffer();
3066
3080
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.buffer);
3067
3081
  this.gl.bufferData(
@@ -3069,19 +3083,22 @@ class RingBuffer {
3069
3083
  this.size,
3070
3084
  options.usage ?? this.gl.DYNAMIC_DRAW
3071
3085
  );
3072
- const glAny = this.gl;
3073
- const MAP_WRITE_BIT2 = 2;
3074
- const MAP_PERSISTENT_BIT2 = 64;
3075
- const MAP_COHERENT_BIT2 = 128;
3076
- const flags = MAP_WRITE_BIT2 | MAP_PERSISTENT_BIT2 | MAP_COHERENT_BIT2;
3077
- this.mappedPtr = glAny.mapBufferRange(
3078
- this.gl.ARRAY_BUFFER,
3079
- 0,
3080
- this.size,
3081
- flags
3082
- );
3083
- if (!this.mappedPtr) {
3084
- 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
+ }
3085
3102
  }
3086
3103
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
3087
3104
  }
@@ -3109,7 +3126,7 @@ class RingBuffer {
3109
3126
  const region = {
3110
3127
  offset: this.writeOffset,
3111
3128
  size: alignedSize,
3112
- 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),
3113
3130
  frameIndex: this.frameIndex
3114
3131
  };
3115
3132
  this.writeOffset += alignedSize;
@@ -3121,6 +3138,18 @@ class RingBuffer {
3121
3138
  */
3122
3139
  advanceFrame() {
3123
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
+ }
3124
3153
  const SYNC_GPU_COMMANDS_COMPLETE = 37143;
3125
3154
  this.fenceSync = glAny.fenceSync(SYNC_GPU_COMMANDS_COMPLETE, 0);
3126
3155
  if (!this.fenceSync) {
@@ -3219,6 +3248,29 @@ class RingBuffer {
3219
3248
  this.gl.deleteBuffer(this.buffer);
3220
3249
  }
3221
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
+ }
3222
3274
  class InstancedRenderer {
3223
3275
  constructor(gl, shader, options = {}) {
3224
3276
  this.texture = null;
@@ -3226,9 +3278,11 @@ class InstancedRenderer {
3226
3278
  this.depthTestEnabled = true;
3227
3279
  this.lastFrameDrawCalls = 0;
3228
3280
  this.lastFrameInstanceCount = 0;
3229
- if (!(gl instanceof WebGL2RenderingContext)) {
3230
- throw new Error("InstancedRenderer requires WebGL2 context");
3281
+ const methods = getInstancingMethods(gl);
3282
+ if (!methods) {
3283
+ throw new Error("InstancedRenderer requires WebGL2 context with instancing support (ANGLE_instanced_arrays)");
3231
3284
  }
3285
+ this.instancingMethods = methods;
3232
3286
  this.gl = gl;
3233
3287
  this.shader = shader;
3234
3288
  this.maxInstances = options.maxInstances ?? 1e4;
@@ -3427,7 +3481,7 @@ class InstancedRenderer {
3427
3481
  }
3428
3482
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.instanceBufferWebGL);
3429
3483
  this.setupInstanceAttributes(region.offset);
3430
- this.gl.drawArraysInstanced(
3484
+ this.instancingMethods.drawArraysInstanced(
3431
3485
  this.gl.TRIANGLES,
3432
3486
  0,
3433
3487
  6,
@@ -3442,42 +3496,41 @@ class InstancedRenderer {
3442
3496
  setupInstanceAttributes(offset) {
3443
3497
  const stride = this.instanceStride * 4;
3444
3498
  const baseOffset = offset;
3445
- const glAny = this.gl;
3446
3499
  const gridAttr = this.shader.getAttributeLocation("aGridPosition");
3447
3500
  if (gridAttr !== -1) {
3448
3501
  this.gl.enableVertexAttribArray(gridAttr);
3449
3502
  this.gl.vertexAttribPointer(gridAttr, 2, this.gl.FLOAT, false, stride, baseOffset);
3450
- glAny.vertexAttribDivisor(gridAttr, 1);
3503
+ this.instancingMethods.vertexAttribDivisor(gridAttr, 1);
3451
3504
  }
3452
3505
  const zAttr = this.shader.getAttributeLocation("aZPosition");
3453
3506
  if (zAttr !== -1) {
3454
3507
  this.gl.enableVertexAttribArray(zAttr);
3455
3508
  this.gl.vertexAttribPointer(zAttr, 1, this.gl.FLOAT, false, stride, baseOffset + 2 * 4);
3456
- glAny.vertexAttribDivisor(zAttr, 1);
3509
+ this.instancingMethods.vertexAttribDivisor(zAttr, 1);
3457
3510
  }
3458
3511
  const colorAttr = this.shader.getAttributeLocation("aColor");
3459
3512
  if (colorAttr !== -1) {
3460
3513
  this.gl.enableVertexAttribArray(colorAttr);
3461
3514
  this.gl.vertexAttribPointer(colorAttr, 4, this.gl.FLOAT, false, stride, baseOffset + 3 * 4);
3462
- glAny.vertexAttribDivisor(colorAttr, 1);
3515
+ this.instancingMethods.vertexAttribDivisor(colorAttr, 1);
3463
3516
  }
3464
3517
  const texAttr = this.shader.getAttributeLocation("aTexIndex");
3465
3518
  if (texAttr !== -1) {
3466
3519
  this.gl.enableVertexAttribArray(texAttr);
3467
3520
  this.gl.vertexAttribPointer(texAttr, 1, this.gl.FLOAT, false, stride, baseOffset + 7 * 4);
3468
- glAny.vertexAttribDivisor(texAttr, 1);
3521
+ this.instancingMethods.vertexAttribDivisor(texAttr, 1);
3469
3522
  }
3470
3523
  const uvOffsetAttr = this.shader.getAttributeLocation("aUVOffset");
3471
3524
  if (uvOffsetAttr !== -1) {
3472
3525
  this.gl.enableVertexAttribArray(uvOffsetAttr);
3473
3526
  this.gl.vertexAttribPointer(uvOffsetAttr, 2, this.gl.FLOAT, false, stride, baseOffset + 8 * 4);
3474
- glAny.vertexAttribDivisor(uvOffsetAttr, 1);
3527
+ this.instancingMethods.vertexAttribDivisor(uvOffsetAttr, 1);
3475
3528
  }
3476
3529
  const sizeAttr = this.shader.getAttributeLocation("aSize");
3477
3530
  if (sizeAttr !== -1) {
3478
3531
  this.gl.enableVertexAttribArray(sizeAttr);
3479
3532
  this.gl.vertexAttribPointer(sizeAttr, 2, this.gl.FLOAT, false, stride, baseOffset + 10 * 4);
3480
- glAny.vertexAttribDivisor(sizeAttr, 1);
3533
+ this.instancingMethods.vertexAttribDivisor(sizeAttr, 1);
3481
3534
  }
3482
3535
  }
3483
3536
  /**
@@ -73,7 +73,8 @@ export declare class GraphicsDevice {
73
73
  /**
74
74
  * Get WebGL2 context (for advanced features)
75
75
  * Throws if WebGL2 is not available
76
+ * Returns 'any' to support Node.js environments where WebGL2RenderingContext type may not be defined
76
77
  */
77
- getWebGL2Context(): WebGL2RenderingContext;
78
+ getWebGL2Context(): any;
78
79
  }
79
80
  //# sourceMappingURL=grahpic-device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grahpic-device.d.ts","sourceRoot":"","sources":["../../../../src/core/grahpic-device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmB;gBAEtB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IASzC;;OAEG;IACH,YAAY,IAAI,qBAAqB;IAIrC;;OAEG;IACH,mBAAmB,IAAI,gBAAgB;IAIvC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIhD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,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;IAInE;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;;;;OAKG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM;IASlE;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;;OAGG;IACH,gBAAgB,IAAI,sBAAsB;CAG3C"}
1
+ {"version":3,"file":"grahpic-device.d.ts","sourceRoot":"","sources":["../../../../src/core/grahpic-device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmB;gBAEtB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IASzC;;OAEG;IACH,YAAY,IAAI,qBAAqB;IAIrC;;OAEG;IACH,mBAAmB,IAAI,gBAAgB;IAIvC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIhD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,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;IAInE;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;;;;OAKG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM;IASlE;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;;;OAIG;IACH,gBAAgB,IAAI,GAAG;CAGxB"}
@@ -24,7 +24,7 @@ export declare class NodeRenderingContext implements RenderingContext {
24
24
  dispose(): void;
25
25
  isWebGL2(): boolean;
26
26
  supportsInstancing(): boolean;
27
- getWebGL2Context(): WebGL2RenderingContext;
27
+ getWebGL2Context(): any;
28
28
  /**
29
29
  * Read the current framebuffer contents as RGBA pixel data
30
30
  * Used for capturing frames for display or saving
@@ -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;IAKnB,kBAAkB,IAAI,OAAO;IAW7B,gBAAgB,IAAI,sBAAsB;IAO1C;;;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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"}
@@ -46,7 +46,8 @@ export declare class HybridRenderer {
46
46
  private frameCount;
47
47
  private lastFpsCheck;
48
48
  private performanceHistory;
49
- constructor(gl: WebGL2RenderingContext, instancedShader: Shader, batchShader: Shader, options?: HybridRendererOptions);
49
+ constructor(gl: any, // Accept 'any' for Node.js compatibility
50
+ instancedShader: Shader, batchShader: Shader, options?: HybridRendererOptions);
50
51
  /**
51
52
  * Add a sprite for rendering
52
53
  * Automatically determines which renderer to use
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-renderer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/hybrid-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,OAAO,CAKb;IAGF,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,kBAAkB,CAAgB;gBAGxC,EAAE,EAAE,sBAAsB,EAC1B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B;IAuBrC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAsB3C;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAIvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAKzC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK3C;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAuBrC;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/C;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"hybrid-renderer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/hybrid-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,OAAO,CAKb;IAGF,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,kBAAkB,CAAgB;gBAGxC,EAAE,EAAE,GAAG,EAAE,yCAAyC;IAClD,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B;IAuBrC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAsB3C;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAIvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAKzC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK3C;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAuBrC;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/C;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
@@ -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;
@@ -71,7 +72,7 @@ export declare class InstancedRenderer {
71
72
  private zScale;
72
73
  private lastFrameDrawCalls;
73
74
  private lastFrameInstanceCount;
74
- constructor(gl: WebGL2RenderingContext, shader: Shader, options?: InstancedRendererOptions);
75
+ constructor(gl: any, shader: Shader, options?: InstancedRendererOptions);
75
76
  /**
76
77
  * Create static quad geometry (shared across all instances)
77
78
  */
@@ -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":"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"}
@@ -58,8 +58,9 @@ export interface RenderingContext {
58
58
  supportsInstancing(): boolean;
59
59
  /**
60
60
  * Get WebGL2 context (throws if not WebGL2)
61
+ * Returns 'any' to support Node.js environments where WebGL2RenderingContext type may not be defined
61
62
  */
62
- getWebGL2Context(): WebGL2RenderingContext;
63
+ getWebGL2Context(): any;
63
64
  }
64
65
  /**
65
66
  * Context creation options
@@ -1 +1 @@
1
- {"version":3,"file":"rendering-context.d.ts","sourceRoot":"","sources":["../../../../src/rendering/rendering-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC;IAEjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjD;;OAEG;IACH,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,CAAC;IAEpE;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC;IAE9B;;OAEG;IACH,gBAAgB,IAAI,sBAAsB,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAE3C;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"rendering-context.d.ts","sourceRoot":"","sources":["../../../../src/rendering/rendering-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC;IAEjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjD;;OAEG;IACH,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,CAAC;IAEpE;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,IAAI,GAAG,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAE3C;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -30,8 +30,8 @@ export interface RingBufferRegion {
30
30
  export interface RingBufferOptions {
31
31
  /** Buffer size in bytes (should be multiple of frame size * 3) */
32
32
  size: number;
33
- /** WebGL2 rendering context */
34
- gl: WebGL2RenderingContext;
33
+ /** WebGL2 rendering context (accepts 'any' for Node.js compatibility) */
34
+ gl: any;
35
35
  /** Usage hint (DYNAMIC_DRAW for frequent updates) */
36
36
  usage?: number;
37
37
  /** Enable triple buffering (default true) */
@@ -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,+BAA+B;IAC/B,EAAE,EAAE,sBAAsB,CAAC;IAC3B,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,CAAyB;IACnC,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.5",
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",