@woosh/meep-engine 2.138.5 → 2.138.6

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.
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Pure JavaScript game engine. Fully featured and production ready.",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.138.5",
8
+ "version": "2.138.6",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"CompositLayer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/composit/CompositLayer.js"],"names":[],"mappings":"AAsCA;IACI;;;;;OAKG;IACH,2DAJW,MAAM,iBAAiB,EAyDjC;IAhDG;;;OAGG;IACH,MAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,YAFU,YAAY,CAEI;IAC1B;;;OAGG;IACH,gCAAgC;IAEhC;;;OAGG;IACH,mBAFU,MAAM,CAE0B;IAE1C,6DAA2E;IAE3E;;;OAGG;IACH,OAFU,MAAM,CAEF;IAEd,cAAyB;IAEzB;;;OAGG;IACH,WAFU,OAAO,CAEI;IAErB;;;OAGG;IACH,SAFU,MAAM,CAEA;IAEhB;;MAEC;IAOL,0BAQC;IAZD,uBAEC;IAYD;;;OAGG;IACH,uBAIC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,0BAMC;IAED;;;OAGG;IACH,uBAEC;IAED,eAKC;IAED,gBAKC;IAED;;;;OAIG;IACH,WAHW,MAAM,KACN,MAAM,QAKhB;IAED,+BAYC;IAED;;;OAGG;IACH,4BAFW,MAAM,QAShB;IAED;;;;OAIG;IACH,4CAKC;IAGD,gCAoCC;CACJ;6BA/O4B,oCAAoC;+BAL1D,OAAO;qBAAP,OAAO;oBACM,+BAA+B;mBAMhC,uCAAuC"}
1
+ {"version":3,"file":"CompositLayer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/composit/CompositLayer.js"],"names":[],"mappings":"AAsCA;IACI;;;;;OAKG;IACH,2DAJW,MAAM,iBAAiB,EAyDjC;IAhDG;;;OAGG;IACH,MAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,YAFU,YAAY,CAEI;IAC1B;;;OAGG;IACH,gCAAgC;IAEhC;;;OAGG;IACH,mBAFU,MAAM,CAE0B;IAE1C,6DAA2E;IAE3E;;;OAGG;IACH,OAFU,MAAM,CAEF;IAEd,cAAyB;IAEzB;;;OAGG;IACH,WAFU,OAAO,CAEI;IAErB;;;OAGG;IACH,SAFU,MAAM,CAEA;IAEhB;;MAEC;IAOL,0BAQC;IAZD,uBAEC;IAYD;;;OAGG;IACH,uBAIC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,0BAMC;IAED;;;OAGG;IACH,uBAEC;IAED,eAKC;IAED,gBAKC;IAED;;;;OAIG;IACH,WAHW,MAAM,KACN,MAAM,QAKhB;IAED,+BAaC;IAED;;;OAGG;IACH,4BAFW,MAAM,QAShB;IAED;;;;OAIG;IACH,4CAKC;IAGD,gCAoCC;CACJ;6BA/O4B,oCAAoC;+BAN1D,OAAO;qBAAP,OAAO;oBAGM,+BAA+B;mBADhC,uCAAuC"}
@@ -8,13 +8,13 @@ import {
8
8
  RGBAFormat,
9
9
  ShaderMaterial
10
10
  } from "three";
11
- import Vector2 from "../../../core/geom/Vector2.js";
12
11
  import { assert } from "../../../core/assert.js";
13
- import { blendingType2three } from "../texture/sampler/blendingType2Three.js";
12
+ import Signal from "../../../core/events/signal/Signal.js";
13
+ import Vector2 from "../../../core/geom/Vector2.js";
14
+ import { FULL_SCREEN_TRIANGLE_GEOMETRY } from "../geometry/FULL_SCREEN_TRIANGLE_GEOMETRY.js";
14
15
  import { ScreenSpaceQuadShader } from "../shaders/ScreenSpaceQuadShader.js";
15
16
  import { BlendingType } from "../texture/sampler/BlendingType.js";
