@woosh/meep-engine 2.119.53 → 2.119.55

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": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.119.53",
8
+ "version": "2.119.55",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -55,6 +55,8 @@ export default class Vector3 implements Vector3Like {
55
55
 
56
56
  addScalar(v: number): void
57
57
 
58
+ setScalar(v:number):void
59
+
58
60
  multiplyScalar(v: number): void
59
61
 
60
62
  crossVectors(a: Vector3Like, b: Vector3Like): void
@@ -39,13 +39,13 @@ export class EngineHarness {
39
39
  /**
40
40
  * @param {Object} params
41
41
  * @param {Engine} params.engine
42
- * @param {Vector3} [params.focus]
42
+ * @param {{x:number,y:number,z:number}} [params.focus]
43
43
  * @param [params.heightMap]
44
44
  * @param [params.heightRange]
45
45
  * @param {number} [params.pitch]
46
46
  * @param {number} [params.yaw]
47
47
  * @param {number} [params.distance]
48
- * @param {Vector2} [params.terrainSize]
48
+ * @param {{x:number, y:number}} [params.terrainSize]
49
49
  * @param {number} [params.terrainResolution]
50
50
  * @param {boolean} [params.enableWater]
51
51
  * @param {boolean} [params.enableTerrain]
@@ -59,13 +59,20 @@ export class EngineHarness {
59
59
  */
60
60
  static buildBasics({ engine, focus, heightMap, heightRange, pitch, yaw, distance, terrainSize, terrainResolution, enableWater, enableTerrain, enableLights, cameraFieldOfView, cameraFarDistance, cameraController, cameraAutoClip, shadowmapResolution, showFps }: {
61
61
  engine: Engine;
62
- focus?: Vector3;
62
+ focus?: {
63
+ x: number;
64
+ y: number;
65
+ z: number;
66
+ };
63
67
  heightMap?: any;
64
68
  heightRange?: any;
65
69
  pitch?: number;
66
70
  yaw?: number;
67
71
  distance?: number;
68
- terrainSize?: Vector2;
72
+ terrainSize?: {
73
+ x: number;
74
+ y: number;
75
+ };
69
76
  terrainResolution?: number;
70
77
  enableWater?: boolean;
71
78
  enableTerrain?: boolean;
@@ -159,7 +166,6 @@ import Engine from "./Engine.js";
159
166
  import { EngineConfiguration } from "./EngineConfiguration.js";
160
167
  import Vector3 from "../core/geom/Vector3.js";
161
168
  import Entity from "./ecs/Entity.js";
162
- import Vector2 from "../core/geom/Vector2.js";
163
169
  import { Color } from "../core/color/Color.js";
164
170
  import Terrain from "./ecs/terrain/ecs/Terrain.js";
165
171
  //# sourceMappingURL=EngineHarness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"AA6DA;IAmBI;;;;OAIG;IACH,8CAHmB,mBAAmB,UAAQ,MAAM,WACxC,QAAQ,MAAM,CAAC,CAM1B;IAED;;;OAGG;IACH,6BAFW,MAAM,QAYhB;IAmED;;;;;;;;;;;;;OAaG;IACH;QAZyB,MAAM,EAApB,MAAM;QACyB,GAAG;QAClB,MAAM,GAAtB,OAAO;QACQ,QAAQ,GAAvB,MAAM;QACS,KAAK,GAApB,MAAM;QACS,GAAG,GAAlB,MAAM;QACU,QAAQ,GAAxB,OAAO;QACQ,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACJ,MAAM,CA+DlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH;QAnB0B,MAAM,EAArB,MAAM;QACW,KAAK,GAAtB,OAAO;QACA,SAAS;QACT,WAAW;QACF,KAAK,GAArB,MAAM;QACU,GAAG,GAAnB,MAAM;QACU,QAAQ,GAAxB,MAAM;QACW,WAAW,GAA5B,OAAO;QACS,iBAAiB,GAAjC,MAAM;QACW,WAAW,GAA5B,OAAO;QACU,aAAa,GAA9B,OAAO;QACU,YAAY,GAA7B,OAAO;QACS,iBAAiB,GAAjC,MAAM;QACU,iBAAiB,GAAjC,MAAM;QACW,gBAAgB,GAAjC,OAAO;QACU,cAAc,GAA/B,OAAO;QACS,mBAAmB,GAAnC,MAAM;QACW,OAAO,GAAxB,OAAO;sBAqEjB;IAGD;;;;;;;;;;;OAWG;IACH;QAVyB,MAAM,EAApB,MAAM;QACyB,GAAG;QACnB,mBAAmB,GAAlC,MAAM;QACU,UAAU,GAA1B,OAAO;QACO,GAAG,GAAjB,KAAK;QACU,YAAY,GAA3B,MAAM;QACU,YAAY,GAA5B,OAAO;QACO,OAAO,GAArB,KAAK;QACU,gBAAgB,GAA/B,MAAM;sBAqDhB;IAED;;;;;;;OAOG;IACH;QAN0B,YAAY,GAA3B,MAAM;QACQ,MAAM,EAApB,MAAM;QACS,WAAW,GAA1B,MAAM;QACyB,GAAG;QAChC,MAAM,CA2ClB;IAGD;;;;;;;;;;;OAWG;IACH,mGAVW,MAAM,GAQJ,OAAO,CAuDnB;IA3cG;;;OAGG;IACH,QAFU,MAAM,CAEiC;IAMjD;;;OAGG;IACH,YAFU,eAAQ,IAAI,CAET;IA8BjB;;;;;OAKG;IACH;iCAJmB,mBAAmB,UAAQ,MAAM;8BACzC,OAAO;QACL,QAAQ,MAAM,CAAC,CA2D3B;CAiWJ;;IAID;;;OAGG;IACH,uCAMC;;mBA1gBkB,aAAa;oCACI,0BAA0B;oBAX1C,yBAAyB;mBAK1B,iBAAiB;oBANhB,yBAAyB;sBAHvB,wBAAwB;oBAW1B,8BAA8B"}
1
+ {"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"AA6DA;IAmBI;;;;OAIG;IACH,8CAHmB,mBAAmB,UAAQ,MAAM,WACxC,QAAQ,MAAM,CAAC,CAM1B;IAED;;;OAGG;IACH,6BAFW,MAAM,QAYhB;IAmED;;;;;;;;;;;;;OAaG;IACH;QAZyB,MAAM,EAApB,MAAM;QACyB,GAAG;QAClB,MAAM,GAAtB,OAAO;QACQ,QAAQ,GAAvB,MAAM;QACS,KAAK,GAApB,MAAM;QACS,GAAG,GAAlB,MAAM;QACU,QAAQ,GAAxB,OAAO;QACQ,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACJ,MAAM,CA+DlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH;QAnB0B,MAAM,EAArB,MAAM;QACgC,KAAK,GAA3C;YAAC,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAA;SAAC;QACrB,SAAS;QACT,WAAW;QACF,KAAK,GAArB,MAAM;QACU,GAAG,GAAnB,MAAM;QACU,QAAQ,GAAxB,MAAM;QACwB,WAAW,GAAzC;YAAC,CAAC,EAAC,MAAM,CAAC;YAAC,CAAC,EAAC,MAAM,CAAA;SAAC;QACJ,iBAAiB,GAAjC,MAAM;QACW,WAAW,GAA5B,OAAO;QACU,aAAa,GAA9B,OAAO;QACU,YAAY,GAA7B,OAAO;QACS,iBAAiB,GAAjC,MAAM;QACU,iBAAiB,GAAjC,MAAM;QACW,gBAAgB,GAAjC,OAAO;QACU,cAAc,GAA/B,OAAO;QACS,mBAAmB,GAAnC,MAAM;QACW,OAAO,GAAxB,OAAO;sBAqEjB;IAGD;;;;;;;;;;;OAWG;IACH;QAVyB,MAAM,EAApB,MAAM;QACyB,GAAG;QACnB,mBAAmB,GAAlC,MAAM;QACU,UAAU,GAA1B,OAAO;QACO,GAAG,GAAjB,KAAK;QACU,YAAY,GAA3B,MAAM;QACU,YAAY,GAA5B,OAAO;QACO,OAAO,GAArB,KAAK;QACU,gBAAgB,GAA/B,MAAM;sBAqDhB;IAED;;;;;;;OAOG;IACH;QAN0B,YAAY,GAA3B,MAAM;QACQ,MAAM,EAApB,MAAM;QACS,WAAW,GAA1B,MAAM;QACyB,GAAG;QAChC,MAAM,CA2ClB;IAGD;;;;;;;;;;;OAWG;IACH,mGAVW,MAAM,GAQJ,OAAO,CAuDnB;IA3cG;;;OAGG;IACH,QAFU,MAAM,CAEiC;IAMjD;;;OAGG;IACH,YAFU,eAAQ,IAAI,CAET;IA8BjB;;;;;OAKG;IACH;iCAJmB,mBAAmB,UAAQ,MAAM;8BACzC,OAAO;QACL,QAAQ,MAAM,CAAC,CA2D3B;CAiWJ;;IAID;;;OAGG;IACH,uCAMC;;mBA1gBkB,aAAa;oCACI,0BAA0B;oBAX1C,yBAAyB;mBAK1B,iBAAiB;sBATd,wBAAwB;oBAW1B,8BAA8B"}
@@ -250,13 +250,13 @@ export class EngineHarness {
250
250
  /**
251
251
  * @param {Object} params
252
252
  * @param {Engine} params.engine
253
- * @param {Vector3} [params.focus]
253
+ * @param {{x:number,y:number,z:number}} [params.focus]
254
254
  * @param [params.heightMap]
255
255
  * @param [params.heightRange]
256
256
  * @param {number} [params.pitch]
257
257
  * @param {number} [params.yaw]
258
258
  * @param {number} [params.distance]
259
- * @param {Vector2} [params.terrainSize]
259
+ * @param {{x:number, y:number}} [params.terrainSize]
260
260
  * @param {number} [params.terrainResolution]
261
261
  * @param {boolean} [params.enableWater]
262
262
  * @param {boolean} [params.enableTerrain]
@@ -1,7 +1,7 @@
1
1
  import {System} from "../../../../ecs/System";
2
+ import Engine from "../../../../Engine";
2
3
  import {ShadedGeometry} from "../../mesh-v2/ShadedGeometry.js";
3
4
  import Highlight from "../Highlight";
4
- import Engine from "../../../../Engine";
5
5
 
6
6
  export class ShadedGeometryHighlightSystem extends System<Highlight, ShadedGeometry> {
7
7
  constructor(engine: Engine)
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeLightBinding.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.js"],"names":[],"mappings":"AAyEA;;;;GAIG;AACH,6EAFW,MAAM,QAgBhB;AAED;IAGQ;;;;OAIG;IACH,iBAAgB;IAEhB;;;;OAIG;IACH,qBAAoB;IAEpB;;;;OAIG;IACH,qBAA6B;IAGjC,qBAYC;IAED,uBAcC;IAED;;;;OAIG;IACH,yBAEC;IAYD,+BAEC;IAUD,yBAuBC;IAED,2BAgBC;IAED,iCA0BC;IAGD,2BA0CC;IA8CD,mCAmBC;CAEJ;6BAlW4B,oBAAoB"}
1
+ {"version":3,"file":"ThreeLightBinding.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.js"],"names":[],"mappings":"AA4FA;;;;GAIG;AACH,6EAFW,MAAM,QAgBhB;AAED;IAGI;;;;OAIG;IACH,iBAAgB;IAEhB;;;;OAIG;IACH,qBAAoB;IAEpB;;;;OAIG;IACH,qBAA6B;IAG7B,qBAYC;IAED,uBAcC;IAED;;;;OAIG;IACH,yBAEC;IAYD,+BAEC;IAUD,yBAuBC;IAED,2BAgBC;IAED,iCA0BC;IAGD,2BA0CC;IA8CD,mCAmBC;CAEJ;6BArX4B,oBAAoB"}
@@ -33,7 +33,26 @@ function __getDepthMaterial(object) {
33
33
  if (customDepthMaterial !== undefined) {
34
34
  result = customDepthMaterial;
35
35
  } else {
36
- result = __depth_material;
36
+
37
+ const source_material = object.material;
38
+ if (
39
+ typeof source_material.alphaTest === "number"
40
+ && source_material.alphaTest > 0
41
+ && source_material.alphaTest < 1
42
+ && source_material.map !== null
43
+ && source_material.map !== undefined
44
+ ) {
45
+ // alpha-tested
46
+ result = new MeshDepthMaterial({
47
+ depthPacking: RGBADepthPacking,
48
+ side: DoubleSide,
49
+ alphaMap: source_material.map
50
+ });
51
+
52
+ } else {
53
+ // generic
54
+ result = __depth_material;
55
+ }
37
56
  }
38
57
 
39
58
  return result;
@@ -95,26 +114,26 @@ export function three_set_shadow_resolution(shadow, resolution) {
95
114
  export class ThreeLightBinding extends LightBinding {
96
115
 
97
116
 
98
- /**
99
- *
100
- * @type {LightSystem|null}
101
- * @private
102
- */
103
- __system = null;
117
+ /**
118
+ *
119
+ * @type {LightSystem|null}
120
+ * @private
121
+ */
122
+ __system = null;
104
123
 
105
- /**
106
- *
107
- * @type {ShadowMap|null}
108
- * @private
109
- */
110
- __shadow_map = null;
124
+ /**
125
+ *
126
+ * @type {ShadowMap|null}
127
+ * @private
128
+ */
129
+ __shadow_map = null;
111
130
 
112
- /**
113
- *
114
- * @type {WeakMap<THREE.Object3D, THREE.Object3D>}
115
- * @private
116
- */
117
- __object_map = new WeakMap();
131
+ /**
132
+ *
133
+ * @type {WeakMap<THREE.Object3D, THREE.Object3D>}
134
+ * @private
135
+ */
136
+ __object_map = new WeakMap();
118
137
 
119
138
 
120
139
  link(ctx) {