bloody-engine 1.1.7 → 1.1.9

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.
@@ -2871,7 +2871,7 @@ class GPUBasedSpriteBatchRenderer {
2871
2871
  // top-right
2872
2872
  [halfW, halfH],
2873
2873
  // top-right (duplicate)
2874
- [-halfH, halfH],
2874
+ [-halfW, halfH],
2875
2875
  // top-left
2876
2876
  [-halfW, -halfH]
2877
2877
  // bottom-left (duplicate)
@@ -3140,12 +3140,18 @@ class RingBuffer {
3140
3140
  const glAny = this.gl;
3141
3141
  if (this.useFallbackMode && this.fallbackBuffer) {
3142
3142
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.buffer);
3143
- this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, this.fallbackBuffer);
3143
+ const dataSize = this.writeOffset;
3144
+ if (dataSize > 0) {
3145
+ const dataToUpload = this.fallbackBuffer.subarray(0, dataSize / 4);
3146
+ this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, dataToUpload);
3147
+ }
3144
3148
  this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
3145
3149
  }
3146
3150
  if (!glAny.fenceSync) {
3147
3151
  this.frameIndex++;
3148
- if (this.writeOffset > this.size * 0.9) {
3152
+ if (this.useFallbackMode) {
3153
+ this.writeOffset = 0;
3154
+ } else if (this.writeOffset > this.size * 0.9) {
3149
3155
  this.writeOffset = 0;
3150
3156
  }
3151
3157
  return;
@@ -3423,7 +3429,8 @@ class InstancedRenderer {
3423
3429
  let drawCalls = 0;
3424
3430
  let totalInstances = 0;
3425
3431
  for (const batch of this.batches.values()) {
3426
- if (batch.instances.length < this.autoBatchThreshold) {
3432
+ if (batch.instances.length > this.maxInstances) {
3433
+ console.warn(`Batch exceeds maxInstances (${batch.instances.length} > ${this.maxInstances}), skipping`);
3427
3434
  continue;
3428
3435
  }
3429
3436
  this.renderBatch(batch);
@@ -3584,6 +3591,7 @@ class InstancedRenderer {
3584
3591
  }
3585
3592
  class HybridRenderer {
3586
3593
  constructor(gl, instancedShader, batchShader, options = {}) {
3594
+ this.quads = [];
3587
3595
  this.metrics = {
3588
3596
  instancedDrawCalls: 0,
3589
3597
  batchedDrawCalls: 0,
@@ -3613,20 +3621,10 @@ class HybridRenderer {
3613
3621
  }
3614
3622
  /**
3615
3623
  * Add a sprite for rendering
3616
- * Automatically determines which renderer to use
3624
+ * Stores the sprite and routes to appropriate renderer during render()
3617
3625
  */
3618
3626
  addSprite(sprite) {
3619
- const instance = {
3620
- gridX: sprite.gridX ?? 0,
3621
- gridY: sprite.gridY ?? 0,
3622
- z: sprite.z ?? 0,
3623
- color: sprite.color ?? { r: 1, g: 1, b: 1, a: 1 },
3624
- texIndex: sprite.texIndex ?? 0,
3625
- uvOffset: sprite.uvRect ? { u: sprite.uvRect.uMin, v: sprite.uvRect.vMin } : { u: 0, v: 0 },
3626
- size: { width: sprite.width, height: sprite.height }
3627
- };
3628
- this.instancedRenderer.addInstance(instance);
3629
- this.batchRenderer.addQuad(sprite);
3627
+ this.quads.push(sprite);
3630
3628
  }
3631
3629
  /**
3632
3630
  * Add a quad (alias for addSprite for API compatibility)
@@ -3636,11 +3634,12 @@ class HybridRenderer {
3636
3634
  this.addSprite(quad);
3637
3635
  }
3638
3636
  /**
3639
- * Clear all renderers
3637
+ * Clear all renderers and stored quads
3640
3638
  */
3641
3639
  clear() {
3642
3640
  this.instancedRenderer.clear();
3643
3641
  this.batchRenderer.clear();
3642
+ this.quads = [];
3644
3643
  this.metrics = {
3645
3644
  instancedDrawCalls: 0,
3646
3645
  batchedDrawCalls: 0,
@@ -3662,17 +3661,69 @@ class HybridRenderer {
3662
3661
  this.instancedRenderer.setDepthTestEnabled(enabled);
3663
3662
  this.batchRenderer.setDepthTestEnabled(enabled);
3664
3663
  }
3664
+ /**
3665
+ * Group quads by texture and size for efficient batching
3666
+ */
3667
+ groupQuads() {
3668
+ const groups = /* @__PURE__ */ new Map();
3669
+ for (const quad of this.quads) {
3670
+ const key = `${quad.texIndex ?? 0}_${quad.width}_${quad.height}`;
3671
+ if (!groups.has(key)) {
3672
+ groups.set(key, {
3673
+ texIndex: quad.texIndex ?? 0,
3674
+ width: quad.width,
3675
+ height: quad.height,
3676
+ quads: []
3677
+ });
3678
+ }
3679
+ groups.get(key).quads.push(quad);
3680
+ }
3681
+ return groups;
3682
+ }
3665
3683
  /**
3666
3684
  * Render all sprites
3667
3685
  * Returns rendering metrics
3668
3686
  */
3669
3687
  render(camera) {
3670
- this.metrics.instancedDrawCalls = this.instancedRenderer.render(camera);
3671
- const instancedMetrics = this.instancedRenderer.getMetrics();
3672
- this.metrics.instancedInstances = instancedMetrics.instanceCount;
3673
- this.batchRenderer.render(camera);
3674
- this.metrics.batchedDrawCalls = 1;
3675
- this.metrics.batchedInstances = this.batchRenderer.getQuadCount();
3688
+ this.metrics = {
3689
+ instancedDrawCalls: 0,
3690
+ batchedDrawCalls: 0,
3691
+ instancedInstances: 0,
3692
+ batchedInstances: 0
3693
+ };
3694
+ const groups = this.groupQuads();
3695
+ for (const group of groups.values()) {
3696
+ if (group.quads.length >= this.threshold) {
3697
+ for (const quad of group.quads) {
3698
+ const instance = {
3699
+ gridX: quad.gridX ?? 0,
3700
+ gridY: quad.gridY ?? 0,
3701
+ z: quad.z ?? 0,
3702
+ color: quad.color ?? { r: 1, g: 1, b: 1, a: 1 },
3703
+ texIndex: quad.texIndex ?? 0,
3704
+ uvOffset: quad.uvRect ? { u: quad.uvRect.uMin, v: quad.uvRect.vMin } : { u: 0, v: 0 },
3705
+ size: { width: quad.width, height: quad.height }
3706
+ };
3707
+ this.instancedRenderer.addInstance(instance);
3708
+ }
3709
+ this.metrics.instancedInstances += group.quads.length;
3710
+ } else {
3711
+ for (const quad of group.quads) {
3712
+ this.batchRenderer.addQuad(quad);
3713
+ }
3714
+ this.metrics.batchedInstances += group.quads.length;
3715
+ }
3716
+ }
3717
+ if (this.metrics.instancedInstances > 0) {
3718
+ this.metrics.instancedDrawCalls = this.instancedRenderer.render(camera);
3719
+ }
3720
+ if (this.metrics.batchedInstances > 0) {
3721
+ this.batchRenderer.render(camera);
3722
+ this.metrics.batchedDrawCalls = 1;
3723
+ }
3724
+ this.quads = [];
3725
+ this.instancedRenderer.clear();
3726
+ this.batchRenderer.clear();
3676
3727
  this.frameCount++;
3677
3728
  if (this.frameCount % 60 === 0) {
3678
3729
  this.adjustThreshold();
@@ -3687,10 +3738,10 @@ class HybridRenderer {
3687
3738
  }
3688
3739
  /**
3689
3740
  * Get total quad count (API compatibility with GPUBasedSpriteBatchRenderer)
3690
- * Returns total number of sprites across both renderers
3741
+ * Returns actual number of quads waiting to be rendered
3691
3742
  */
3692
3743
  getQuadCount() {
3693
- return this.metrics.batchedInstances + this.metrics.instancedInstances;
3744
+ return this.quads.length;
3694
3745
  }
3695
3746
  /**
3696
3747
  * Set instancing threshold manually
@@ -42,6 +42,7 @@ export declare class HybridRenderer {
42
42
  private instancedRenderer;
43
43
  private batchRenderer;
44
44
  private threshold;
45
+ private quads;
45
46
  private metrics;
46
47
  private frameCount;
47
48
  private lastFpsCheck;
@@ -50,7 +51,7 @@ export declare class HybridRenderer {
50
51
  instancedShader: Shader, batchShader: Shader, options?: HybridRendererOptions);
51
52
  /**
52
53
  * Add a sprite for rendering
53
- * Automatically determines which renderer to use
54
+ * Stores the sprite and routes to appropriate renderer during render()
54
55
  */
55
56
  addSprite(sprite: SpriteQuadInstance): void;
56
57
  /**
@@ -59,7 +60,7 @@ export declare class HybridRenderer {
59
60
  */
60
61
  addQuad(quad: SpriteQuadInstance): void;
61
62
  /**
62
- * Clear all renderers
63
+ * Clear all renderers and stored quads
63
64
  */
64
65
  clear(): void;
65
66
  /**
@@ -70,6 +71,10 @@ export declare class HybridRenderer {
70
71
  * Set depth testing
71
72
  */
72
73
  setDepthTestEnabled(enabled: boolean): void;
74
+ /**
75
+ * Group quads by texture and size for efficient batching
76
+ */
77
+ private groupQuads;
73
78
  /**
74
79
  * Render all sprites
75
80
  * Returns rendering metrics
@@ -81,7 +86,7 @@ export declare class HybridRenderer {
81
86
  getMetrics(): RenderMetrics;
82
87
  /**
83
88
  * Get total quad count (API compatibility with GPUBasedSpriteBatchRenderer)
84
- * Returns total number of sprites across both renderers
89
+ * Returns actual number of quads waiting to be rendered
85
90
  */
86
91
  getQuadCount(): number;
87
92
  /**
@@ -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,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"}
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;AAYD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAA4B;IAGzC,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;IAI3C;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAIvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAKzC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK3C;;OAEG;IACH,OAAO,CAAC,UAAU;IAqBlB;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAmErC;;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 +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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"}
@@ -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;;;;;;;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"}
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;IAgEpB;;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.7",
3
+ "version": "1.1.9",
4
4
  "description": "A WebGL-based 2.5D graphics engine for isometric rendering",
5
5
  "license": "MIT",
6
6
  "type": "module",