16
- import { FULL_SCREEN_TRIANGLE_GEOMETRY } from "../geometry/FULL_SCREEN_TRIANGLE_GEOMETRY.js";
17
- import Signal from "../../../core/events/signal/Signal.js";
17
+ import { blendingType2three } from "../texture/sampler/blendingType2Three.js";
18
18
 
19
19
  /**
20
20
  *
@@ -181,8 +181,9 @@ export class CompositLayer {
181
181
 
182
182
  const size = this.size;
183
183
 
184
- const width = size.x * scale;
185
- const height = size.y * scale;
184
+ // clamp to 1: a 0-sized attachment trips GL_INVALID_FRAMEBUFFER_OPERATION on clear/draw
185
+ const width = Math.max(1, size.x * scale);
186
+ const height = Math.max(1, size.y * scale);
186
187
 
187
188
  this.renderTarget.setSize(width, height);
188
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OutlineRenderPlugin.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.js"],"names":[],"mappings":"AAYA;IAIQ,WAA4B;IAE5B,4BAAuC;IAEvC,oBAA+B;IAE/B;;;;OAIG;IACH,4BAA+B;IAE/B;;;;OAIG;IACH,iCAA0D;IAE1D;;;;OAIG;IACH,kBAAmB;IAEnB;;;;OAIG;IACH,uBASC;IAGL;;;;OAIG;IACH,iDAFa,OAAO,CAMnB;IAED;;;;OAIG;IACH,oDAFa,OAAO,CAYnB;IAED;;;;;OAKG;IACH,4BAKC;IAED;;;OAGG;IACH,iBAgCC;IAED,yBAwBC;IAED,0BAWC;IAED,uCAaC;CACJ;6BA3L4B,oCAAoC;gCAKjC,gCAAgC;oCAV5B,OAAO"}
1
+ {"version":3,"file":"OutlineRenderPlugin.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.js"],"names":[],"mappings":"AAYA;IAIQ,WAA4B;IAE5B,4BAAuC;IAEvC,oBAA+B;IAE/B;;;;OAIG;IACH,4BAA+B;IAE/B;;;;OAIG;IACH,iCAA0D;IAE1D;;;;OAIG;IACH,kBAAmB;IAEnB;;;;OAIG;IACH,uBASC;IAGL;;;;OAIG;IACH,iDAFa,OAAO,CAMnB;IAED;;;;OAIG;IACH,oDAFa,OAAO,CAYnB;IAED;;;;;OAKG;IACH,4BAMC;IAED;;;OAGG;IACH,iBAgCC;IAED,yBAwBC;IAED,0BAWC;IAED,uCAaC;CACJ;6BA5L4B,oCAAoC;gCAKjC,gCAAgC;oCAV5B,OAAO"}
@@ -93,8 +93,9 @@ export class OutlineRenderPlugin extends EnginePlugin {
93
93
  * @private
94
94
  */
