@woosh/meep-engine 2.117.4 → 2.117.5
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 +33 -8
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +33 -8
- package/package.json +1 -1
- package/src/core/geom/Quaternion.d.ts +2 -0
- package/src/engine/asset/loaders/material/computeTextureEquality.d.ts +4 -4
- package/src/engine/asset/loaders/material/computeTextureEquality.d.ts.map +1 -1
- package/src/engine/asset/loaders/material/computeTextureEquality.js +33 -8
package/build/meep.module.js
CHANGED
|
@@ -76732,8 +76732,30 @@ function computeTextureEquality(a, b) {
|
|
|
76732
76732
|
|
|
76733
76733
|
/**
|
|
76734
76734
|
*
|
|
76735
|
-
* @param {
|
|
76736
|
-
* @param {
|
|
76735
|
+
* @param {HTMLCanvasElement} a
|
|
76736
|
+
* @param {HTMLCanvasElement} b
|
|
76737
|
+
* @returns {boolean}
|
|
76738
|
+
*/
|
|
76739
|
+
function computeImageCanvasEquality(a, b) {
|
|
76740
|
+
if (
|
|
76741
|
+
a.width !== b.width
|
|
76742
|
+
|| a.height !== b.height
|
|
76743
|
+
) {
|
|
76744
|
+
return false;
|
|
76745
|
+
}
|
|
76746
|
+
|
|
76747
|
+
if (a.toDataURL() !== b.toDataURL()) {
|
|
76748
|
+
// kinda slow, but pretty reliable, as we don't actually know what canvases hold, i.e. webgl, 2d etc.
|
|
76749
|
+
return false;
|
|
76750
|
+
}
|
|
76751
|
+
|
|
76752
|
+
return true;
|
|
76753
|
+
}
|
|
76754
|
+
|
|
76755
|
+
/**
|
|
76756
|
+
*
|
|
76757
|
+
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} a
|
|
76758
|
+
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} b
|
|
76737
76759
|
* @returns {boolean}
|
|
76738
76760
|
*/
|
|
76739
76761
|
function textureImagesEqual(a, b) {
|
|
@@ -76763,7 +76785,11 @@ function textureImagesEqual(a, b) {
|
|
|
76763
76785
|
if (isImageBitmap(a) && isImageBitmap(b)) {
|
|
76764
76786
|
|
|
76765
76787
|
return computeImageBitmapEquality(a, b);
|
|
76766
|
-
|
|
76788
|
+
|
|
76789
|
+
}
|
|
76790
|
+
|
|
76791
|
+
if (a instanceof HTMLCanvasElement && b instanceof HTMLCanvasElement) {
|
|
76792
|
+
return computeImageCanvasEquality(a, b);
|
|
76767
76793
|
}
|
|
76768
76794
|
|
|
76769
76795
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
@@ -76788,16 +76814,15 @@ function textureImagesEqual(a, b) {
|
|
|
76788
76814
|
}
|
|
76789
76815
|
}
|
|
76790
76816
|
|
|
76817
|
+
return true;
|
|
76791
76818
|
}
|
|
76792
76819
|
|
|
76793
76820
|
if (isTypedArray(a.data) && isTypedArray(b.data)) {
|
|
76794
|
-
|
|
76795
|
-
return false;
|
|
76796
|
-
}
|
|
76821
|
+
return textureMipmapEqual(a, b);
|
|
76797
76822
|
}
|
|
76798
76823
|
|
|
76799
|
-
// assume
|
|
76800
|
-
return
|
|
76824
|
+
// assume different
|
|
76825
|
+
return false;
|
|
76801
76826
|
}
|
|
76802
76827
|
|
|
76803
76828
|
/**
|
package/package.json
CHANGED
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
export function computeTextureEquality(a: Texture, b: Texture): boolean;
|
|
8
8
|
/**
|
|
9
9
|
*
|
|
10
|
-
* @param {Image|[]|{width:number, height:number}} a
|
|
11
|
-
* @param {Image|[]|{width:number, height:number}} b
|
|
10
|
+
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} a
|
|
11
|
+
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} b
|
|
12
12
|
* @returns {boolean}
|
|
13
13
|
*/
|
|
14
|
-
export function textureImagesEqual(a: (new (width?: number, height?: number) => HTMLImageElement) | [] | {
|
|
14
|
+
export function textureImagesEqual(a: (new (width?: number, height?: number) => HTMLImageElement) | ImageBitmap | HTMLCanvasElement | [] | {
|
|
15
15
|
width: number;
|
|
16
16
|
height: number;
|
|
17
|
-
}, b: (new (width?: number, height?: number) => HTMLImageElement) | [] | {
|
|
17
|
+
}, b: (new (width?: number, height?: number) => HTMLImageElement) | ImageBitmap | HTMLCanvasElement | [] | {
|
|
18
18
|
width: number;
|
|
19
19
|
height: number;
|
|
20
20
|
}): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeTextureEquality.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/asset/loaders/material/computeTextureEquality.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,gEAFa,OAAO,CAoDnB;
|
|
1
|
+
{"version":3,"file":"computeTextureEquality.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/asset/loaders/material/computeTextureEquality.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,gEAFa,OAAO,CAoDnB;AAyBD;;;;;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"}
|
|
@@ -66,8 +66,30 @@ export function computeTextureEquality(a, b) {
|
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
*
|
|
69
|
-
* @param {
|
|
70
|
-
* @param {
|
|
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
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} a
|
|
92
|
+
* @param {Image|ImageBitmap|HTMLCanvasElement|[]|{width:number, height:number}} b
|
|
71
93
|
* @returns {boolean}
|
|
72
94
|
*/
|
|
73
95
|
export function textureImagesEqual(a, b) {
|
|
@@ -97,7 +119,11 @@ export function textureImagesEqual(a, b) {
|
|
|
97
119
|
if (isImageBitmap(a) && isImageBitmap(b)) {
|
|
98
120
|
|
|
99
121
|
return computeImageBitmapEquality(a, b);
|
|
100
|
-
|
|
122
|
+
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (a instanceof HTMLCanvasElement && b instanceof HTMLCanvasElement) {
|
|
126
|
+
return computeImageCanvasEquality(a, b);
|
|
101
127
|
}
|
|
102
128
|
|
|
103
129
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
@@ -122,16 +148,15 @@ export function textureImagesEqual(a, b) {
|
|
|
122
148
|
}
|
|
123
149
|
}
|
|
124
150
|
|
|
151
|
+
return true;
|
|
125
152
|
}
|
|
126
153
|
|
|
127
154
|
if (isTypedArray(a.data) && isTypedArray(b.data)) {
|
|
128
|
-
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
155
|
+
return textureMipmapEqual(a, b);
|
|
131
156
|
}
|
|
132
157
|
|
|
133
|
-
// assume
|
|
134
|
-
return
|
|
158
|
+
// assume different
|
|
159
|
+
return false;
|
|
135
160
|
}
|
|
136
161
|
|
|
137
162
|
/**
|