@woosh/meep-engine 2.119.29 → 2.119.31
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 +1 -1
- package/src/core/cache/Cache.d.ts.map +1 -1
- package/src/core/cache/Cache.js +4 -3
- package/src/engine/Engine.d.ts +3 -0
- package/src/engine/graphics/GraphicsEngine.d.ts +1 -1
- package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.d.ts.map +1 -1
- package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.js +3 -1
- package/src/engine/graphics/material/manager/MaterialManager.d.ts +64 -6
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/Cache.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/Cache.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH;IASI;;;;;;;;OAQG;IACH,sGARW,MAAM,EAuFhB;IAxDG;;;;OAIG;IACH,mBAA4B;IAE5B;;;;OAIG;IACH,qBAAgC;IAEhC;;;;OAIG;IACH,gBAAmB;IACnB;;;;OAIG;IACH,eAAkB;IAGlB;;;;OAIG;IACH,aAIE;IAEF;;;OAGG;IACH,WAFU,OAAO,GAAG,EAAC,KAAK,CAAC,CAEE;IAE7B;;;OAGG;IACH,WAFU,OAAO,GAAG,EAAC,KAAK,CAAC,CAEE;IAE7B;;;OAGG;IACH,OAFU,OAAO,GAAG,EAAC,KAAK,CAAC,CAEF;IAG7B;;;;;OAKG;IACH,kBAyBC;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;OAEG;IACH,+BAEC;IAUD;;;OAGG;IACH,2BAQC;IAED,wBAEC;IAxBD;;;OAGG;IACH,qBAEC;IAoBD;;;;OAIG;IACH,wBAaC;IAED;;;;;;OAMG;IACH,yBAHW,GAAG,GACD,OAAO,CAgCnB;IAED;;;;;OAKG;IACH,6BAUC;IAED;;;OAGG;IACH,sBAFa,aAAa,GAAG,EAAC,KAAK,CAAC,GAAC,IAAI,CAIxC;IAED;;;OAGG;IACH,YAFa,OAAO,CAkBnB;IAED;;;OAGG;IACH,+BAFW,MAAM,QAWhB;IAED;;;;OAIG;IACH,SAHW,GAAG,SACH,KAAK,QAwEf;IAED;;;;OAIG;IACH,cAHW,GAAG,GACD,OAAO,CAInB;IAED;;;;OAIG;IACH,SAHW,GAAG,GACD,KAAK,GAAC,IAAI,CAYtB;IAGD;;;;;;OAMG;IACH,kBALW,GAAG,kBACM,GAAG,KAAE,KAAK,0BAElB,KAAK,CAchB;IAED;;;;OAIG;IACH,wBAqBC;IAED;;;;OAIG;IACH,YAHW,GAAG,GACD,OAAO,CAgBnB;IAED;;;;;OAKG;IACH,kBAHW,GAAG,GACD,OAAO,CAanB;IAED;;OAEG;IACH,cAcC;IAED;;;OAGG;IACH,aAOC;IAED;;;;;OAKG;IACH,wCAFa,OAAO,CAMnB;IAGL;;;OAGG;IACH,6CAAmB;IAEnB;;;OAGG;IACH,+BA5FiB,OAAO,CA4FF;IAEtB;;;OAGG;IACH,4BA9KiB,OAAO,CA8KL;;CAlBlB;mBAhiBkB,4BAA4B;6BAKlB,mBAAmB"}
|
package/src/core/cache/Cache.js
CHANGED
|
@@ -4,7 +4,8 @@ import { HashMap } from "../collection/map/HashMap.js";
|
|
|
4
4
|
import Signal from "../events/signal/Signal.js";
|
|
5
5
|
import { returnOne } from "../function/returnOne.js";
|
|
6
6
|
import { returnZero } from "../function/returnZero.js";
|
|
7
|
-
import {
|
|
7
|
+
import { invokeObjectEquals } from "../model/object/invokeObjectEquals.js";
|
|
8
|
+
import { invokeObjectHash } from "../model/object/invokeObjectHash.js";
|
|
8
9
|
import { CacheElement } from "./CacheElement.js";
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -35,8 +36,8 @@ export class Cache {
|
|
|
35
36
|
maxWeight = Number.POSITIVE_INFINITY,
|
|
36
37
|
keyWeigher = returnZero,
|
|
37
38
|
valueWeigher = returnOne,
|
|
38
|
-
keyHashFunction =
|
|
39
|
-
keyEqualityFunction =
|
|
39
|
+
keyHashFunction = invokeObjectHash,
|
|
40
|
+
keyEqualityFunction = invokeObjectEquals,
|
|
40
41
|
capacity
|
|
41
42
|
} = {}) {
|
|
42
43
|
|
package/src/engine/Engine.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {EnginePluginManager} from "./plugin/EnginePluginManager";
|
|
|
10
10
|
import SceneManager from "./scene/SceneManager";
|
|
11
11
|
import Ticker from "./simulation/Ticker";
|
|
12
12
|
import SoundEngine from "./sound/SoundEngine";
|
|
13
|
+
import GUIEngine from "./ui/GUIEngine";
|
|
13
14
|
|
|
14
15
|
export interface IEngineInitializationOptions {
|
|
15
16
|
entityManager?: EntityManager,
|
|
@@ -23,6 +24,8 @@ export default class Engine {
|
|
|
23
24
|
|
|
24
25
|
readonly viewStack: View
|
|
25
26
|
|
|
27
|
+
readonly gui:GUIEngine
|
|
28
|
+
|
|
26
29
|
public readonly entityManager: EntityManager
|
|
27
30
|
public readonly sceneManager: SceneManager
|
|
28
31
|
public readonly sound: SoundEngine
|
|
@@ -3,7 +3,7 @@ import Signal from "../../core/events/signal/Signal";
|
|
|
3
3
|
import Vector2 from "../../core/geom/Vector2";
|
|
4
4
|
import Vector3 from "../../core/geom/Vector3";
|
|
5
5
|
import View from "../../view/View";
|
|
6
|
-
import {MaterialManager} from "./material/manager/MaterialManager";
|
|
6
|
+
import {MaterialManager} from "./material/manager/MaterialManager.js";
|
|
7
7
|
import {RenderLayerManager} from "./render/layers/RenderLayerManager";
|
|
8
8
|
|
|
9
9
|
interface IGraphicsEngineSignals {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstancedMeshGroup.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/instancing/InstancedMeshGroup.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InstancedMeshGroup.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/instancing/InstancedMeshGroup.js"],"names":[],"mappings":"AAyCA;IAqiBI;;;;;OAKG;IACH,sBAJW,oBAAoB,uBAElB,kBAAkB,CAS9B;IA5iBG;;;;OAIG;IACH,wBAA2B;IAE3B;;;;OAIG;IACH,gCAAmC;IAEnC;;;OAGG;IACH,cAAc;IAEd;;;OAGG;IACH,UAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,YAFU,MAAM,CAEK;IACrB;;;OAGG;IACH,cAFU,MAAM,CAEM;IAEtB;;;OAGG;IACH,cAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,gBAFU,MAAM,CAEQ;IAExB;;;;OAIG;IACH,6BAAgC;IAEhC;;;;OAIG;IACH,kCAAqC;IAGrC;;;;;OAKG;IACH,yBAA4B;IAE5B;;;;OAIG;IACH,8BAAiC;IAEjC;;;;OAIG;IACH,wBAAuC;IAEvC;;;;OAIG;IACH,mBAAsB;IAEtB,eAAiB;IACjB,kBAAoB;IAEpB;;;;OAIG;IACH,oBAAqC;IAErC,kFAAqC;IAErC,mBAAqB;IAGzB,qBA8BC;IAED;;;OAGG;IACH,6BAUC;IAED;;;OAGG;IACH,+BAcC;IAED;;;OAGG;IACH,4BAEC;IAED,gBAIC;IAED;;;OAGG;IACH,sBAFW,oBAAoB,QAU9B;IA4CD;;;OAGG;IACH,4BAFW,MAAM,QAAQ,GAAC,MAAM,cAAc,QAS7C;IAED;;;OAGG;IACH,kBAFW,MAAM,QAWhB;IAED;;;OAGG;IACH,qBAFW,MAAM,QA6BhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,aACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,YAAY,QAIjD;IAED;;;;OAIG;IACH,kBAHW,MAAM,SACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,YAAY,QAIjD;IAED;;;;;;;OAOG;IACH,6BANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAWhB;IAED,+BAMC;IAED;;;;OAIG;IACH,qCAEC;IAED;;;OAGG;IACH,0BAKC;IAED;;;OAGG;IACH,YAFY,MAAM,MAAI,CAIrB;IAED;;;;OAIG;IACH,yBAUC;IAED;;;;OAIG;IACH,sDAcC;IAED;;;OAGG;IACH,6BAoDC;IAED,cAiEC;;CAgBJ;;;;;+BAllBM,OAAO;qBAAP,OAAO;yBASW,+BAA+B"}
|
|
@@ -14,6 +14,7 @@ import { array_copy } from "../../../../core/collection/array/array_copy.js";
|
|
|
14
14
|
import { typed_array_copy } from "../../../../core/collection/array/typed/typed_array_copy.js";
|
|
15
15
|
import { max3 } from "../../../../core/math/max3.js";
|
|
16
16
|
import { min2 } from "../../../../core/math/min2.js";
|
|
17
|
+
import { computeMaterialEquality } from "../../../asset/loaders/material/computeMaterialEquality.js";
|
|
17
18
|
import { computeMaterialHash } from "../../../asset/loaders/material/computeMaterialHash.js";
|
|
18
19
|
import { StaticMaterialCache } from "../../../asset/loaders/material/StaticMaterialCache.js";
|
|
19
20
|
import { DrawMode } from "../../ecs/mesh-v2/DrawMode.js";
|
|
@@ -34,7 +35,8 @@ import { rewriteMaterial } from "./rewriteMaterial.js";
|
|
|
34
35
|
*/
|
|
35
36
|
const material_cache = new Cache({
|
|
36
37
|
maxWeight: 1024,
|
|
37
|
-
keyHashFunction: computeMaterialHash
|
|
38
|
+
keyHashFunction: computeMaterialHash,
|
|
39
|
+
keyEqualityFunction: computeMaterialEquality
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
export class InstancedMeshGroup {
|
|
@@ -1,6 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export class MaterialManager {
|
|
2
|
+
/**
|
|
3
|
+
* Stores links from uncompiled (source) materials to managed containers
|
|
4
|
+
* @type {HashMap<Material, ManagedMaterial>}
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
private __library;
|
|
8
|
+
/**
|
|
9
|
+
* Cache for unused materials, gives them a second chance to be used before being disposed completely
|
|
10
|
+
* @type {Cache<Material, ManagedMaterial>}
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
private __cache;
|
|
14
|
+
/**
|
|
15
|
+
* Stores links from compiled materials back to the container
|
|
16
|
+
* @type {HashMap<Material, ManagedMaterial>}
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
private __reverse_library;
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @type {AbstractMaterialTransformer[]}
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
private __transform_chain;
|
|
26
|
+
/**
|
|
27
|
+
* handle material disposal
|
|
28
|
+
* @param {Material} m
|
|
29
|
+
* @param {ManagedMaterial} managed_material
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
private __dispose_material;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @param {ManagedMaterial} material
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
private __handle_last_reference_removed;
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @param {AbstractMaterialTransformer} def
|
|
42
|
+
*/
|
|
43
|
+
addCompileStep(def: AbstractMaterialTransformer): void;
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @param {AbstractMaterialTransformer} def
|
|
47
|
+
* @returns {boolean}
|
|
48
|
+
*/
|
|
49
|
+
removeCompileStep(def: AbstractMaterialTransformer): boolean;
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @param {Material} m
|
|
53
|
+
* @returns {Material}
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
private __compile;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @param {Material} source
|
|
60
|
+
* @returns {Reference<Material>}
|
|
61
|
+
*/
|
|
62
|
+
obtain(source: Material): Reference<Material>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=MaterialManager.d.ts.map
|