95
95
  __set_viewport_size(x, y) {
96
- const width = max2(0, x);
97
- const height = max2(0, y);
96
+ // clamp to 1: 0 cascades to several render targets whose clear() then trips GL_INVALID_FRAMEBUFFER_OPERATION
97
+ const width = max2(1, x);
98
+ const height = max2(1, y);
98
99
 
99
100
  this.__renderer.resize(width, height);
100
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OutlineRenderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/renderer/OutlineRenderer.js"],"names":[],"mappings":"AA+JA;IAQQ;;;OAGG;IACH,wBAAoB;IAEpB;;;OAGG;IACH,eAAkB;IAElB;;;OAGG;IACH,OAFU,KAAK,CAEE;IAEjB;;;;OAIG;IACH,gCAGE;IAEF,gCAA6D;IAC7D,kBAA6B;IAE7B,kCAAoD;IACpD,kCAA6C;IAC7C,gCAAuC;IAEvC,qDAAsF;IAGtF,kBAA6B;IAK7B;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB,sCAMC;IASD,6CAOE;IAEF,6CAOE;IAEF,6CAOE;IAEF,uCAOE;IAEF,uCAOE;IASF;;;;OAIG;IACH,yBAAyB;IAEzB;;;;OAIG;IACH,2BAA2B;IAG3B;;;;OAIG;IACH,4BAA+B;IAGnC,2BAEC;IAED;;;OAGG;IACH,gDAEC;IAED;;;;OAIG;IACH,UAHW,MAAM,KACN,MAAM,QA0BhB;IAED;;;OAGG;IACH,kBAFW,oBAAkB,kBAAkB,QAI9C;IAED;;;;OAIG;IACH,sCAyBC;IAED;;;;OAIG;IACH,6BAmBC;IAED;;;OAGG;IACH,mDAiDC;IAhDG,sCAA4B;IAkDhC;;;OAGG;IACH,2BAFW,MAAM,QA0ChB;IAED;;;;;OAKG;IACH,8BAyBC;IAED,wBAEC;IAED;;OAEG;IACH,uBAIC;IAED;;;;;OAKG;IACH,0CAgBC;IAED,wBAEC;IAGD;;;OAGG;IACH,0CAqBC;IAED,0BAeC;CACJ;sBAvmBM,OAAO;mCAAP,OAAO;+BAAP,OAAO;oCAAP,OAAO;qBAAP,OAAO;4BAAP,OAAO;kCAAP,OAAO"}
1
+ {"version":3,"file":"OutlineRenderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/renderer/OutlineRenderer.js"],"names":[],"mappings":"AA+JA;IAQQ;;;OAGG;IACH,wBAAoB;IAEpB;;;OAGG;IACH,eAAkB;IAElB;;;OAGG;IACH,OAFU,KAAK,CAEE;IAEjB;;;;OAIG;IACH,gCAGE;IAEF,gCAA6D;IAC7D,kBAA6B;IAE7B,kCAAoD;IACpD,kCAA6C;IAC7C,gCAAuC;IAEvC,qDAAsF;IAGtF,kBAA6B;IAK7B;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB,sCAMC;IASD,6CAOE;IAEF,6CAOE;IAEF,6CAOE;IAEF,uCAOE;IAEF,uCAOE;IASF;;;;OAIG;IACH,yBAAyB;IAEzB;;;;OAIG;IACH,2BAA2B;IAG3B;;;;OAIG;IACH,4BAA+B;IAGnC,2BAEC;IAED;;;OAGG;IACH,gDAEC;IAED;;;;OAIG;IACH,UAHW,MAAM,KACN,MAAM,QA2BhB;IAED;;;OAGG;IACH,kBAFW,oBAAkB,kBAAkB,QAI9C;IAED;;;;OAIG;IACH,sCAyBC;IAED;;;;OAIG;IACH,6BAmBC;IAED;;;OAGG;IACH,mDAiDC;IAhDG,sCAA4B;IAkDhC;;;OAGG;IACH,2BAFW,MAAM,QA0ChB;IAED;;;;;OAKG;IACH,8BAyBC;IAED,wBAEC;IAED;;OAEG;IACH,uBAIC;IAED;;;;;OAKG;IACH,0CAgBC;IAED,wBAEC;IAGD;;;OAGG;IACH,0CAqBC;IAED,0BAeC;CACJ;sBAxmBM,OAAO;mCAAP,OAAO;+BAAP,OAAO;oCAAP,OAAO;qBAAP,OAAO;4BAAP,OAAO;kCAAP,OAAO"}
@@ -333,8 +333,9 @@ export class OutlineRenderer {
333
333
 
334
334
  const resolution_scale = this.__resolution_scale;
335
335
 
336
- const scaled_res_x = Math.floor(x * resolution_scale);
337
- const scaled_res_y = Math.floor(y * resolution_scale);
336
+ // clamp to 1: floor(x * scale) can collapse to 0 and trip GL_INVALID_FRAMEBUFFER_OPERATION
337
+ const scaled_res_x = Math.max(1, Math.floor(x * resolution_scale));
338
+ const scaled_res_y = Math.max(1, Math.floor(y * resolution_scale));
338
339
 
339
340
  this.__renderTargetObjectId_t1.setSize(scaled_res_x, scaled_res_y);
340
341
  this.__renderTargetObjectId_t2.setSize(scaled_res_x, scaled_res_y);
@@ -1 +1 @@
1
- {"version":3,"file":"FrameBuffer.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/buffer/FrameBuffer.js"],"names":[],"mappings":"AAGA;IAyBI;;;;OAIG;IACH,gBAHW,MAAM,EAWhB;IArCD;;;OAGG;IACH,cAFU,iBAAiB,CAEP;IAEpB;;;OAGG;IACH,gBAFU,MAAM,CAEG;IAEnB;;;OAGG;IACH,cAFU,MAAM,EAAE,CAEA;IAElB;;;OAGG;IACH,MAFU,OAAO,CAEQ;IAQrB;;;OAGG;IACH,IAFU,MAAM,CAEJ;IAKhB;;;OAGG;IACH,mBAFa,iBAAiB,+BAA6B,CAI1D;IAED;;;OAGG;IACH,0CAEC;IAED;;;OAGG;IACH,wCAEC;IAED;;;;;;OAMG;IACH,4EAFW,WAAW,EAAE,QAYvB;IAED;;;;OAIG;IACH,WAHW,MAAM,KACN,MAAM,QAYhB;CACJ;kCAtGiC,OAAO;oBACrB,kCAAkC"}
1
+ {"version":3,"file":"FrameBuffer.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/buffer/FrameBuffer.js"],"names":[],"mappings":"AAGA;IAyBI;;;;OAIG;IACH,gBAHW,MAAM,EAWhB;IArCD;;;OAGG;IACH,cAFU,iBAAiB,CAEP;IAEpB;;;OAGG;IACH,gBAFU,MAAM,CAEG;IAEnB;;;OAGG;IACH,cAFU,MAAM,EAAE,CAEA;IAElB;;;OAGG;IACH,MAFU,OAAO,CAEQ;IAQrB;;;OAGG;IACH,IAFU,MAAM,CAEJ;IAKhB;;;OAGG;IACH,mBAFa,iBAAiB,+BAA6B,CAI1D;IAED;;;OAGG;IACH,0CAEC;IAED;;;OAGG;IACH,wCAEC;IAED;;;;;;OAMG;IACH,4EAFW,WAAW,EAAE,QAYvB;IAED;;;;OAIG;IACH,WAHW,MAAM,KACN,MAAM,QAgBhB;CACJ;kCA1GiC,OAAO;oBACrB,kCAAkC"}
@@ -92,13 +92,17 @@ export class FrameBuffer {
92
92
  setSize(x, y) {
93
93
  const size = this.size;
94
94
 
95
- if (x === size.x && y === size.y) {
95
+ // clamp to 1: a 0-sized attachment trips GL_INVALID_FRAMEBUFFER_OPERATION on clear/draw
96
+ const w = Math.max(1, x);
97
+ const h = Math.max(1, y);
98
+
99
+ if (w === size.x && h === size.y) {
96
100
  // nothing changed
97
101
  return;
98
102
  }
99
103
 
100
- this.renderTarget.setSize(x, y);
101
- size.set(x, y);
104
+ this.renderTarget.setSize(w, h);
105
+ size.set(w, h);
102
106
  }
103
107
  }
104
108
 
@@ -1 +1 @@
1
- {"version":3,"file":"AmbientOcclusionPostProcessEffect.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.js"],"names":[],"mappings":"AAmBA;IAIQ,WAA0C;IAI1C,2BAQE;IA2BF;;;;OAIG;IACH,sBAA0B;IAE1B;;;;OAIG;IACH,2BAA6B;IAG7B;;;;OAIG;IACH,yBAA4B;IAE5B;;;;OAIG;IACH,wBAA2B;IAE3B,8CAUE;IAEF;;;;OAIG;IACH,uBAAwB;IAExB;;;;OAIG;IACH,eAAgF;IAGpF;;;OAGG;IACH,2BAEC;IAED;;;OAGG;IACH,wBAEC;IAED;;;;OAIG;IACH,oBAmBC;IAED,8BAKC;IAED,iBAEC;IAED,2BAuBC;IAED,uBASC;IAED;;;OAGG;IACH,iBAqBC;IAED;;;OAGG;IACH,4BAFW,OAAO,QAiCjB;IAED;;;;OAIG;IACH,gCASC;IAED;;;;OAIG;IACH,mCAUC;IAGD,oCAaC;IAED,wBA2CC;IAED,yBAgBC;CAEJ;6BA/X4B,uCAAuC;+BAU7D,OAAO;6CAAP,OAAO"}
1
+ {"version":3,"file":"AmbientOcclusionPostProcessEffect.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.js"],"names":[],"mappings":"AAmBA;IAIQ,WAA0C;IAI1C,2BAQE;IA2BF;;;;OAIG;IACH,sBAA0B;IAE1B;;;;OAIG;IACH,2BAA6B;IAG7B;;;;OAIG;IACH,yBAA4B;IAE5B;;;;OAIG;IACH,wBAA2B;IAE3B,8CAUE;IAEF;;;;OAIG;IACH,uBAAwB;IAExB;;;;OAIG;IACH,eAAgF;IAGpF;;;OAGG;IACH,2BAEC;IAED;;;OAGG;IACH,wBAEC;IAED;;;;OAIG;IACH,oBAmBC;IAED,8BAKC;IAED,iBAEC;IAED,2BAuBC;IAED,uBASC;IAED;;;OAGG;IACH,iBAqBC;IAED;;;OAGG;IACH,4BAFW,OAAO,QAiCjB;IAED;;;;OAIG;IACH,gCASC;IAED;;;;OAIG;IACH,mCAUC;IAGD,oCAcC;IAED,wBA2CC;IAED,yBAgBC;CAEJ;6BAtX4B,uCAAuC;+BAD7D,OAAO;6CAAP,OAAO"}
@@ -1,4 +1,3 @@
1
- import { EnginePlugin } from "../../../../../plugin/EnginePlugin.js";
2
1
  import {
3
2
  GLSL3,
4
3
  LinearFilter,
@@ -9,13 +8,14 @@ import {
9
8
  UnsignedByteType,
10
9
  WebGLMultisampleRenderTarget
11
10
  } from "three";
12
- import { SAOShader } from "./SAOShader.js";
11
+ import { EnginePlugin } from "../../../../../plugin/EnginePlugin.js";
12
+ import { CompositingStages } from "../../../../composit/CompositingStages.js";
13
13
  import { CompositLayer } from "../../../../composit/CompositLayer.js";
14
+ import { StandardFrameBuffers } from "../../../../StandardFrameBuffers.js";
14
15
  import { BlendingType } from "../../../../texture/sampler/BlendingType.js";
15
- import { DepthLimitedBlur } from "../DepthLimitedBlur.js";
16
16
  import { renderScreenSpace } from "../../../utils/renderScreenSpace.js";
17
- import { StandardFrameBuffers } from "../../../../StandardFrameBuffers.js";
18
- import { CompositingStages } from "../../../../composit/CompositingStages.js";
17
+ import { DepthLimitedBlur } from "../DepthLimitedBlur.js";
18
+ import { SAOShader } from "./SAOShader.js";
19
19
 
20
20
  export class AmbientOcclusionPostProcessEffect extends EnginePlugin {
21
21
  constructor() {
@@ -309,8 +309,9 @@ export class AmbientOcclusionPostProcessEffect extends EnginePlugin {
309
309
 
310
310
  const size = graphics.viewport.size;
311
311
 
312
- const target_resolution_x = Math.ceil(size.x * this.__resolution_scale);
313
- const target_resolution_y = Math.ceil(size.y * this.__resolution_scale);
312
+ // clamp to 1: a 0-sized attachment trips GL_INVALID_FRAMEBUFFER_OPERATION on clear/draw
313
+ const target_resolution_x = Math.max(1, Math.ceil(size.x * this.__resolution_scale));
314
+ const target_resolution_y = Math.max(1, Math.ceil(size.y * this.__resolution_scale));
314
315
 
315
316
  this.__render_target.setSize(
316
317
  target_resolution_x,