@woosh/meep-engine 2.117.12 → 2.117.13
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/build/meep.cjs +46 -23
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +46 -23
- package/package.json +1 -1
- package/src/engine/asset/loaders/material/computeTextureEquality.d.ts.map +1 -1
- package/src/engine/asset/loaders/material/computeTextureEquality.js +1 -22
- package/src/engine/graphics/canvas/computeImageCanvasEquality.d.ts +8 -0
- package/src/engine/graphics/canvas/computeImageCanvasEquality.d.ts.map +1 -0
- package/src/engine/graphics/canvas/computeImageCanvasEquality.js +31 -0
- package/src/engine/graphics/texture/Canvas2Sampler2D.d.ts +6 -1
- package/src/engine/graphics/texture/Canvas2Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/Canvas2Sampler2D.js +16 -1
package/build/meep.module.js
CHANGED
|
@@ -51192,11 +51192,27 @@ class ObservedString extends String {
|
|
|
51192
51192
|
*/
|
|
51193
51193
|
ObservedString.prototype.isObservedString = true;
|
|
51194
51194
|
|
|
51195
|
+
/**
|
|
51196
|
+
*
|
|
51197
|
+
* @type {WeakMap<HTMLCanvasElement, CanvasRenderingContext2D>}
|
|
51198
|
+
*/
|
|
51199
|
+
const context_cache = new WeakMap();
|
|
51200
|
+
|
|
51201
|
+
/**
|
|
51202
|
+
*
|
|
51203
|
+
* @param {HTMLCanvasElement} canvas
|
|
51204
|
+
* @returns {Sampler2D}
|
|
51205
|
+
*/
|
|
51195
51206
|
function canvas2Sampler2D(canvas) {
|
|
51196
51207
|
const width = canvas.width;
|
|
51197
51208
|
const height = canvas.height;
|
|
51198
51209
|
|
|
51199
|
-
|
|
51210
|
+
let context = context_cache.get(canvas);
|
|
51211
|
+
|
|
51212
|
+
if (context === undefined) {
|
|
51213
|
+
context = canvas.getContext("2d");
|
|
51214
|
+
context_cache.set(canvas, context);
|
|
51215
|
+
}
|
|
51200
51216
|
|
|
51201
51217
|
const result = new Sampler2D(null, 4, width, height);
|
|
51202
51218
|
|
|
@@ -76707,6 +76723,35 @@ function computeTextureHash(t) {
|
|
|
76707
76723
|
);
|
|
76708
76724
|
}
|
|
76709
76725
|
|
|
76726
|
+
/**
|
|
76727
|
+
*
|
|
76728
|
+
* @param {HTMLCanvasElement} a
|
|
76729
|
+
* @param {HTMLCanvasElement} b
|
|
76730
|
+
* @returns {boolean}
|
|
76731
|
+
*/
|
|
76732
|
+
function computeImageCanvasEquality(a, b) {
|
|
76733
|
+
if(a === b){
|
|
76734
|
+
// shortcut
|
|
76735
|
+
return true;
|
|
76736
|
+
}
|
|
76737
|
+
|
|
76738
|
+
if (
|
|
76739
|
+
a.width !== b.width
|
|
76740
|
+
|| a.height !== b.height
|
|
76741
|
+
) {
|
|
76742
|
+
return false;
|
|
76743
|
+
}
|
|
76744
|
+
|
|
76745
|
+
const sampler_a = canvas2Sampler2D(a);
|
|
76746
|
+
const sampler_b = canvas2Sampler2D(b);
|
|
76747
|
+
|
|
76748
|
+
if(!sampler_a.equals(sampler_b)){
|
|
76749
|
+
return false;
|
|
76750
|
+
}
|
|
76751
|
+
|
|
76752
|
+
return true;
|
|
76753
|
+
}
|
|
76754
|
+
|
|
76710
76755
|
//
|
|
76711
76756
|
|
|
76712
76757
|
/**
|
|
@@ -76768,28 +76813,6 @@ function computeTextureEquality(a, b) {
|
|
|
76768
76813
|
}
|
|
76769
76814
|
|
|
76770
76815
|
|
|
76771
|
-
/**
|
|
76772
|
-
*
|
|
76773
|
-
* @param {HTMLCanvasElement} a
|
|
76774
|
-
* @param {HTMLCanvasElement} b
|
|
76775
|
-
* @returns {boolean}
|
|
76776
|
-
*/
|
|
76777
|
-
function computeImageCanvasEquality(a, b) {
|
|
76778
|
-
if (
|
|
76779
|
-
a.width !== b.width
|
|
76780
|
-
|| a.height !== b.height
|
|
76781
|
-
) {
|
|
76782
|
-
return false;
|
|
76783
|
-
}
|
|
76784
|
-
|
|
76785
|
-
if (a.toDataURL() !== b.toDataURL()) {
|
|
76786
|
-
// kinda slow, but pretty reliable, as we don't actually know what canvases hold, i.e. webgl, 2d etc.
|
|
76787
|
-
return false;
|
|
76788
|
-
}
|
|
76789
|
-
|
|
76790
|
-
return true;
|
|
76791
|
-
}
|
|
76792
|
-
|
|
76793
76816
|
/**
|
|
76794
76817
|
*
|
|
76795
76818
|
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} a
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeTextureEquality.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/asset/loaders/material/computeTextureEquality.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"computeTextureEquality.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/asset/loaders/material/computeTextureEquality.js"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,gEAFa,OAAO,CAoDnB;AAGD;;;;;GAKG;AACH,sCAJW,8DAAM,WAAW,GAAC,iBAAiB,GAAC,EAAE,GAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAA;CAAC,KACpE,8DAAM,WAAW,GAAC,iBAAiB,GAAC,EAAE,GAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAA;CAAC,GAClE,OAAO,CAmEnB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { fastArrayEquals } from "../../../../core/collection/array/fastArrayEquals.js";
|
|
2
2
|
import { isTypedArray } from "../../../../core/collection/array/typed/isTypedArray.js";
|
|
3
|
+
import { computeImageCanvasEquality } from "../../../graphics/canvas/computeImageCanvasEquality.js";
|
|
3
4
|
import { isImageBitmap } from "../../../graphics/texture/isImageBitmap.js";
|
|
4
5
|
import { computeImageBitmapEquality } from "./computeImageBitmapEquality.js";
|
|
5
6
|
|
|
@@ -64,28 +65,6 @@ export function computeTextureEquality(a, b) {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
|
|
67
|
-
/**
|
|
68
|
-
*
|
|
69
|
-
* @param {HTMLCanvasElement} a
|
|
70
|
-
* @param {HTMLCanvasElement} b
|
|
71
|
-
* @returns {boolean}
|
|
72
|
-
*/
|
|
73
|
-
function computeImageCanvasEquality(a, b) {
|
|
74
|
-
if (
|
|
75
|
-
a.width !== b.width
|
|
76
|
-
|| a.height !== b.height
|
|
77
|
-
) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (a.toDataURL() !== b.toDataURL()) {
|
|
82
|
-
// kinda slow, but pretty reliable, as we don't actually know what canvases hold, i.e. webgl, 2d etc.
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
68
|
/**
|
|
90
69
|
*
|
|
91
70
|
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeImageCanvasEquality.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/canvas/computeImageCanvasEquality.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,8CAJW,iBAAiB,KACjB,iBAAiB,GACf,OAAO,CAuBnB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import canvas2Sampler2D from "../texture/Canvas2Sampler2D.js";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param {HTMLCanvasElement} a
|
|
7
|
+
* @param {HTMLCanvasElement} b
|
|
8
|
+
* @returns {boolean}
|
|
9
|
+
*/
|
|
10
|
+
export function computeImageCanvasEquality(a, b) {
|
|
11
|
+
if(a === b){
|
|
12
|
+
// shortcut
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (
|
|
17
|
+
a.width !== b.width
|
|
18
|
+
|| a.height !== b.height
|
|
19
|
+
) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const sampler_a = canvas2Sampler2D(a);
|
|
24
|
+
const sampler_b = canvas2Sampler2D(b);
|
|
25
|
+
|
|
26
|
+
if(!sampler_a.equals(sampler_b)){
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
@@ -6,5 +6,10 @@
|
|
|
6
6
|
export function canvasDataToSampler(target: Sampler2D, ctx: CanvasRenderingContext2D): void;
|
|
7
7
|
export default canvas2Sampler2D;
|
|
8
8
|
import { Sampler2D } from './sampler/Sampler2D.js';
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param {HTMLCanvasElement} canvas
|
|
12
|
+
* @returns {Sampler2D}
|
|
13
|
+
*/
|
|
14
|
+
declare function canvas2Sampler2D(canvas: HTMLCanvasElement): Sampler2D;
|
|
10
15
|
//# sourceMappingURL=Canvas2Sampler2D.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas2Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/texture/Canvas2Sampler2D.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Canvas2Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/texture/Canvas2Sampler2D.js"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,4CAHW,SAAS,OACT,wBAAwB,QAalC;;0BAhDyB,wBAAwB;AAQlD;;;;GAIG;AACH,0CAHW,iBAAiB,GACf,SAAS,CAmBrB"}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import { assert } from "../../../core/assert.js";
|
|
2
2
|
import { Sampler2D } from './sampler/Sampler2D.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @type {WeakMap<HTMLCanvasElement, CanvasRenderingContext2D>}
|
|
7
|
+
*/
|
|
8
|
+
const context_cache = new WeakMap();
|
|
4
9
|
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param {HTMLCanvasElement} canvas
|
|
13
|
+
* @returns {Sampler2D}
|
|
14
|
+
*/
|
|
5
15
|
function canvas2Sampler2D(canvas) {
|
|
6
16
|
const width = canvas.width;
|
|
7
17
|
const height = canvas.height;
|
|
8
18
|
|
|
9
|
-
|
|
19
|
+
let context = context_cache.get(canvas);
|
|
20
|
+
|
|
21
|
+
if (context === undefined) {
|
|
22
|
+
context = canvas.getContext("2d");
|
|
23
|
+
context_cache.set(canvas, context);
|
|
24
|
+
}
|
|
10
25
|
|
|
11
26
|
const result = new Sampler2D(null, 4, width, height);
|
|
12
27
|
|