@realsee/five 6.8.3 → 6.8.4
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/five/index.js +16 -43
- package/five/index.mjs +53 -46
- package/gltf-loader/index.js +4 -4
- package/gltf-loader/index.mjs +6 -4
- package/line/index.js +4 -4
- package/line/index.mjs +9 -7
- package/package.json +1 -1
- package/plugins/index.js +11 -11
- package/plugins/index.mjs +60 -31
- package/react/index.js +3 -3
- package/react/index.mjs +2 -2
- package/shader-lib/index.js +3 -3
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +4 -4
- package/umd/five-line.js +4 -4
- package/umd/five-plugins.js +11 -11
- package/umd/five-react.js +3 -3
- package/umd/five-shader-lib.js +3 -3
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +4 -4
- package/umd/five-vue.js +3 -3
- package/umd/five.js +17 -44
- package/vfx/index.js +4 -4
- package/vfx/index.mjs +3 -3
- package/vue/index.js +3 -3
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +3 -3
- package/work-downloader/index.mjs +2 -2
package/plugins/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 2026/5/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/5/13
|
|
5
|
+
* Version: 6.8.4
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -556,13 +556,17 @@ var ne = class {
|
|
|
556
556
|
this.changeTapScreenPosition();
|
|
557
557
|
}, this.dispose = () => {
|
|
558
558
|
this.disable();
|
|
559
|
-
}, this.five = t
|
|
559
|
+
}, this.five = t;
|
|
560
|
+
let r = {
|
|
560
561
|
enabled: !0,
|
|
561
562
|
visible: !0,
|
|
562
563
|
mode: "box",
|
|
563
564
|
selectedId: null,
|
|
564
565
|
selectAll: !1
|
|
565
|
-
}
|
|
566
|
+
};
|
|
567
|
+
this.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
568
|
+
let a = Object.assign({}, n == null ? void 0 : n.config);
|
|
569
|
+
this._config = a, this.group.rotateX(Math.PI), this.wrapper.className = "ItemMaskPlugin", this.wrapper.innerHTML = "<span class=\"ItemMaskPluginCircle\"></span><span class=\"ItemMaskPluginCircle\"></span>", this.style.innerHTML = "\n .ItemMaskPlugin {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n }\n .ItemMaskPluginCircle {\n position: absolute;\n top: -10px;\n left: -10px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n box-shadow: 0px 0px 0px 2px #fff;\n }\n ", this.state.enabled && this._enable({ userAction: !1 });
|
|
566
570
|
}
|
|
567
571
|
load(e) {
|
|
568
572
|
return S(this, void 0, void 0, function* () {
|
|
@@ -573,7 +577,7 @@ var ne = class {
|
|
|
573
577
|
fragmentShader: "\n uniform sampler2D map;\n uniform float opacity;\n varying vec2 vUv;\n\n void main() {\n float alpha = 0.15;\n float depth = 0.003;\n if (vUv.x < depth || vUv.x > 1.0 - depth) {\n alpha = mix(1.0, 0.25, abs(vUv.y - 0.5) * 2.0);\n } else if (vUv.y < depth || vUv.y > 1.0 - depth) {\n alpha = mix(1.0, 0.25, abs(vUv.x - 0.5) * 2.0);\n }\n if (gl_FrontFacing) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, alpha * opacity);\n } else {\n gl_FragColor = vec4(1.0, 1.0, 1.0, alpha / 4.0 * opacity);\n }\n }\n ",
|
|
574
578
|
side: i.DoubleSide,
|
|
575
579
|
visible: this.state.selectedId === `${e.category_name}${e.index}`,
|
|
576
|
-
uniforms: { opacity: { value: this.state.mode === "box"
|
|
580
|
+
uniforms: { opacity: { value: +(this.state.mode === "box") } },
|
|
577
581
|
depthWrite: !1,
|
|
578
582
|
depthTest: !1,
|
|
579
583
|
transparent: !0
|
|
@@ -2154,14 +2158,18 @@ var U = (e) => {
|
|
|
2154
2158
|
};
|
|
2155
2159
|
}, this.dispose = () => {
|
|
2156
2160
|
this.disable();
|
|
2157
|
-
}, this.five = e
|
|
2161
|
+
}, this.five = e;
|
|
2162
|
+
let r = {
|
|
2158
2163
|
enabled: !1,
|
|
2159
2164
|
visible: !0,
|
|
2160
2165
|
arrowsVisible: !1
|
|
2161
|
-
}
|
|
2166
|
+
};
|
|
2167
|
+
this.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
2168
|
+
let a = Object.assign({
|
|
2162
2169
|
fixedLongitude: 0,
|
|
2163
2170
|
orthoView: !0
|
|
2164
|
-
}, n == null ? void 0 : n.config)
|
|
2171
|
+
}, n == null ? void 0 : n.config);
|
|
2172
|
+
this._config = a, this.state.enabled && this._enable({ userAction: !1 }), this.mc = new le.Manager(this.wrapper), this.mc.add(new le.Tap({ interval: 410 })), this.mc.add(new le.Pan({
|
|
2165
2173
|
threshold: 10,
|
|
2166
2174
|
pointers: 0
|
|
2167
2175
|
})), this.camera.setFromPose({
|
|
@@ -2425,10 +2433,14 @@ var ve = class {
|
|
|
2425
2433
|
constructor(e, t) {
|
|
2426
2434
|
super(e), this.dispose = () => {
|
|
2427
2435
|
this.disable();
|
|
2428
|
-
}, this.five = e
|
|
2436
|
+
}, this.five = e;
|
|
2437
|
+
let n = {
|
|
2429
2438
|
enabled: !0,
|
|
2430
2439
|
visible: !0
|
|
2431
|
-
}
|
|
2440
|
+
};
|
|
2441
|
+
this.state = Object.assign(n, t == null ? void 0 : t.initialState);
|
|
2442
|
+
let r = Object.assign({}, t == null ? void 0 : t.config);
|
|
2443
|
+
this._config = r, this.state.enabled && this._enable({ userAction: !1 }), this.cancelAnimation = null, this.skipStart = 0, this.skipEnd = 0, this.location = 0, this.totalDistance = 0, this.trajectory = null, this.currentKeyFrame = null, this.nextKeyframe = null, this.nextButOneKeyframe = null, this.keyframes = [], this.rate = this.config.rate || 1, this.virualCamera = this.five.camera.clone(), this.playingState = {
|
|
2432
2444
|
keyframeIndex: null,
|
|
2433
2445
|
progress: null
|
|
2434
2446
|
}, this.timeArray = null, this.startTimestamp = null, this.playbackStartTime = null, this.playbackEndTime = null, Object.defineProperties(this, { currentDistance: {
|
|
@@ -2728,10 +2740,14 @@ var Se = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
|
|
|
2728
2740
|
this.panoMesh.setOpacity(n), this.mesh.material.uniforms.progress.value = t, this.mesh.material.uniforms.opacity.value = n, this.mesh.material.uniforms.map.value.needsUpdate = !0, this.five.needsRender = !0;
|
|
2729
2741
|
}, this.dispose = () => {
|
|
2730
2742
|
this.disable();
|
|
2731
|
-
}, this.five = e
|
|
2743
|
+
}, this.five = e;
|
|
2744
|
+
let r = {
|
|
2732
2745
|
enabled: !1,
|
|
2733
2746
|
visible: !0
|
|
2734
|
-
}
|
|
2747
|
+
};
|
|
2748
|
+
this.state = Object.assign(r, t == null ? void 0 : t.initialState);
|
|
2749
|
+
let a = Object.assign(Object.assign({}, t == null ? void 0 : t.config), { maxOpacity: 1 });
|
|
2750
|
+
this._config = a, !(typeof document > "u") && (this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.canvas.width = Te, this.canvas.height = Ee, this.ctx.shadowColor = "rgba(255,255,255,0.5)", this.ctx.shadowBlur = 6, this.ctx.shadowOffsetX = 0, this.ctx.shadowOffsetY = 0, this.mesh.material.uniforms.map.value = new i.CanvasTexture(this.canvas), this.group.add(this.mesh), this.panoMesh.setProgress(1), this.panoMesh.setOpacity(0), this.group.add(this.panoMesh), this.state.enabled && this._enable({ userAction: !1 }));
|
|
2735
2751
|
}
|
|
2736
2752
|
load(e) {
|
|
2737
2753
|
return S(this, void 0, void 0, function* () {});
|
|
@@ -3158,11 +3174,14 @@ var Ie = class extends v.Controller {
|
|
|
3158
3174
|
});
|
|
3159
3175
|
}
|
|
3160
3176
|
constructor(e, t) {
|
|
3161
|
-
super(e), this.paths = /* @__PURE__ */ new Map(), this.up = new i.Vector3(0, 1, 0)
|
|
3177
|
+
super(e), this.paths = /* @__PURE__ */ new Map(), this.up = new i.Vector3(0, 1, 0);
|
|
3178
|
+
let n = {
|
|
3162
3179
|
enabled: !0,
|
|
3163
3180
|
visible: !0,
|
|
3164
3181
|
playing: !1
|
|
3165
|
-
}
|
|
3182
|
+
};
|
|
3183
|
+
this.state = Object.assign(n, t == null ? void 0 : t.initialState);
|
|
3184
|
+
let r = {
|
|
3166
3185
|
lineCount: 6,
|
|
3167
3186
|
spacing: .02,
|
|
3168
3187
|
lineWidth: 2,
|
|
@@ -3180,7 +3199,8 @@ var Ie = class extends v.Controller {
|
|
|
3180
3199
|
subMeshMaxOpacity: .5,
|
|
3181
3200
|
subMeshSegmentInterval: 3,
|
|
3182
3201
|
subMeshHighlightWidth: 1
|
|
3183
|
-
}
|
|
3202
|
+
};
|
|
3203
|
+
this._config = Object.assign(Object.assign({}, r), t == null ? void 0 : t.config), t != null && t.paths && t.paths.length > 0 && t.paths.forEach((e) => {
|
|
3184
3204
|
this.addPath(e);
|
|
3185
3205
|
}), this.state.enabled && this._enable({ userAction: !1 });
|
|
3186
3206
|
}
|
|
@@ -3318,7 +3338,7 @@ var Ie = class extends v.Controller {
|
|
|
3318
3338
|
for (let n = 0; n < c; n++) {
|
|
3319
3339
|
let r = (n - (c - 1) / 2) * l, a = e.points.map((a, o) => {
|
|
3320
3340
|
let s = o / (e.points.length - 1), c = t.getTangent(s).normalize(), l = new i.Vector3().crossVectors(this.up, c).normalize(), u = r * Math.abs((o - e.points.length / 2) / e.points.length - .5) * -1;
|
|
3321
|
-
return a.clone().addScaledVector(l, r + u).add(new i.Vector3(0, f + .02 * (n % 2 == 0
|
|
3341
|
+
return a.clone().addScaledVector(l, r + u).add(new i.Vector3(0, f + .02 * (n % 2 == 0), 0));
|
|
3322
3342
|
}), g = new i.CatmullRomCurve3(a), { positions: _ } = this.getPositions(g, s), v = new Fe();
|
|
3323
3343
|
v.setPositions(_);
|
|
3324
3344
|
let y = new Me({
|
|
@@ -3711,10 +3731,12 @@ var Ve = class extends x.Controller {
|
|
|
3711
3731
|
this.five.off("render.prepare", this.render), (e = this.resizeObserver) == null || e.disconnect(), this.resizeObserver = void 0;
|
|
3712
3732
|
}, this.dispose = () => {
|
|
3713
3733
|
this.removeAll(), this._disable({ userAction: !1 });
|
|
3714
|
-
}, this.five = e, this.renderer = new L(), this.renderer.domElement.id = "five-CSS3DPlugin", this.styleSheet.replaceSync(Re), /Chrome/.test(navigator.userAgent) && !/Edge|Edg|OPR/.test(navigator.userAgent) && this.styleSheet.insertRule("#five-CSS3DPlugin * { transform-style: preserve-3d; }"), document && document.adoptedStyleSheets.push(this.styleSheet)
|
|
3734
|
+
}, this.five = e, this.renderer = new L(), this.renderer.domElement.id = "five-CSS3DPlugin", this.styleSheet.replaceSync(Re), /Chrome/.test(navigator.userAgent) && !/Edge|Edg|OPR/.test(navigator.userAgent) && this.styleSheet.insertRule("#five-CSS3DPlugin * { transform-style: preserve-3d; }"), document && document.adoptedStyleSheets.push(this.styleSheet);
|
|
3735
|
+
let n = {
|
|
3715
3736
|
enabled: !0,
|
|
3716
3737
|
visible: !0
|
|
3717
|
-
}
|
|
3738
|
+
};
|
|
3739
|
+
this.state = Object.assign(n, t == null ? void 0 : t.initialState), this.state.enabled ? this._enable({ userAction: !1 }) : this.styleSheet.disabled = !0;
|
|
3718
3740
|
}
|
|
3719
3741
|
load(e) {
|
|
3720
3742
|
return S(this, void 0, void 0, function* () {});
|
|
@@ -3875,10 +3897,12 @@ var Ve = class extends x.Controller {
|
|
|
3875
3897
|
this.five.off("render.prepare", this.render), (e = this.resizeObserver) == null || e.disconnect(), this.resizeObserver = void 0;
|
|
3876
3898
|
}, this.dispose = () => {
|
|
3877
3899
|
this.removeAll(), this._disable({ userAction: !1 });
|
|
3878
|
-
}, this.five = e, this.renderer = new Ye(), this.renderer.domElement.id = "five-CSS2DPlugin", this.styleSheet.replaceSync(Xe), document && document.adoptedStyleSheets.push(this.styleSheet)
|
|
3900
|
+
}, this.five = e, this.renderer = new Ye(), this.renderer.domElement.id = "five-CSS2DPlugin", this.styleSheet.replaceSync(Xe), document && document.adoptedStyleSheets.push(this.styleSheet);
|
|
3901
|
+
let n = {
|
|
3879
3902
|
enabled: !0,
|
|
3880
3903
|
visible: !0
|
|
3881
|
-
}
|
|
3904
|
+
};
|
|
3905
|
+
this.state = Object.assign(n, t == null ? void 0 : t.initialState), this.state.enabled ? this._enable({ userAction: !1 }) : this.styleSheet.disabled = !0;
|
|
3882
3906
|
}
|
|
3883
3907
|
load(e) {
|
|
3884
3908
|
return S(this, void 0, void 0, function* () {});
|
|
@@ -4095,10 +4119,12 @@ var at = class extends i.Mesh {
|
|
|
4095
4119
|
opacity: 1,
|
|
4096
4120
|
depthTest: !1,
|
|
4097
4121
|
depthWrite: !1
|
|
4098
|
-
});
|
|
4099
|
-
this.arrow = new at(
|
|
4100
|
-
let
|
|
4101
|
-
this.
|
|
4122
|
+
}), a = new i.ConeGeometry(.04, this.arrowHeight, 32);
|
|
4123
|
+
this.arrow = new at(a, r(), e.direction), this.arrow.name = `arrow-${e.direction}`, this.arrow.renderOrder = K.MOVE_HELPER_ARROW;
|
|
4124
|
+
let o = new i.ConeGeometry(.04, this.arrowHeight, 32);
|
|
4125
|
+
this.arrowNeg = new at(o, r(), e.direction), this.arrowNeg.name = `arrow-neg-${e.direction}`, this.arrowNeg.renderOrder = K.MOVE_HELPER_ARROW;
|
|
4126
|
+
let s = .004, c = new i.CylinderGeometry(s, s, this.lineHeight, 32);
|
|
4127
|
+
this.line = new at(c, r(), e.direction), this.line.name = `line-${e.direction}`, this.line.renderOrder = K.MOVE_HELPER_ARROW, this.formatGeometries(), this.add(this.arrow, this.arrowNeg, this.line);
|
|
4102
4128
|
}
|
|
4103
4129
|
formatGeometries() {
|
|
4104
4130
|
let e = this.lineHeight, t = this.arrowHeight;
|
|
@@ -4864,10 +4890,11 @@ var Et = class extends xt {
|
|
|
4864
4890
|
};
|
|
4865
4891
|
} else {
|
|
4866
4892
|
if (!s) return this.dragEnd();
|
|
4893
|
+
let e = new i.Line3(c.clone().sub(s.normalize()), c.clone().add(s.normalize()));
|
|
4867
4894
|
this.startInfo = {
|
|
4868
4895
|
draggingDirection: n,
|
|
4869
4896
|
startVectorProject: c,
|
|
4870
|
-
line:
|
|
4897
|
+
line: e
|
|
4871
4898
|
};
|
|
4872
4899
|
try {
|
|
4873
4900
|
let e = s.clone().normalize(), t = this.helperObject3D.getWorldPosition(new i.Vector3()), n = this.solidGuide.createSolidLine(t, e, {
|
|
@@ -5079,20 +5106,22 @@ var Et = class extends xt {
|
|
|
5079
5106
|
this.helperController && this.helperController.onIntersectionOnModelUpdate(...e);
|
|
5080
5107
|
};
|
|
5081
5108
|
let { camera: l, model: u, scene: d } = e, f = e.getElement();
|
|
5082
|
-
this.five = e, !
|
|
5109
|
+
if (this.five = e, !l || !u || !f || !d) return;
|
|
5110
|
+
let p = c == null ? d : c, m = () => {
|
|
5111
|
+
e.needsRender = !0;
|
|
5112
|
+
};
|
|
5113
|
+
this.helperController = new n({
|
|
5083
5114
|
camera: l,
|
|
5084
5115
|
model: u,
|
|
5085
5116
|
domEvents: t,
|
|
5086
5117
|
originObject3D: r,
|
|
5087
5118
|
helperObject3D: i,
|
|
5088
5119
|
container: f,
|
|
5089
|
-
scene:
|
|
5090
|
-
onRender:
|
|
5091
|
-
e.needsRender = !0;
|
|
5092
|
-
},
|
|
5120
|
+
scene: p,
|
|
5121
|
+
onRender: m,
|
|
5093
5122
|
sharedHooks: o,
|
|
5094
5123
|
sharedInternalHooks: s
|
|
5095
|
-
}, a), e.on("wantsTapGesture", this.onFiveWantsTapGesture), e.on("wantsGesture", this.onFiveWantsGesture), e.on("intersectionOnModelUpdate", this.onFiveIntersectionOnModelUpdate)
|
|
5124
|
+
}, a), e.on("wantsTapGesture", this.onFiveWantsTapGesture), e.on("wantsGesture", this.onFiveWantsGesture), e.on("intersectionOnModelUpdate", this.onFiveIntersectionOnModelUpdate);
|
|
5096
5125
|
}
|
|
5097
5126
|
dispose() {
|
|
5098
5127
|
var e;
|
package/react/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 2026/5/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/5/13
|
|
5
|
+
* Version: 6.8.4
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,4 +252,4 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`three`);l=s(l);let u=require(`@realsee/five`);var d=[],f=[];function p({preserveDrawingBuffer:e=!0,webgl2:t=!1}={}){if(typeof window>`u`)return;let n=null;if(n=t?d.shift():f.shift(),!n){if(t){let t=document.createElement(`canvas`),r=t.getContext(`webgl2`);r?n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!0,alpha:!0,stencil:!0,canvas:t,context:r}):(console.error(`error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl.`),n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0}))}else n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0});n.outputEncoding=l.sRGBEncoding}return n.autoClear=!0,n}function m(e){e&&(e.capabilities.isWebGL2?f.indexOf(e)===-1&&f.push(e):d.indexOf(e)===-1&&d.push(e))}var h=c.createContext(null);function g(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.five}function _(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function v(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].workCode!==r[e].workCode)return!1;return!0}function y(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new u.Five(Object.assign(Object.assign({},e),{renderer:void 0})),this.loadWork=this.loadWork.bind(this),this.state={}}loadWork(e,t,n,r=!0){if(this.props.work)throw Error(`props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.`);return this.five.load(e,t,n,r)}shouldComponentUpdate(e){return this.five.renderer&&this.five&&e.work&&!v(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var t;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;let n;if(typeof window<`u`){n=p({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});let t=(0,u.getViewportScale)()===1?window.devicePixelRatio:1;n==null||n.setPixelRatio(t)}this.five.renderer=n,this.setState({renderer:n}),this.__fiveEventDisposers.push(this.five.on(`load`,()=>{this.props.onWorksChange&&this.props.onWorksChange(this.five.works)})),this.__fiveEventDisposers.push(this.five.on(`stateChange`,(e,t)=>{this.props.onStateChange&&this.props.onStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`currentStateChange`,(e,t)=>{this.props.onCurrentStateChange&&this.props.onCurrentStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`error`,e=>{this.props.onError?this.props.onError(e):console.warn(e.message)}));let r=this.props.work||this.props.initialWork;r&&this.five.load(r,this.props.initialState,this.props.initialOptions,(t=this.props.initialUserAction)==null?!0:t)}componentWillUnmount(){var e;(e=this.five.controller)==null||e.destroy();let t=this.five.renderer;this.five.renderer=void 0,m(t),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(h.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var b=typeof window<`u`?c.useLayoutEffect:c.useEffect,x={display:`inline-block`,overflow:`hidden`},S=({width:e,height:t})=>{let n=g(),r=c.createRef(),i=Object.assign({width:e,height:t},x);return b(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})},C=({children:e})=>{let t=g(),n=c.useRef(null);return c.useEffect(()=>{let e=n.current;if(!e||!t.renderer)return;let r=t.renderer.domElement;e.appendChild(r);let i=()=>{var n;let{width:r,height:i}=e.getBoundingClientRect();r===0||i===0||(t.camera.aspect=r/i,t.camera.updateProjectionMatrix(),(n=t.renderer)==null||n.setSize(r,i),t.refresh({width:r,height:i}),t.needsRender=!0)},a=new ResizeObserver(i);return a.observe(e),i(),()=>{r.parentNode===e&&e.removeChild(r),a.unobserve(e),a.disconnect()}},[]),c.createElement(`div`,{ref:n,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},e)},w=({renderChildren:e,load:t,children:n,fallback:r})=>{let i=c.useContext(h),a=i==null?void 0:i.five,[o,s]=c.useState(!!e),[l,u]=c.useState(!1);return c.useEffect(()=>{a&&a.getElement()&&(s(!0),t&&t(a).then(e=>{a.load(...e)}))},[a]),c.useEffect(()=>{if(!a)return;let e=()=>u(!0);return a.on(`works.load`,e),a.works&&a.works.length>0&&u(!0),()=>{a.off(`works.load`,e)}},[a]),!a||!l&&!e||!o?r==null?null:c.createElement(c.Fragment,null,r):c.createElement(c.Fragment,null,n)},T={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},E={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0,webgl2:!0},D=({fiveInitArgs:e=E,renderChildren:t,plugins:n,load:r,children:i,fullscreen:a,autoCanvas:o=!0,fallback:s})=>{let[l]=c.useState(()=>y(Object.assign(Object.assign({},e),{plugins:n}))),u=[];o&&u.push(c.createElement(C,{key:`auto-canvas`})),i&&u.push(i);let d=c.createElement(l,null,c.createElement(w,{load:r,renderChildren:t,fallback:s},...u));return a?c.createElement(`div`,{style:T},d):d};function O(){return g()}function k(e,t){let n=g(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var A=k;function j(){let e=g(),t=_(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function M(e){return Object.assign({},e.state)}function N(){let e=g(),[t,n]=c.useState(()=>M(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(M(e))),[e]),[t,r]}function ee(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function te(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function P(e,t,n){let r=g(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function F(){let e=g();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function I(){let e=g(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function L(e){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}function ne(){let e=g(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(L(e))),[e]),t}function R(e){return e.camera.getWorldDirection(new l.Vector3)}function re(){let e=g(),[t,n]=c.useState(()=>R(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(R(e))),[e]),t}function ie(){let e=g();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function z(e){return e.model.empty?`Empty`:`Loaded`}function ae(){let e=g(),[t,n]=c.useState(()=>z(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(z(e))),[e]),t}var B=new Map,V=new Map;function H(e){let t=V.get(e);t&&t.forEach(e=>e())}function U(e,t){return V.has(e)||V.set(e,new Set),V.get(e).add(t),()=>{let n=V.get(e);n&&(n.delete(t),n.size===0&&V.delete(e))}}function W(e,t){return`${e}:${t}`}function G(e,t){var n;return(n=B.get(W(e,t)))==null?void 0:n.plugin}function K(e,t,n){B.set(W(e,t),{plugin:n}),H(e)}function q(e,t){var n,r;let i=g(),a=(r=(n=i.work)==null?void 0:n.workCode)==null?``:r,o=W(a,e),s=(0,c.useRef)(i),[,l]=(0,c.useState)(0);return(0,c.useEffect)(()=>{if(a)return U(a,()=>l(e=>e+1))},[a]),(0,c.useEffect)(()=>{if(s.current===i)return;s.current=i;let n=B.get(o);if(!n)return;let r=n.plugin;if(t!=null&&t.reCreateOnFiveChange&&t.createPlugin){typeof r.dispose==`function`&&r.dispose();let n=t.createPlugin(i);B.set(o,{plugin:n}),i.plugins[e]=n,H(a)}else r&&(typeof r.updateFive==`function`?r.updateFive(i):`five`in r&&(r.five=i))},[i]),(0,c.useCallback)(()=>{let n=B.get(o);if(n)return i.plugins[e]=n.plugin,n.plugin;let r=i.plugins[e];if(r)return B.set(o,{plugin:r}),r;if(t!=null&&t.createPlugin){let n=t.createPlugin(i);return B.set(o,{plugin:n}),i.plugins[e]=n,H(a),n}},[o,i,t==null?void 0:t.createPlugin])()}function J(){let e=g(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function oe(){let e=g(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var se=`$five`;function Y(e,t){return t.indexOf(e)>=0}function X(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function ce(e,t){let n=Y(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function le(e,t){let n=Y(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function ue(e,t){let n=Y(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function de(e,t){return[Y(`unsafe__fiveInstance`,t)?e:void 0]}function fe(e,t){let n=Y(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function pe(e,t){let n=Y(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function me(e,t){return[Y(`scene`,t)?e.scene:void 0]}function he(e,t){let n=Y(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new l.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function ge(e,t){let n=Y(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function Z(e,t){let n=Y(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function _e(e,t){let n=Y(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function ve(e,t){let n=Y(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function ye(e,t){if(Y(`loadWork`,t))return e}function be(e,t){if(Y(`setState`,t))return(...t)=>e.setState(...t)}function xe(e,t){if(Y(`on`,t))return(...t)=>e.on(...t)}function Se(e,t){if(Y(`on`,t))return(...t)=>e.once(...t)}function Ce(e,t){if(Y(`off`,t))return(...t)=>e.off(...t)}function we(e,t){if(Y(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function Te(e,t){if(Y(`project2d`,t))return(...t)=>e.project2d(...t)}function Ee(e,t){if(Y(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function De(e,t){if(Y(`getPixels`,t))return e.getPixels.bind(e)}function Oe(e,t){if(Y(`render`,t))return(...t)=>e.render(...t)}function ke(e,t){if(Y(`needsRender`,t))return()=>{e.needsRender=!0}}function Ae(e,t){if(Y(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function je(e,t){if(Y(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function Me(e,t){if(Y(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Ne(e){return function(t){return c.forwardRef((n,r)=>{let i=g(),a=_(),[o]=de(i,e),[s,l]=ce(i,e),[u,d]=le(i,e),[f,p]=ue(i,e),[m,h]=fe(i,e),[v,y]=pe(i,e),[b]=me(i,e),[x,S]=he(i,e),[C,w]=ge(i,e),[T,E]=Z(i,e),[D,O]=_e(i,e),[k,A]=ve(i,e),j=c.useMemo(()=>{let t={};return X(t,{setState:be(i,e),loadWork:ye(a,e),on:xe(i,e),once:Se(i,e),off:Ce(i,e),intersectRaycaster:we(i,e),project2d:Te(i,e),updateCamera:Ee(i,e),getPixels:De(i,e),render:Oe(i,e),needsRender:ke(i,e),preloadPano:Ae(i,e),showFloor:je(i,e),toggleHelperVisible:Me(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return X(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:f,work:m,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,p,h,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function Pe(...e){return e}function Q(e,t){let n={},r=t.length,i=-1;for(;++i<r;){let r=t[i];r in e&&(n[r]=e[r])}return n}function Fe(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Ie(e,t){for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++)if(e[n]===t[r])return!0;return!1}var $=class{constructor(e,t){this.values=e,this.listeners=[],this.onValuesChange=t}on(e,t){let n=[e,t];return this.listeners.push(n),()=>{let e=this.listeners.indexOf(n);e>=0&&this.listeners.splice(e,1)}}getValues(e){return Q(this.values,e)}setValues(e,t){let n=[];for(let r in t)e.indexOf(r)>=0&&!Fe(t[r],this.values[r])&&n.push(r);if(n.length===0)return;let r=Object.assign({},this.values);for(let e of n)this.values[e]=t[e];this.onValuesChange&&this.onValuesChange(this.values,r);for(let[e,t]of this.listeners){if(!Ie(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Le(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveApp=D,exports.FiveAutoCanvas=C,exports.FiveCanvas=S,exports.INJECTION_PROPNAME=se,exports.Store=$,exports.createFiveFeature=Pe,exports.createFiveProvider=y,exports.createStore=Le,exports.getPlugin=G,exports.setPlugin=K,exports.unsafe__useFiveInstance=O,exports.useFiveAction=F,exports.useFiveCameraDirection=re,exports.useFiveCameraRaycaster=ne,exports.useFiveCurrentObserver=te,exports.useFiveCurrentState=ee,exports.useFiveEventCallback=P,exports.useFiveFloor=J,exports.useFiveHelper=oe,exports.useFiveModelIntersectRaycaster=ie,exports.useFiveModelReadyState=ae,exports.useFivePlugin=q,exports.useFiveProject2d=I,exports.useFiveScene=A,exports.useFiveSceneEffect=k,exports.useFiveState=N,exports.useFiveWork=j,exports.withFive=Ne;
|
|
255
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c,1);let l=require(`three`);l=s(l,1);let u=require(`@realsee/five`);var d=[],f=[];function p({preserveDrawingBuffer:e=!0,webgl2:t=!1}={}){if(typeof window>`u`)return;let n=null;if(n=t?d.shift():f.shift(),!n){if(t){let t=document.createElement(`canvas`),r=t.getContext(`webgl2`);r?n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!0,alpha:!0,stencil:!0,canvas:t,context:r}):(console.error(`error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl.`),n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0}))}else n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0});n.outputEncoding=l.sRGBEncoding}return n.autoClear=!0,n}function m(e){e&&(e.capabilities.isWebGL2?f.indexOf(e)===-1&&f.push(e):d.indexOf(e)===-1&&d.push(e))}var h=c.createContext(null);function g(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.five}function _(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function v(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].workCode!==r[e].workCode)return!1;return!0}function y(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new u.Five(Object.assign(Object.assign({},e),{renderer:void 0})),this.loadWork=this.loadWork.bind(this),this.state={}}loadWork(e,t,n,r=!0){if(this.props.work)throw Error(`props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.`);return this.five.load(e,t,n,r)}shouldComponentUpdate(e){return this.five.renderer&&this.five&&e.work&&!v(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var t;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;let n;if(typeof window<`u`){n=p({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});let t=(0,u.getViewportScale)()===1?window.devicePixelRatio:1;n==null||n.setPixelRatio(t)}this.five.renderer=n,this.setState({renderer:n}),this.__fiveEventDisposers.push(this.five.on(`load`,()=>{this.props.onWorksChange&&this.props.onWorksChange(this.five.works)})),this.__fiveEventDisposers.push(this.five.on(`stateChange`,(e,t)=>{this.props.onStateChange&&this.props.onStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`currentStateChange`,(e,t)=>{this.props.onCurrentStateChange&&this.props.onCurrentStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`error`,e=>{this.props.onError?this.props.onError(e):console.warn(e.message)}));let r=this.props.work||this.props.initialWork;r&&this.five.load(r,this.props.initialState,this.props.initialOptions,(t=this.props.initialUserAction)==null?!0:t)}componentWillUnmount(){var e;(e=this.five.controller)==null||e.destroy();let t=this.five.renderer;this.five.renderer=void 0,m(t),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(h.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var b=typeof window<`u`?c.useLayoutEffect:c.useEffect,x={display:`inline-block`,overflow:`hidden`},S=({width:e,height:t})=>{let n=g(),r=c.createRef(),i=Object.assign({width:e,height:t},x);return b(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})},C=({children:e})=>{let t=g(),n=c.useRef(null);return c.useEffect(()=>{let e=n.current;if(!e||!t.renderer)return;let r=t.renderer.domElement;e.appendChild(r);let i=()=>{var n;let{width:r,height:i}=e.getBoundingClientRect();r===0||i===0||(t.camera.aspect=r/i,t.camera.updateProjectionMatrix(),(n=t.renderer)==null||n.setSize(r,i),t.refresh({width:r,height:i}),t.needsRender=!0)},a=new ResizeObserver(i);return a.observe(e),i(),()=>{r.parentNode===e&&e.removeChild(r),a.unobserve(e),a.disconnect()}},[]),c.createElement(`div`,{ref:n,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},e)},w=({renderChildren:e,load:t,children:n,fallback:r})=>{let i=c.useContext(h),a=i==null?void 0:i.five,[o,s]=c.useState(!!e),[l,u]=c.useState(!1);return c.useEffect(()=>{a&&a.getElement()&&(s(!0),t&&t(a).then(e=>{a.load(...e)}))},[a]),c.useEffect(()=>{if(!a)return;let e=()=>u(!0);return a.on(`works.load`,e),a.works&&a.works.length>0&&u(!0),()=>{a.off(`works.load`,e)}},[a]),!a||!l&&!e||!o?r==null?null:c.createElement(c.Fragment,null,r):c.createElement(c.Fragment,null,n)},T={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},E={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0,webgl2:!0},D=({fiveInitArgs:e=E,renderChildren:t,plugins:n,load:r,children:i,fullscreen:a,autoCanvas:o=!0,fallback:s})=>{let[l]=c.useState(()=>y(Object.assign(Object.assign({},e),{plugins:n}))),u=[];o&&u.push(c.createElement(C,{key:`auto-canvas`})),i&&u.push(i);let d=c.createElement(l,null,c.createElement(w,{load:r,renderChildren:t,fallback:s},...u));return a?c.createElement(`div`,{style:T},d):d};function O(){return g()}function k(e,t){let n=g(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var A=k;function j(){let e=g(),t=_(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function M(e){return Object.assign({},e.state)}function N(){let e=g(),[t,n]=c.useState(()=>M(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(M(e))),[e]),[t,r]}function ee(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function te(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function P(e,t,n){let r=g(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function F(){let e=g();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function I(){let e=g(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function L(e){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}function ne(){let e=g(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(L(e))),[e]),t}function R(e){return e.camera.getWorldDirection(new l.Vector3)}function re(){let e=g(),[t,n]=c.useState(()=>R(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(R(e))),[e]),t}function ie(){let e=g();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function z(e){return e.model.empty?`Empty`:`Loaded`}function ae(){let e=g(),[t,n]=c.useState(()=>z(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(z(e))),[e]),t}var B=new Map,V=new Map;function H(e){let t=V.get(e);t&&t.forEach(e=>e())}function U(e,t){return V.has(e)||V.set(e,new Set),V.get(e).add(t),()=>{let n=V.get(e);n&&(n.delete(t),n.size===0&&V.delete(e))}}function W(e,t){return`${e}:${t}`}function G(e,t){var n;return(n=B.get(W(e,t)))==null?void 0:n.plugin}function K(e,t,n){B.set(W(e,t),{plugin:n}),H(e)}function q(e,t){var n,r;let i=g(),a=(r=(n=i.work)==null?void 0:n.workCode)==null?``:r,o=W(a,e),s=(0,c.useRef)(i),[,l]=(0,c.useState)(0);return(0,c.useEffect)(()=>{if(a)return U(a,()=>l(e=>e+1))},[a]),(0,c.useEffect)(()=>{if(s.current===i)return;s.current=i;let n=B.get(o);if(!n)return;let r=n.plugin;if(t!=null&&t.reCreateOnFiveChange&&t.createPlugin){typeof r.dispose==`function`&&r.dispose();let n=t.createPlugin(i);B.set(o,{plugin:n}),i.plugins[e]=n,H(a)}else r&&(typeof r.updateFive==`function`?r.updateFive(i):`five`in r&&(r.five=i))},[i]),(0,c.useCallback)(()=>{let n=B.get(o);if(n)return i.plugins[e]=n.plugin,n.plugin;let r=i.plugins[e];if(r)return B.set(o,{plugin:r}),r;if(t!=null&&t.createPlugin){let n=t.createPlugin(i);return B.set(o,{plugin:n}),i.plugins[e]=n,H(a),n}},[o,i,t==null?void 0:t.createPlugin])()}function J(){let e=g(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function oe(){let e=g(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var se=`$five`;function Y(e,t){return t.indexOf(e)>=0}function X(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function ce(e,t){let n=Y(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function le(e,t){let n=Y(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function ue(e,t){let n=Y(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function de(e,t){return[Y(`unsafe__fiveInstance`,t)?e:void 0]}function fe(e,t){let n=Y(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function pe(e,t){let n=Y(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function me(e,t){return[Y(`scene`,t)?e.scene:void 0]}function he(e,t){let n=Y(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new l.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function ge(e,t){let n=Y(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function Z(e,t){let n=Y(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function _e(e,t){let n=Y(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function ve(e,t){let n=Y(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function ye(e,t){if(Y(`loadWork`,t))return e}function be(e,t){if(Y(`setState`,t))return(...t)=>e.setState(...t)}function xe(e,t){if(Y(`on`,t))return(...t)=>e.on(...t)}function Se(e,t){if(Y(`on`,t))return(...t)=>e.once(...t)}function Ce(e,t){if(Y(`off`,t))return(...t)=>e.off(...t)}function we(e,t){if(Y(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function Te(e,t){if(Y(`project2d`,t))return(...t)=>e.project2d(...t)}function Ee(e,t){if(Y(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function De(e,t){if(Y(`getPixels`,t))return e.getPixels.bind(e)}function Oe(e,t){if(Y(`render`,t))return(...t)=>e.render(...t)}function ke(e,t){if(Y(`needsRender`,t))return()=>{e.needsRender=!0}}function Ae(e,t){if(Y(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function je(e,t){if(Y(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function Me(e,t){if(Y(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Ne(e){return function(t){return c.forwardRef((n,r)=>{let i=g(),a=_(),[o]=de(i,e),[s,l]=ce(i,e),[u,d]=le(i,e),[f,p]=ue(i,e),[m,h]=fe(i,e),[v,y]=pe(i,e),[b]=me(i,e),[x,S]=he(i,e),[C,w]=ge(i,e),[T,E]=Z(i,e),[D,O]=_e(i,e),[k,A]=ve(i,e),j=c.useMemo(()=>{let t={};return X(t,{setState:be(i,e),loadWork:ye(a,e),on:xe(i,e),once:Se(i,e),off:Ce(i,e),intersectRaycaster:we(i,e),project2d:Te(i,e),updateCamera:Ee(i,e),getPixels:De(i,e),render:Oe(i,e),needsRender:ke(i,e),preloadPano:Ae(i,e),showFloor:je(i,e),toggleHelperVisible:Me(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return X(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:f,work:m,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,p,h,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function Pe(...e){return e}function Q(e,t){let n={},r=t.length,i=-1;for(;++i<r;){let r=t[i];r in e&&(n[r]=e[r])}return n}function Fe(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Ie(e,t){for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++)if(e[n]===t[r])return!0;return!1}var $=class{constructor(e,t){this.values=e,this.listeners=[],this.onValuesChange=t}on(e,t){let n=[e,t];return this.listeners.push(n),()=>{let e=this.listeners.indexOf(n);e>=0&&this.listeners.splice(e,1)}}getValues(e){return Q(this.values,e)}setValues(e,t){let n=[];for(let r in t)e.indexOf(r)>=0&&!Fe(t[r],this.values[r])&&n.push(r);if(n.length===0)return;let r=Object.assign({},this.values);for(let e of n)this.values[e]=t[e];this.onValuesChange&&this.onValuesChange(this.values,r);for(let[e,t]of this.listeners){if(!Ie(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Le(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveApp=D,exports.FiveAutoCanvas=C,exports.FiveCanvas=S,exports.INJECTION_PROPNAME=se,exports.Store=$,exports.createFiveFeature=Pe,exports.createFiveProvider=y,exports.createStore=Le,exports.getPlugin=G,exports.setPlugin=K,exports.unsafe__useFiveInstance=O,exports.useFiveAction=F,exports.useFiveCameraDirection=re,exports.useFiveCameraRaycaster=ne,exports.useFiveCurrentObserver=te,exports.useFiveCurrentState=ee,exports.useFiveEventCallback=P,exports.useFiveFloor=J,exports.useFiveHelper=oe,exports.useFiveModelIntersectRaycaster=ie,exports.useFiveModelReadyState=ae,exports.useFivePlugin=q,exports.useFiveProject2d=I,exports.useFiveScene=A,exports.useFiveSceneEffect=k,exports.useFiveState=N,exports.useFiveWork=j,exports.withFive=Ne;
|
package/react/index.mjs
CHANGED
package/shader-lib/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 2026/5/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/5/13
|
|
5
|
+
* Version: 6.8.4
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@realsee/five`),l=require(`three`);l=s(l);var u={type:[`pointcloud`],fragment:{mainBefore:`
|
|
255
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@realsee/five`),l=require(`three`);l=s(l,1);var u={type:[`pointcloud`],fragment:{mainBefore:`
|
|
256
256
|
#if defined(USE_PLANE_DISTANCE)
|
|
257
257
|
struct Plane {
|
|
258
258
|
vec3 normal;
|
package/shader-lib/index.mjs
CHANGED
package/sticker/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 2026/5/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/5/13
|
|
5
|
+
* Version: 6.8.4
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,4 +252,4 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`three`);c=s(c);var l=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),u=new Float32Array([0,0,1,0,0,1,1,1]),d=new Uint8Array([0,1,2,1,3,2]),f=new c.BufferGeometry;f.setAttribute(`position`,new c.BufferAttribute(l,3)),f.setAttribute(`uv`,new c.BufferAttribute(u,2)),f.setIndex(new c.BufferAttribute(d,1));var p=window,m=p.requestAnimationFrame||p.mozRequestAnimationFrame||p.webkitRequestAnimationFrame||p.msRequestAnimationFrame||(e=>setTimeout(e,16)),h=typeof performance<`u`&&performance.timing!==void 0?performance.timing.navigationStart:Date.now(),g=typeof performance<`u`?(()=>h+performance.now()):(()=>Date.now());function _(e,t){e.naturalWidth>0&&m(()=>t());let n=()=>t();return e.addEventListener(`load`,n,!1),()=>e.removeEventListener(`load`,n,!1)}function v(e,t){let n=g(),r=!1,i=()=>{r=!0,t(),g()-n<3e3?m(i):r=!1},a=()=>{n=g(),r===!1&&i()};return e.addEventListener(`timeupdate`,a,!1),()=>{e.removeEventListener(`timeupdate`,a,!1),r=!1}}function y(e,t){let n=e.dispose;e.dispose=()=>{t(),n.call(e)}}var b=class extends c.Mesh{static get version(){return`6.8.
|
|
255
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`three`);c=s(c,1);var l=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),u=new Float32Array([0,0,1,0,0,1,1,1]),d=new Uint8Array([0,1,2,1,3,2]),f=new c.BufferGeometry;f.setAttribute(`position`,new c.BufferAttribute(l,3)),f.setAttribute(`uv`,new c.BufferAttribute(u,2)),f.setIndex(new c.BufferAttribute(d,1));var p=window,m=p.requestAnimationFrame||p.mozRequestAnimationFrame||p.webkitRequestAnimationFrame||p.msRequestAnimationFrame||(e=>setTimeout(e,16)),h=typeof performance<`u`&&performance.timing!==void 0?performance.timing.navigationStart:Date.now(),g=typeof performance<`u`?(()=>h+performance.now()):(()=>Date.now());function _(e,t){e.naturalWidth>0&&m(()=>t());let n=()=>t();return e.addEventListener(`load`,n,!1),()=>e.removeEventListener(`load`,n,!1)}function v(e,t){let n=g(),r=!1,i=()=>{r=!0,t(),g()-n<3e3?m(i):r=!1},a=()=>{n=g(),r===!1&&i()};return e.addEventListener(`timeupdate`,a,!1),()=>{e.removeEventListener(`timeupdate`,a,!1),r=!1}}function y(e,t){let n=e.dispose;e.dispose=()=>{t(),n.call(e)}}var b=class extends c.Mesh{static get version(){return`6.8.4`}constructor(e,t,n){let r=new c.MeshBasicMaterial;if(super(f,r),this._needsRender=!1,this.scale.set(e,t,1),typeof n==`string`){r.transparent=/\.png$/.test(n);let e=new Image;e.src=n,e.crossOrigin=``,n=e}if(n instanceof HTMLImageElement){let e=r.map=new c.Texture;e.wrapS=c.ClampToEdgeWrapping,e.wrapT=c.ClampToEdgeWrapping,e.minFilter=c.LinearFilter,e.encoding=c.sRGBEncoding,y(e,_(n,()=>{e.image=n,e.needsUpdate=!0,this._needsRender=!0}))}else if(n instanceof HTMLCanvasElement)r.map=new c.CanvasTexture(n);else if(n instanceof HTMLVideoElement){let e=r.map=new c.VideoTexture(n);e.wrapS=c.ClampToEdgeWrapping,e.wrapT=c.ClampToEdgeWrapping,e.minFilter=c.LinearFilter,e.encoding=c.sRGBEncoding,y(e,v(n,()=>{this._needsRender=!0}))}}get needsRender(){return this._needsRender}set needsRender(e){this._needsRender=e,e===!0&&this.material.map&&(this.material.map.needsUpdate=!0)}setSize(e,t){this.scale.set(e,t,1),this._needsRender=!0}setTransparent(e){this.material.transparent=e,this._needsRender=!0}locationWithIntersection(e,t=.005){let{point:n,face:r}=e;this.position.copy(n),r&&(this.position.add(r.normal.clone().setLength(t)),this.lookAt(n.clone().add(r.normal))),this._needsRender=!0}dispose(){var e;(e=this.material.map)==null||e.dispose(),this.material.dispose()}};exports.Sticker=b;
|
package/sticker/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 2026/5/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/5/13
|
|
5
|
+
* Version: 6.8.4
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -311,7 +311,7 @@ function d(e, t) {
|
|
|
311
311
|
}
|
|
312
312
|
var f = class extends e.Mesh {
|
|
313
313
|
static get version() {
|
|
314
|
-
return "6.8.
|
|
314
|
+
return "6.8.4";
|
|
315
315
|
}
|
|
316
316
|
constructor(t, n, r) {
|
|
317
317
|
let a = new e.MeshBasicMaterial();
|
package/umd/five-gltf-loader.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 2026/5/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/5/13
|
|
5
|
+
* Version: 6.8.4
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,10 +252,10 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`three`)):typeof define==`function`&&define.amd?define([`exports`,`three`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FiveSDK_GLTFLoader={},e.THREE))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);var l=(function(){function e(e){t.Loader.call(this,e),this.dracoLoader=null,this.ddsLoader=null}e.prototype=Object.assign(Object.create(t.Loader.prototype),{constructor:e,load:function(e,n,r,i){var a=this,o=this.resourcePath===``?this.path===``?t.LoaderUtils.extractUrlBase(e):this.path:this.resourcePath;a.manager.itemStart(e);var s=function(t){i?i(t):console.error(t),a.manager.itemError(e),a.manager.itemEnd(e)},c=new t.FileLoader(a.manager);c.setPath(this.path),c.setResponseType(`arraybuffer`),c.setRequestHeader(this.requestHeader),a.crossOrigin===`use-credentials`&&c.setWithCredentials(!0),c.load(e,function(t){try{a.parse(t,o,function(t){n(t),a.manager.itemEnd(e)},s)}catch(e){s(e)}},r,s)},setDRACOLoader:function(e){return this.dracoLoader=e,this},setDDSLoader:function(e){return this.ddsLoader=e,this},parse:function(e,n,u,d){var h,v={};if(typeof e==`string`)h=e;else if(t.LoaderUtils.decodeText(new Uint8Array(e,0,4))===l){try{v[r.KHR_BINARY_GLTF]=new f(e)}catch(e){d&&d(e);return}h=v[r.KHR_BINARY_GLTF].content}else h=t.LoaderUtils.decodeText(new Uint8Array(e));var b=JSON.parse(h);if(b.asset===void 0||b.asset.version[0]<2){d&&d(Error(`THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.`));return}if(b.extensionsUsed)for(var x=0;x<b.extensionsUsed.length;++x){var S=b.extensionsUsed[x],C=b.extensionsRequired||[];switch(S){case r.KHR_LIGHTS_PUNCTUAL:v[S]=new a(b);break;case r.KHR_MATERIALS_CLEARCOAT:v[S]=new s;break;case r.KHR_MATERIALS_TRANSMISSION:v[S]=new c;break;case r.KHR_MATERIALS_UNLIT:v[S]=new o;break;case r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:v[S]=new g;break;case r.KHR_DRACO_MESH_COMPRESSION:v[S]=new p(b,this.dracoLoader);break;case r.MSFT_TEXTURE_DDS:v[S]=new i(this.ddsLoader);break;case r.KHR_TEXTURE_TRANSFORM:v[S]=new m;break;case r.KHR_MESH_QUANTIZATION:v[S]=new _;break;case r.REALSEE_MATERIALS_LIGHTMAP:v[S]=new y;break;default:C.indexOf(S)>=0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+S+`".`)}}var w=new R(b,v,{path:n||this.resourcePath||``,crossOrigin:this.crossOrigin,manager:this.manager});w.fileLoader.setRequestHeader(this.requestHeader),w.parse(u,d)}});function n(){var e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var r={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:`KHR_materials_pbrSpecularGlossiness`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,MSFT_TEXTURE_DDS:`MSFT_texture_dds`,REALSEE_MATERIALS_LIGHTMAP:`REALSEE_materials_lightmap`};function i(e){if(!e)throw Error(`THREE.GLTFLoader: Attempting to load .dds texture without importing DDSLoader`);this.name=r.MSFT_TEXTURE_DDS,this.ddsLoader=e}function a(e){this.name=r.KHR_LIGHTS_PUNCTUAL
|
|
255
|
+
*/(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`three`)):typeof define==`function`&&define.amd?define([`exports`,`three`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FiveSDK_GLTFLoader={},e.THREE))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t,1);var l=(function(){function e(e){t.Loader.call(this,e),this.dracoLoader=null,this.ddsLoader=null}e.prototype=Object.assign(Object.create(t.Loader.prototype),{constructor:e,load:function(e,n,r,i){var a=this,o=this.resourcePath===``?this.path===``?t.LoaderUtils.extractUrlBase(e):this.path:this.resourcePath;a.manager.itemStart(e);var s=function(t){i?i(t):console.error(t),a.manager.itemError(e),a.manager.itemEnd(e)},c=new t.FileLoader(a.manager);c.setPath(this.path),c.setResponseType(`arraybuffer`),c.setRequestHeader(this.requestHeader),a.crossOrigin===`use-credentials`&&c.setWithCredentials(!0),c.load(e,function(t){try{a.parse(t,o,function(t){n(t),a.manager.itemEnd(e)},s)}catch(e){s(e)}},r,s)},setDRACOLoader:function(e){return this.dracoLoader=e,this},setDDSLoader:function(e){return this.ddsLoader=e,this},parse:function(e,n,u,d){var h,v={};if(typeof e==`string`)h=e;else if(t.LoaderUtils.decodeText(new Uint8Array(e,0,4))===l){try{v[r.KHR_BINARY_GLTF]=new f(e)}catch(e){d&&d(e);return}h=v[r.KHR_BINARY_GLTF].content}else h=t.LoaderUtils.decodeText(new Uint8Array(e));var b=JSON.parse(h);if(b.asset===void 0||b.asset.version[0]<2){d&&d(Error(`THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.`));return}if(b.extensionsUsed)for(var x=0;x<b.extensionsUsed.length;++x){var S=b.extensionsUsed[x],C=b.extensionsRequired||[];switch(S){case r.KHR_LIGHTS_PUNCTUAL:v[S]=new a(b);break;case r.KHR_MATERIALS_CLEARCOAT:v[S]=new s;break;case r.KHR_MATERIALS_TRANSMISSION:v[S]=new c;break;case r.KHR_MATERIALS_UNLIT:v[S]=new o;break;case r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:v[S]=new g;break;case r.KHR_DRACO_MESH_COMPRESSION:v[S]=new p(b,this.dracoLoader);break;case r.MSFT_TEXTURE_DDS:v[S]=new i(this.ddsLoader);break;case r.KHR_TEXTURE_TRANSFORM:v[S]=new m;break;case r.KHR_MESH_QUANTIZATION:v[S]=new _;break;case r.REALSEE_MATERIALS_LIGHTMAP:v[S]=new y;break;default:C.indexOf(S)>=0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+S+`".`)}}var w=new R(b,v,{path:n||this.resourcePath||``,crossOrigin:this.crossOrigin,manager:this.manager});w.fileLoader.setRequestHeader(this.requestHeader),w.parse(u,d)}});function n(){var e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var r={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:`KHR_materials_pbrSpecularGlossiness`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,MSFT_TEXTURE_DDS:`MSFT_texture_dds`,REALSEE_MATERIALS_LIGHTMAP:`REALSEE_materials_lightmap`};function i(e){if(!e)throw Error(`THREE.GLTFLoader: Attempting to load .dds texture without importing DDSLoader`);this.name=r.MSFT_TEXTURE_DDS,this.ddsLoader=e}function a(e){this.name=r.KHR_LIGHTS_PUNCTUAL;var t=e.extensions&&e.extensions[r.KHR_LIGHTS_PUNCTUAL]||{};this.lightDefs=t.lights||[]}a.prototype.loadLight=function(e){var n=this.lightDefs[e],r,i=new t.Color(16777215);n.color!==void 0&&i.fromArray(n.color);var a=n.range===void 0?0:n.range;switch(n.type){case`directional`:r=new t.DirectionalLight(i),r.target.position.set(0,0,-1),r.add(r.target);break;case`point`:r=new t.PointLight(i),r.distance=a;break;case`spot`:r=new t.SpotLight(i),r.distance=a,n.spot=n.spot||{},n.spot.innerConeAngle=n.spot.innerConeAngle===void 0?0:n.spot.innerConeAngle,n.spot.outerConeAngle=n.spot.outerConeAngle===void 0?Math.PI/4:n.spot.outerConeAngle,r.angle=n.spot.outerConeAngle,r.penumbra=1-n.spot.innerConeAngle/n.spot.outerConeAngle,r.target.position.set(0,0,-1),r.add(r.target);break;default:throw Error(`THREE.GLTFLoader: Unexpected light type, "`+n.type+`".`)}return r.position.set(0,0,0),r.decay=2,n.intensity!==void 0&&(r.intensity=n.intensity),r.name=n.name||`light_`+e,Promise.resolve(r)};function o(){this.name=r.KHR_MATERIALS_UNLIT}o.prototype.getMaterialType=function(){return t.MeshBasicMaterial},o.prototype.extendParams=function(e,n,r){var i=[];e.color=new t.Color(1,1,1),e.opacity=1;var a=n.pbrMetallicRoughness;if(a){if(Array.isArray(a.baseColorFactor)){var o=a.baseColorFactor;e.color.fromArray(o),e.opacity=o[3]}a.baseColorTexture!==void 0&&i.push(r.assignTexture(e,`map`,a.baseColorTexture))}return Promise.all(i)};function s(){this.name=r.KHR_MATERIALS_CLEARCOAT}s.prototype.getMaterialType=function(){return t.MeshPhysicalMaterial},s.prototype.extendParams=function(e,n,r){var i=[],a=n.extensions[this.name];if(a.clearcoatFactor!==void 0&&(e.clearcoat=a.clearcoatFactor),a.clearcoatTexture!==void 0&&i.push(r.assignTexture(e,`clearcoatMap`,a.clearcoatTexture)),a.clearcoatRoughnessFactor!==void 0&&(e.clearcoatRoughness=a.clearcoatRoughnessFactor),a.clearcoatRoughnessTexture!==void 0&&i.push(r.assignTexture(e,`clearcoatRoughnessMap`,a.clearcoatRoughnessTexture)),a.clearcoatNormalTexture!==void 0&&(i.push(r.assignTexture(e,`clearcoatNormalMap`,a.clearcoatNormalTexture)),a.clearcoatNormalTexture.scale!==void 0)){var o=a.clearcoatNormalTexture.scale;e.clearcoatNormalScale=new t.Vector2(o,o)}return Promise.all(i)};function c(){this.name=r.KHR_MATERIALS_TRANSMISSION}c.prototype.getMaterialType=function(){return t.MeshPhysicalMaterial},c.prototype.extendParams=function(e,t,n){return t.extensions[this.name].transmissionFactor!==void 0&&(e.premultipliedAlpha=!0,e.transparent=!0,e.opacity=e.opacity===void 0?.5:e.opacity),Promise.all([])};var l=`glTF`,u=12,d={JSON:1313821514,BIN:5130562};function f(e){this.name=r.KHR_BINARY_GLTF,this.content=null,this.body=null;var n=new DataView(e,0,u);if(this.header={magic:t.LoaderUtils.decodeText(new Uint8Array(e.slice(0,4))),version:n.getUint32(4,!0),length:n.getUint32(8,!0)},this.header.magic!==l)throw Error(`THREE.GLTFLoader: Unsupported glTF-Binary header.`);if(this.header.version<2)throw Error(`THREE.GLTFLoader: Legacy binary file detected.`);for(var i=new DataView(e,u),a=0;a<i.byteLength;){var o=i.getUint32(a,!0);a+=4;var s=i.getUint32(a,!0);if(a+=4,s===d.JSON){var c=new Uint8Array(e,u+a,o);this.content=t.LoaderUtils.decodeText(c)}else if(s===d.BIN){var f=u+a;this.body=e.slice(f,f+o)}a+=o}if(this.content===null)throw Error(`THREE.GLTFLoader: JSON content not found.`)}function p(e,t){if(!t)throw Error(`THREE.GLTFLoader: No DRACOLoader instance provided.`);this.name=r.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}p.prototype.decodePrimitive=function(e,t){var n=this.json,r=this.dracoLoader,i=e.extensions[this.name].bufferView,a=e.extensions[this.name].attributes,o={},s={},c={};for(var l in a){var u=T[l]||l.toLowerCase();o[u]=a[l]}for(l in e.attributes){var u=T[l]||l.toLowerCase();if(a[l]!==void 0){var d=n.accessors[e.attributes[l]];c[u]=x[d.componentType],s[u]=d.normalized===!0}}return t.getDependency(`bufferView`,i).then(function(e){return new Promise(function(t){r.decodeDracoFile(e,function(e){for(var n in e.attributes){var r=e.attributes[n],i=s[n];i!==void 0&&(r.normalized=i)}t(e)},o,c)})})};function m(){this.name=r.KHR_TEXTURE_TRANSFORM}m.prototype.extendTexture=function(e,t){return e=e.clone(),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),t.texCoord!==void 0&&console.warn(`THREE.GLTFLoader: Custom UV sets in "`+this.name+`" extension not yet supported.`),e.needsUpdate=!0,e};function h(e){t.MeshStandardMaterial.call(this),this.isGLTFSpecularGlossinessMaterial=!0;var n=[`#ifdef USE_SPECULARMAP`,` uniform sampler2D specularMap;`,`#endif`].join(`
|
|
256
256
|
`),r=[`#ifdef USE_GLOSSINESSMAP`,` uniform sampler2D glossinessMap;`,`#endif`].join(`
|
|
257
257
|
`),i=[`vec3 specularFactor = specular;`,`#ifdef USE_SPECULARMAP`,` vec4 texelSpecular = texture2D( specularMap, vUv );`,` texelSpecular = sRGBToLinear( texelSpecular );`,` // reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture`,` specularFactor *= texelSpecular.rgb;`,`#endif`].join(`
|
|
258
258
|
`),a=[`float glossinessFactor = glossiness;`,`#ifdef USE_GLOSSINESSMAP`,` vec4 texelGlossiness = texture2D( glossinessMap, vUv );`,` // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture`,` glossinessFactor *= texelGlossiness.a;`,`#endif`].join(`
|
|
259
259
|
`),o=[`PhysicalMaterial material;`,`material.diffuseColor = diffuseColor.rgb;`,`vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );`,`float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );`,`material.specularRoughness = max( 1.0 - glossinessFactor, 0.0525 );// 0.0525 corresponds to the base mip of a 256 cubemap.`,`material.specularRoughness += geometryRoughness;`,`material.specularRoughness = min( material.specularRoughness, 1.0 );`,`material.specularColor = specularFactor.rgb;`].join(`
|
|
260
260
|
`),s={specular:{value:new t.Color().setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=s,this.onBeforeCompile=function(e){for(var t in s)e.uniforms[t]=s[t];e.fragmentShader=e.fragmentShader.replace(`uniform float roughness;`,`uniform vec3 specular;`),e.fragmentShader=e.fragmentShader.replace(`uniform float metalness;`,`uniform float glossiness;`),e.fragmentShader=e.fragmentShader.replace(`#include <roughnessmap_pars_fragment>`,n),e.fragmentShader=e.fragmentShader.replace(`#include <metalnessmap_pars_fragment>`,r),e.fragmentShader=e.fragmentShader.replace(`#include <roughnessmap_fragment>`,i),e.fragmentShader=e.fragmentShader.replace(`#include <metalnessmap_fragment>`,a),e.fragmentShader=e.fragmentShader.replace(`#include <lights_physical_fragment>`,o)},Object.defineProperties(this,{specular:{get:function(){return s.specular.value},set:function(e){s.specular.value=e}},specularMap:{get:function(){return s.specularMap.value},set:function(e){s.specularMap.value=e}},glossiness:{get:function(){return s.glossiness.value},set:function(e){s.glossiness.value=e}},glossinessMap:{get:function(){return s.glossinessMap.value},set:function(e){s.glossinessMap.value=e,e?(this.defines.USE_GLOSSINESSMAP=``,this.defines.USE_ROUGHNESSMAP=``):(delete this.defines.USE_ROUGHNESSMAP,delete this.defines.USE_GLOSSINESSMAP)}}}),delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this.setValues(e)}h.prototype=Object.create(t.MeshStandardMaterial.prototype),h.prototype.constructor=h,h.prototype.copy=function(e){return t.MeshStandardMaterial.prototype.copy.call(this,e),this.specularMap=e.specularMap,this.specular.copy(e.specular),this.glossinessMap=e.glossinessMap,this.glossiness=e.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this};function g(){return{name:r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,specularGlossinessParams:[`color`,`map`,`lightMap`,`lightMapIntensity`,`aoMap`,`aoMapIntensity`,`emissive`,`emissiveIntensity`,`emissiveMap`,`bumpMap`,`bumpScale`,`normalMap`,`normalMapType`,`displacementMap`,`displacementScale`,`displacementBias`,`specularMap`,`specular`,`glossinessMap`,`glossiness`,`alphaMap`,`envMap`,`envMapIntensity`,`refractionRatio`],getMaterialType:function(){return h},extendParams:function(e,n,r){var i=n.extensions[this.name];e.color=new t.Color(1,1,1),e.opacity=1;var a=[];if(Array.isArray(i.diffuseFactor)){var o=i.diffuseFactor;e.color.fromArray(o),e.opacity=o[3]}if(i.diffuseTexture!==void 0&&a.push(r.assignTexture(e,`map`,i.diffuseTexture)),e.emissive=new t.Color(0,0,0),e.glossiness=i.glossinessFactor===void 0?1:i.glossinessFactor,e.specular=new t.Color(1,1,1),Array.isArray(i.specularFactor)&&e.specular.fromArray(i.specularFactor),i.specularGlossinessTexture!==void 0){var s=i.specularGlossinessTexture;a.push(r.assignTexture(e,`glossinessMap`,s)),a.push(r.assignTexture(e,`specularMap`,s))}return Promise.all(a)},createMaterial:function(e){var n=new h(e);return n.fog=!0,n.color=e.color,n.map=e.map===void 0?null:e.map,n.lightMap=null,n.lightMapIntensity=1,n.aoMap=e.aoMap===void 0?null:e.aoMap,n.aoMapIntensity=1,n.emissive=e.emissive,n.emissiveIntensity=1,n.emissiveMap=e.emissiveMap===void 0?null:e.emissiveMap,n.bumpMap=e.bumpMap===void 0?null:e.bumpMap,n.bumpScale=1,n.normalMap=e.normalMap===void 0?null:e.normalMap,n.normalMapType=t.TangentSpaceNormalMap,e.normalScale&&(n.normalScale=e.normalScale),n.displacementMap=null,n.displacementScale=1,n.displacementBias=0,n.specularMap=e.specularMap===void 0?null:e.specularMap,n.specular=e.specular,n.glossinessMap=e.glossinessMap===void 0?null:e.glossinessMap,n.glossiness=e.glossiness,n.alphaMap=null,n.envMap=e.envMap===void 0?null:e.envMap,n.envMapIntensity=1,n.refractionRatio=.98,n}}}function _(){this.name=r.KHR_MESH_QUANTIZATION}function v(e,n,r,i){t.Interpolant.call(this,e,n,r,i)}v.prototype=Object.create(t.Interpolant.prototype),v.prototype.constructor=v,v.prototype.copySampleValue_=function(e){for(var t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r*3+r,a=0;a!==r;a++)t[a]=n[i+a];return t},v.prototype.beforeStart_=v.prototype.copySampleValue_,v.prototype.afterEnd_=v.prototype.copySampleValue_,v.prototype.interpolate_=function(e,t,n,r){for(var i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=o*2,c=o*3,l=r-t,u=(n-t)/l,d=u*u,f=d*u,p=e*c,m=p-c,h=-2*f+3*d,g=f-d,_=1-h,v=g-d+u,y=0;y!==o;y++){var b=a[m+y+o],x=a[m+y+s]*l,S=a[p+y+o],C=a[p+y]*l;i[y]=_*b+v*x+h*S+g*C}return i};function y(e){this.parser=e,this.name=r.REALSEE_MATERIALS_LIGHTMAP}y.prototype.getMaterialType=function(e){return t.MeshPhongMaterial},y.prototype.extendParams=function(e,t,n){if(!t.extensions||!t.extensions[this.name])return Promise.resolve();var r=[],i=t.extensions[this.name];return i.lightMapTexture!==void 0&&r.push(n.assignTexture(e,`lightMap`,i.lightMapTexture)),i.lightMapIntensity!==void 0&&(e.lightMapIntensity=i.lightMapIntensity),Promise.all(r)};var b={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},x={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},S={9728:t.NearestFilter,9729:t.LinearFilter,9984:t.NearestMipmapNearestFilter,9985:t.LinearMipmapNearestFilter,9986:t.NearestMipmapLinearFilter,9987:t.LinearMipmapLinearFilter},C={33071:t.ClampToEdgeWrapping,33648:t.MirroredRepeatWrapping,10497:t.RepeatWrapping},w={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},T={POSITION:`position`,NORMAL:`normal`,TANGENT:`tangent`,TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`,COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},E={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},D={CUBICSPLINE:void 0,LINEAR:t.InterpolateLinear,STEP:t.InterpolateDiscrete},O={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`},k={"image/png":t.RGBAFormat,"image/jpeg":t.RGBFormat};function A(e,t){return typeof e!=`string`||e===``?``:(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,`$1`)),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}function j(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new t.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:t.FrontSide})),e.DefaultMaterial}function M(e,t,n){for(var r in n.extensions)e[r]===void 0&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function N(e,t){t.extras!==void 0&&(typeof t.extras==`object`?Object.assign(e.userData,t.extras):console.warn(`THREE.GLTFLoader: Ignoring primitive type .extras, `+t.extras))}function P(e,t,n){for(var r=!1,i=!1,a=0,o=t.length;a<o;a++){var s=t[a];if(s.POSITION!==void 0&&(r=!0),s.NORMAL!==void 0&&(i=!0),r&&i)break}if(!r&&!i)return Promise.resolve(e);for(var c=[],l=[],a=0,o=t.length;a<o;a++){var s=t[a];if(r){var u=s.POSITION===void 0?e.attributes.position:n.getDependency(`accessor`,s.POSITION);c.push(u)}if(i){var u=s.NORMAL===void 0?e.attributes.normal:n.getDependency(`accessor`,s.NORMAL);l.push(u)}}return Promise.all([Promise.all(c),Promise.all(l)]).then(function(t){var n=t[0],a=t[1];return r&&(e.morphAttributes.position=n),i&&(e.morphAttributes.normal=a),e.morphTargetsRelative=!0,e})}function F(e,t){if(e.updateMorphTargets(),t.weights!==void 0)for(var n=0,r=t.weights.length;n<r;n++)e.morphTargetInfluences[n]=t.weights[n];if(t.extras&&Array.isArray(t.extras.targetNames)){var i=t.extras.targetNames;if(e.morphTargetInfluences.length===i.length){e.morphTargetDictionary={};for(var n=0,r=i.length;n<r;n++)e.morphTargetDictionary[i[n]]=n}else console.warn(`THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.`)}}function I(e){var t=e.extensions&&e.extensions[r.KHR_DRACO_MESH_COMPRESSION];return t?`draco:`+t.bufferView+`:`+t.indices+`:`+L(t.attributes):e.indices+`:`+L(e.attributes)+`:`+e.mode}function L(e){for(var t=``,n=Object.keys(e).sort(),r=0,i=n.length;r<i;r++)t+=n[r]+`:`+e[n[r]]+`;`;return t}function R(e,r,i){this.json=e||{},this.extensions=r||{},this.options=i||{},this.cache=new n,this.associations=new Map,this.primitiveCache={},this.textureLoader=new t.TextureLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.fileLoader=new t.FileLoader(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}R.prototype.parse=function(e,t){var n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.markDefs(),Promise.all([this.getDependencies(`scene`),this.getDependencies(`animation`),this.getDependencies(`camera`)]).then(function(t){var a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};M(i,a,r),N(a,r),e(a)}).catch(t)},R.prototype.markDefs=function(){for(var e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[],r={},i={},a=0,o=t.length;a<o;a++)for(var s=t[a].joints,c=0,l=s.length;c<l;c++)e[s[c]].isBone=!0;for(var u=0,d=e.length;u<d;u++){var f=e[u];f.mesh!==void 0&&(r[f.mesh]===void 0&&(r[f.mesh]=i[f.mesh]=0),r[f.mesh]++,f.skin!==void 0&&(n[f.mesh].isSkinnedMesh=!0))}this.json.meshReferences=r,this.json.meshUses=i},R.prototype.getDependency=function(e,t){var n=e+`:`+t,i=this.cache.get(n);if(!i){switch(e){case`scene`:i=this.loadScene(t);break;case`node`:i=this.loadNode(t);break;case`mesh`:i=this.loadMesh(t);break;case`accessor`:i=this.loadAccessor(t);break;case`bufferView`:i=this.loadBufferView(t);break;case`buffer`:i=this.loadBuffer(t);break;case`material`:i=this.loadMaterial(t);break;case`texture`:i=this.loadTexture(t);break;case`skin`:i=this.loadSkin(t);break;case`animation`:i=this.loadAnimation(t);break;case`camera`:i=this.loadCamera(t);break;case`light`:i=this.extensions[r.KHR_LIGHTS_PUNCTUAL].loadLight(t);break;default:throw Error(`Unknown type: `+e)}this.cache.add(n,i)}return i},R.prototype.getDependencies=function(e){var t=this.cache.get(e);if(!t){var n=this,r=this.json[e+(e===`mesh`?`es`:`s`)]||[];t=Promise.all(r.map(function(t,r){return n.getDependency(e,r)})),this.cache.add(e,t)}return t},R.prototype.loadBuffer=function(e){var t=this.json.buffers[e],n=this.fileLoader;if(t.type&&t.type!==`arraybuffer`)throw Error(`THREE.GLTFLoader: `+t.type+` buffer type is not supported.`);if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[r.KHR_BINARY_GLTF].body);var i=this.options;return new Promise(function(e,r){n.load(A(t.uri,i.path),e,void 0,function(){r(Error(`THREE.GLTFLoader: Failed to load buffer "`+t.uri+`".`))})})},R.prototype.loadBufferView=function(e){var t=this.json.bufferViews[e];return this.getDependency(`buffer`,t.buffer).then(function(e){var n=t.byteLength||0,r=t.byteOffset||0;return e.slice(r,r+n)})},R.prototype.loadAccessor=function(e){var n=this,r=this.json,i=this.json.accessors[e];if(i.bufferView===void 0&&i.sparse===void 0)return Promise.resolve(null);var a=[];return i.bufferView===void 0?a.push(null):a.push(this.getDependency(`bufferView`,i.bufferView)),i.sparse!==void 0&&(a.push(this.getDependency(`bufferView`,i.sparse.indices.bufferView)),a.push(this.getDependency(`bufferView`,i.sparse.values.bufferView))),Promise.all(a).then(function(e){var a=e[0],o=w[i.type],s=x[i.componentType],c=s.BYTES_PER_ELEMENT,l=c*o,u=i.byteOffset||0,d=i.bufferView===void 0?void 0:r.bufferViews[i.bufferView].byteStride,f=i.normalized===!0,p,m;if(d&&d!==l){var h=Math.floor(u/d),g=`InterleavedBuffer:`+i.bufferView+`:`+i.componentType+`:`+h+`:`+i.count,_=n.cache.get(g);_||(p=new s(a,h*d,i.count*d/c),_=new t.InterleavedBuffer(p,d/c),n.cache.add(g,_)),m=new t.InterleavedBufferAttribute(_,o,u%d/c,f)}else p=a===null?new s(i.count*o):new s(a,u,i.count*o),m=new t.BufferAttribute(p,o,f);if(i.sparse!==void 0){var v=w.SCALAR,y=x[i.sparse.indices.componentType],b=i.sparse.indices.byteOffset||0,S=i.sparse.values.byteOffset||0,C=new y(e[1],b,i.sparse.count*v),T=new s(e[2],S,i.sparse.count*o);a!==null&&(m=new t.BufferAttribute(m.array.slice(),m.itemSize,m.normalized));for(var E=0,D=C.length;E<D;E++){var O=C[E];if(m.setX(O,T[E*o]),o>=2&&m.setY(O,T[E*o+1]),o>=3&&m.setZ(O,T[E*o+2]),o>=4&&m.setW(O,T[E*o+3]),o>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}}return m})},R.prototype.loadTexture=function(e){var n=this,i=this.json,a=this.options,o=this.textureLoader,s=self.URL||self.webkitURL,c=i.textures[e],l=c.extensions||{},u=l[r.MSFT_TEXTURE_DDS]?i.images[l[r.MSFT_TEXTURE_DDS].source]:i.images[c.source],d=u.uri,f=!1;return u.bufferView!==void 0&&(d=n.getDependency(`bufferView`,u.bufferView).then(function(e){f=!0;var t=new Blob([e],{type:u.mimeType});return d=s.createObjectURL(t),d})),Promise.resolve(d).then(function(e){var t=a.manager.getHandler(e);return t||(t=l[r.MSFT_TEXTURE_DDS]?n.extensions[r.MSFT_TEXTURE_DDS].ddsLoader:o),new Promise(function(n,r){t.load(A(e,a.path),n,void 0,r)})}).then(function(r){f===!0&&s.revokeObjectURL(d),r.flipY=!1,c.name&&(r.name=c.name),u.mimeType in k&&(r.format=k[u.mimeType]);var a=(i.samplers||{})[c.sampler]||{};return r.magFilter=S[a.magFilter]||t.LinearFilter,r.minFilter=S[a.minFilter]||t.LinearMipmapLinearFilter,r.wrapS=C[a.wrapS]||t.RepeatWrapping,r.wrapT=C[a.wrapT]||t.RepeatWrapping,n.associations.set(r,{type:`textures`,index:e}),r})},R.prototype.assignTexture=function(e,n,i){var a=this;return this.getDependency(`texture`,i.index).then(function(o){if(!o.isCompressedTexture)switch(n){case`aoMap`:case`emissiveMap`:case`metalnessMap`:case`normalMap`:case`roughnessMap`:o.format=t.RGBFormat;break}if(i.texCoord!==void 0&&i.texCoord!=0&&!(n===`aoMap`&&i.texCoord==1)&&console.warn(`THREE.GLTFLoader: Custom UV set `+i.texCoord+` for texture `+n+` not yet supported.`),a.extensions[r.KHR_TEXTURE_TRANSFORM]){var s=i.extensions===void 0?void 0:i.extensions[r.KHR_TEXTURE_TRANSFORM];if(s){var c=a.associations.get(o);o=a.extensions[r.KHR_TEXTURE_TRANSFORM].extendTexture(o,s),a.associations.set(o,c)}}e[n]=o})},R.prototype.assignFinalMaterial=function(e){var n=e.geometry,r=e.material,i=n.attributes.tangent!==void 0,a=n.attributes.color!==void 0,o=n.attributes.normal===void 0,s=e.isSkinnedMesh===!0,c=Object.keys(n.morphAttributes).length>0,l=c&&n.morphAttributes.normal!==void 0;if(e.isPoints){var u=`PointsMaterial:`+r.uuid,d=this.cache.get(u);d||(d=new t.PointsMaterial,t.Material.prototype.copy.call(d,r),d.color.copy(r.color),d.map=r.map,d.sizeAttenuation=!1,this.cache.add(u,d)),r=d}else if(e.isLine){var u=`LineBasicMaterial:`+r.uuid,f=this.cache.get(u);f||(f=new t.LineBasicMaterial,t.Material.prototype.copy.call(f,r),f.color.copy(r.color),this.cache.add(u,f)),r=f}if(i||a||o||s||c){var u=`ClonedMaterial:`+r.uuid+`:`;r.isGLTFSpecularGlossinessMaterial&&(u+=`specular-glossiness:`),s&&(u+=`skinning:`),i&&(u+=`vertex-tangents:`),a&&(u+=`vertex-colors:`),o&&(u+=`flat-shading:`),c&&(u+=`morph-targets:`),l&&(u+=`morph-normals:`);var p=this.cache.get(u);p||(p=r.clone(),s&&(p.skinning=!0),i&&(p.vertexTangents=!0),a&&(p.vertexColors=!0),o&&(p.flatShading=!0),c&&(p.morphTargets=!0),l&&(p.morphNormals=!0),this.cache.add(u,p),this.associations.set(p,this.associations.get(r))),r=p}r.aoMap&&n.attributes.uv2===void 0&&n.attributes.uv!==void 0&&n.setAttribute(`uv2`,n.attributes.uv),r.normalScale&&!i&&(r.normalScale.y=-r.normalScale.y),r.clearcoatNormalScale&&!i&&(r.clearcoatNormalScale.y=-r.clearcoatNormalScale.y),e.material=r},R.prototype.loadMaterial=function(e){var n=this,i=this.json,a=this.extensions,o=i.materials[e],s,c={},l=o.extensions||{},u=[];if(l[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var d=a[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];s=d.getMaterialType(),u.push(d.extendParams(c,o,n))}else if(l[r.KHR_MATERIALS_UNLIT]){var f=a[r.KHR_MATERIALS_UNLIT];s=f.getMaterialType(),u.push(f.extendParams(c,o,n))}else{s=t.MeshStandardMaterial;var p=o.pbrMetallicRoughness||{};if(c.color=new t.Color(1,1,1),c.opacity=1,Array.isArray(p.baseColorFactor)){var m=p.baseColorFactor;c.color.fromArray(m),c.opacity=m[3]}p.baseColorTexture!==void 0&&u.push(n.assignTexture(c,`map`,p.baseColorTexture)),c.metalness=p.metallicFactor===void 0?1:p.metallicFactor,c.roughness=p.roughnessFactor===void 0?1:p.roughnessFactor,p.metallicRoughnessTexture!==void 0&&(u.push(n.assignTexture(c,`metalnessMap`,p.metallicRoughnessTexture)),u.push(n.assignTexture(c,`roughnessMap`,p.metallicRoughnessTexture)))}o.doubleSided===!0&&(c.side=t.DoubleSide);var g=o.alphaMode||O.OPAQUE;if(g===O.BLEND?(c.transparent=!0,c.depthWrite=!1):(c.transparent=!1,g===O.MASK&&(c.alphaTest=o.alphaCutoff===void 0?.5:o.alphaCutoff)),o.normalTexture!==void 0&&s!==t.MeshBasicMaterial&&(u.push(n.assignTexture(c,`normalMap`,o.normalTexture)),c.normalScale=new t.Vector2(1,1),o.normalTexture.scale!==void 0&&c.normalScale.set(o.normalTexture.scale,o.normalTexture.scale)),o.occlusionTexture!==void 0&&s!==t.MeshBasicMaterial&&(u.push(n.assignTexture(c,`aoMap`,o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(c.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&s!==t.MeshBasicMaterial&&(c.emissive=new t.Color().fromArray(o.emissiveFactor)),o.emissiveTexture!==void 0&&s!==t.MeshBasicMaterial&&u.push(n.assignTexture(c,`emissiveMap`,o.emissiveTexture)),l[r.KHR_MATERIALS_CLEARCOAT]){var _=a[r.KHR_MATERIALS_CLEARCOAT];s=_.getMaterialType(),u.push(_.extendParams(c,{extensions:l},n))}if(l[r.KHR_MATERIALS_TRANSMISSION]){var _=a[r.KHR_MATERIALS_TRANSMISSION];s=_.getMaterialType(),u.push(_.extendParams(c,{extensions:l},n))}if(l[r.REALSEE_MATERIALS_LIGHTMAP]){var v=a[r.REALSEE_MATERIALS_LIGHTMAP];s=v.getMaterialType(),u.push(v.extendParams(c,{extensions:l},n))}return Promise.all(u).then(function(){var i=s===h?a[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(c):new s(c);return o.name&&(i.name=o.name),i.map&&(i.map.encoding=t.sRGBEncoding),i.emissiveMap&&(i.emissiveMap.encoding=t.sRGBEncoding),N(i,o),n.associations.set(i,{type:`materials`,index:e}),o.extensions&&M(a,i,o),i})};function z(e,n,r){var i=n.attributes,a=new t.Box3;if(i.POSITION!==void 0){var o=r.json.accessors[i.POSITION],s=o.min,c=o.max;if(s!==void 0&&c!==void 0)a.set(new t.Vector3(s[0],s[1],s[2]),new t.Vector3(c[0],c[1],c[2]));else{console.warn(`THREE.GLTFLoader: Missing min/max properties for accessor POSITION.`);return}}else return;var l=n.targets;if(l!==void 0){for(var u=new t.Vector3,d=new t.Vector3,f=0,p=l.length;f<p;f++){var m=l[f];if(m.POSITION!==void 0){var o=r.json.accessors[m.POSITION],s=o.min,c=o.max;s!==void 0&&c!==void 0?(d.setX(Math.max(Math.abs(s[0]),Math.abs(c[0]))),d.setY(Math.max(Math.abs(s[1]),Math.abs(c[1]))),d.setZ(Math.max(Math.abs(s[2]),Math.abs(c[2]))),u.max(d)):console.warn(`THREE.GLTFLoader: Missing min/max properties for accessor POSITION.`)}}a.expandByVector(u)}e.boundingBox=a;var h=new t.Sphere;a.getCenter(h.center),h.radius=a.min.distanceTo(a.max)/2,e.boundingSphere=h}function B(e,t,n){var r=t.attributes,i=[];function a(t,r){return n.getDependency(`accessor`,t).then(function(t){e.setAttribute(r,t)})}for(var o in r){var s=T[o]||o.toLowerCase();s in e.attributes||i.push(a(r[o],s))}if(t.indices!==void 0&&!e.index){var c=n.getDependency(`accessor`,t.indices).then(function(t){e.setIndex(t)});i.push(c)}return N(e,t),z(e,t,n),Promise.all(i).then(function(){return t.targets===void 0?e:P(e,t.targets,n)})}function V(e,n){var r=e.getIndex();if(r===null){var i=[],a=e.getAttribute(`position`);if(a!==void 0){for(var o=0;o<a.count;o++)i.push(o);e.setIndex(i),r=e.getIndex()}else return console.error(`THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.`),e}var s=r.count-2,c=[];if(n===t.TriangleFanDrawMode)for(var o=1;o<=s;o++)c.push(r.getX(0)),c.push(r.getX(o)),c.push(r.getX(o+1));else for(var o=0;o<s;o++)o%2==0?(c.push(r.getX(o)),c.push(r.getX(o+1)),c.push(r.getX(o+2))):(c.push(r.getX(o+2)),c.push(r.getX(o+1)),c.push(r.getX(o)));c.length/3!==s&&console.error(`THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.`);var l=e.clone();return l.setIndex(c),l}return R.prototype.loadGeometries=function(e){var n=this,i=this.extensions,a=this.primitiveCache;function o(e){return i[r.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,n).then(function(t){return B(t,e,n)})}for(var s=[],c=0,l=e.length;c<l;c++){var u=e[c],d=I(u),f=a[d];if(f)s.push(f.promise);else{var p=u.extensions&&u.extensions[r.KHR_DRACO_MESH_COMPRESSION]?o(u):B(new t.BufferGeometry,u,n);a[d]={primitive:u,promise:p},s.push(p)}}return Promise.all(s)},R.prototype.loadMesh=function(e){for(var n=this,r=this.json.meshes[e],i=r.primitives,a=[],o=0,s=i.length;o<s;o++){var c=i[o].material===void 0?j(this.cache):this.getDependency(`material`,i[o].material);a.push(c)}return a.push(n.loadGeometries(i)),Promise.all(a).then(function(a){for(var o=a.slice(0,a.length-1),s=a[a.length-1],c=[],l=0,u=s.length;l<u;l++){var d=s[l],f=i[l],p,m=o[l];if(f.mode===b.TRIANGLES||f.mode===b.TRIANGLE_STRIP||f.mode===b.TRIANGLE_FAN||f.mode===void 0)p=r.isSkinnedMesh===!0?new t.SkinnedMesh(d,m):new t.Mesh(d,m),p.isSkinnedMesh===!0&&!p.geometry.attributes.skinWeight.normalized&&p.normalizeSkinWeights(),f.mode===b.TRIANGLE_STRIP?p.geometry=V(p.geometry,t.TriangleStripDrawMode):f.mode===b.TRIANGLE_FAN&&(p.geometry=V(p.geometry,t.TriangleFanDrawMode));else if(f.mode===b.LINES)p=new t.LineSegments(d,m);else if(f.mode===b.LINE_STRIP)p=new t.Line(d,m);else if(f.mode===b.LINE_LOOP)p=new t.LineLoop(d,m);else if(f.mode===b.POINTS)p=new t.Points(d,m);else throw Error(`THREE.GLTFLoader: Primitive mode unsupported: `+f.mode);Object.keys(p.geometry.morphAttributes).length>0&&F(p,r),p.name=r.name||`mesh_`+e,s.length>1&&(p.name+=`_`+l),N(p,r),n.assignFinalMaterial(p),c.push(p)}if(c.length===1)return c[0];for(var h=new t.Group,l=0,u=c.length;l<u;l++)h.add(c[l]);return h})},R.prototype.loadCamera=function(e){var n,r=this.json.cameras[e],i=r[r.type];if(!i){console.warn(`THREE.GLTFLoader: Missing camera parameters.`);return}return r.type===`perspective`?n=new t.PerspectiveCamera(t.MathUtils.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):r.type===`orthographic`&&(n=new t.OrthographicCamera(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),r.name&&(n.name=r.name),N(n,r),Promise.resolve(n)},R.prototype.loadSkin=function(e){var t=this.json.skins[e],n={joints:t.joints};return t.inverseBindMatrices===void 0?Promise.resolve(n):this.getDependency(`accessor`,t.inverseBindMatrices).then(function(e){return n.inverseBindMatrices=e,n})},R.prototype.loadAnimation=function(e){for(var n=this.json.animations[e],r=[],i=[],a=[],o=[],s=[],c=0,l=n.channels.length;c<l;c++){var u=n.channels[c],d=n.samplers[u.sampler],f=u.target,p=f.node===void 0?f.id:f.node,m=n.parameters===void 0?d.input:n.parameters[d.input],h=n.parameters===void 0?d.output:n.parameters[d.output];r.push(this.getDependency(`node`,p)),i.push(this.getDependency(`accessor`,m)),a.push(this.getDependency(`accessor`,h)),o.push(d),s.push(f)}return Promise.all([Promise.all(r),Promise.all(i),Promise.all(a),Promise.all(o),Promise.all(s)]).then(function(r){for(var i=r[0],a=r[1],o=r[2],s=r[3],c=r[4],l=[],u=0,d=i.length;u<d;u++){var f=i[u],p=a[u],m=o[u],h=s[u],g=c[u];if(f!==void 0){f.updateMatrix(),f.matrixAutoUpdate=!0;var _;switch(E[g.path]){case E.weights:_=t.NumberKeyframeTrack;break;case E.rotation:_=t.QuaternionKeyframeTrack;break;case E.position:case E.scale:default:_=t.VectorKeyframeTrack;break}var y=f.name?f.name:f.uuid,b=h.interpolation===void 0?t.InterpolateLinear:D[h.interpolation],x=[];E[g.path]===E.weights?f.traverse(function(e){e.isMesh===!0&&e.morphTargetInfluences&&x.push(e.name?e.name:e.uuid)}):x.push(y);var S=m.array;if(m.normalized){var C;if(S.constructor===Int8Array)C=1/127;else if(S.constructor===Uint8Array)C=1/255;else if(S.constructor==Int16Array)C=1/32767;else if(S.constructor===Uint16Array)C=1/65535;else throw Error(`THREE.GLTFLoader: Unsupported output accessor component type.`);for(var w=new Float32Array(S.length),T=0,O=S.length;T<O;T++)w[T]=S[T]*C;S=w}for(var T=0,O=x.length;T<O;T++){var k=new _(x[T]+`.`+E[g.path],p.array,S,b);h.interpolation===`CUBICSPLINE`&&(k.createInterpolant=function(e){return new v(this.times,this.values,this.getValueSize()/3,e)},k.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),l.push(k)}}}return new t.AnimationClip(n.name?n.name:`animation_`+e,void 0,l)})},R.prototype.loadNode=function(e){var n=this.json,i=this.extensions,a=this,o=n.meshReferences,s=n.meshUses,c=n.nodes[e];return function(){var e=[];return c.mesh!==void 0&&e.push(a.getDependency(`mesh`,c.mesh).then(function(e){var t;if(o[c.mesh]>1){var n=s[c.mesh]++;t=e.clone(),t.name+=`_instance_`+n}else t=e;return c.weights!==void 0&&t.traverse(function(e){if(e.isMesh)for(var t=0,n=c.weights.length;t<n;t++)e.morphTargetInfluences[t]=c.weights[t]}),t})),c.camera!==void 0&&e.push(a.getDependency(`camera`,c.camera)),c.extensions&&c.extensions[r.KHR_LIGHTS_PUNCTUAL]&&c.extensions[r.KHR_LIGHTS_PUNCTUAL].light!==void 0&&e.push(a.getDependency(`light`,c.extensions[r.KHR_LIGHTS_PUNCTUAL].light)),Promise.all(e)}().then(function(n){var r=c.isBone===!0?new t.Bone:n.length>1?new t.Group:n.length===1?n[0]:new t.Object3D;if(r!==n[0])for(var o=0,s=n.length;o<s;o++)r.add(n[o]);if(c.name&&(r.userData.name=c.name,r.name=t.PropertyBinding.sanitizeNodeName(c.name)),N(r,c),c.extensions&&M(i,r,c),c.matrix!==void 0){var l=new t.Matrix4;l.fromArray(c.matrix),r.applyMatrix4(l)}else c.translation!==void 0&&r.position.fromArray(c.translation),c.rotation!==void 0&&r.quaternion.fromArray(c.rotation),c.scale!==void 0&&r.scale.fromArray(c.scale);return a.associations.set(r,{type:`nodes`,index:e}),r})},R.prototype.loadScene=function(){function e(n,r,i,a){var o=i.nodes[n];return a.getDependency(`node`,n).then(function(e){if(o.skin===void 0)return e;var n;return a.getDependency(`skin`,o.skin).then(function(e){n=e;for(var t=[],r=0,i=n.joints.length;r<i;r++)t.push(a.getDependency(`node`,n.joints[r]));return Promise.all(t)}).then(function(r){return e.traverse(function(e){if(e.isMesh){for(var i=[],a=[],o=0,s=r.length;o<s;o++){var c=r[o];if(c){i.push(c);var l=new t.Matrix4;n.inverseBindMatrices!==void 0&&l.fromArray(n.inverseBindMatrices.array,o*16),a.push(l)}else console.warn(`THREE.GLTFLoader: Joint "%s" could not be found.`,n.joints[o])}e.bind(new t.Skeleton(i,a),e.matrixWorld)}}),e})}).then(function(t){r.add(t);var n=[];if(o.children)for(var s=o.children,c=0,l=s.length;c<l;c++){var u=s[c];n.push(e(u,t,i,a))}return Promise.all(n)})}return function(n){var r=this.json,i=this.extensions,a=this.json.scenes[n],o=this,s=new t.Group;a.name&&(s.name=a.name),N(s,a),a.extensions&&M(i,s,a);for(var c=a.nodes||[],l=[],u=0,d=c.length;u<d;u++)l.push(e(c[u],s,r,o));return Promise.all(l).then(function(){return s})}}(),e})(),u=function(e){t.Loader.call(this,e),this.decoderPath=``,this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=``,this.defaultAttributeIDs={position:`POSITION`,normal:`NORMAL`,color:`COLOR`,uv:`TEX_COORD`},this.defaultAttributeTypes={position:`Float32Array`,normal:`Float32Array`,color:`Float32Array`,uv:`Float32Array`}};u.prototype=Object.assign(Object.create(t.Loader.prototype),{constructor:u,setDecoderPath:function(e){return this.decoderPath=e,this},setDecoderConfig:function(e){return this.decoderConfig=e,this},setWorkerLimit:function(e){return this.workerLimit=e,this},setVerbosity:function(){console.warn(`THREE.DRACOLoader: The .setVerbosity() method has been removed.`)},setDrawMode:function(){console.warn(`THREE.DRACOLoader: The .setDrawMode() method has been removed.`)},setSkipDequantization:function(){console.warn(`THREE.DRACOLoader: The .setSkipDequantization() method has been removed.`)},load:function(e,n,r,i){var a=new t.FileLoader(this.manager);a.setPath(this.path),a.setResponseType(`arraybuffer`),this.crossOrigin===`use-credentials`&&a.setWithCredentials(!0),a.load(e,e=>{var t={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,t).then(n).catch(i)},r,i)},decodeDracoFile:function(e,t,n,r){var i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)},decodeGeometry:function(e,t){for(var n in t.attributeTypes){var r=t.attributeTypes[n];r.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[n]=r.name)}var i=JSON.stringify(t);if(u.taskCache.has(e)){var a=u.taskCache.get(e);if(a.key===i)return a.promise;if(e.byteLength===0)throw Error(`THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.`)}var o,s=this.workerNextTaskID++,c=e.byteLength,l=this._getWorker(s,c).then(n=>(o=n,new Promise((n,r)=>{o._callbacks[s]={resolve:n,reject:r},o.postMessage({type:`decode`,id:s,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return l.catch(()=>!0).then(()=>{o&&s&&this._releaseTask(o,s)}),u.taskCache.set(e,{key:i,promise:l}),l},_createGeometry:function(e){var n=new t.BufferGeometry;e.index&&n.setIndex(new t.BufferAttribute(e.index.array,1));for(var r=0;r<e.attributes.length;r++){var i=e.attributes[r],a=i.name,o=i.array,s=i.itemSize;n.setAttribute(a,new t.BufferAttribute(o,s))}return n},_loadLibrary:function(e,n){var r=new t.FileLoader(this.manager);return r.setPath(this.decoderPath),r.setResponseType(n),new Promise((t,n)=>{r.load(e,t,void 0,n)})},preload:function(){return this._initDecoder(),this},_initDecoder:function(){if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!=`object`||this.decoderConfig.type===`js`,t=[];return e?t.push(this._loadLibrary(`draco_decoder.js`,`text`)):(t.push(this._loadLibrary(`draco_wasm_wrapper.js`,`text`)),t.push(this._loadLibrary(`draco_decoder.wasm`,`arraybuffer`))),this.decoderPending=Promise.all(t).then(t=>{var n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);var r=u.DRACOWorker.toString(),i=[`/* draco decoder */`,n,``,`/* worker */`,r.substring(r.indexOf(`{`)+1,r.lastIndexOf(`}`))].join(`
|
|
261
|
-
`);this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending},_getWorker:function(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){var n=new Worker(this.workerSourceURL);n._callbacks={},n._taskCosts={},n._taskLoad=0,n.postMessage({type:`init`,decoderConfig:this.decoderConfig}),n.onmessage=function(e){var t=e.data;switch(t.type){case`decode`:n._callbacks[t.id].resolve(t);break;case`error`:n._callbacks[t.id].reject(t);break;default:console.error(`THREE.DRACOLoader: Unexpected message, "`+t.type+`"`)}},this.workerPool.push(n)}else this.workerPool.sort(function(e,t){return e._taskLoad>t._taskLoad?-1:1});var n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})},_releaseTask:function(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]},debug:function(){console.log(`Task load: `,this.workerPool.map(e=>e._taskLoad))},dispose:function(){for(var e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}),u.DRACOWorker=function(){var e,t;onmessage=function(r){var i=r.data;switch(i.type){case`init`:e=i.decoderConfig,t=new Promise(function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)});break;case`decode`:var a=i.buffer,o=i.taskConfig;t.then(e=>{var t=e.draco,r=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(a),a.byteLength);try{var c=n(t,r,s,o),l=c.attributes.map(e=>e.array.buffer);c.index&&l.push(c.index.array.buffer),self.postMessage({type:`decode`,id:i.id,geometry:c},l)}catch(e){console.error(e),self.postMessage({type:`error`,id:i.id,error:e.message})}finally{t.destroy(s),t.destroy(r)}});break}};function n(e,t,n,i){var a=i.attributeIDs,o=i.attributeTypes,s,c,l=t.GetEncodedGeometryType(n);if(l===e.TRIANGULAR_MESH)s=new e.Mesh,c=t.DecodeBufferToMesh(n,s);else if(l===e.POINT_CLOUD)s=new e.PointCloud,c=t.DecodeBufferToPointCloud(n,s);else throw Error(`THREE.DRACOLoader: Unexpected geometry type.`);if(!c.ok()||s.ptr===0)throw Error(`THREE.DRACOLoader: Decoding failed: `+c.error_msg());var u={index:null,attributes:[]};for(var d in a){var f=self[o[d]],p,m;if(i.useUniqueIDs)m=a[d],p=t.GetAttributeByUniqueId(s,m);else{if(m=t.GetAttributeId(s,e[a[d]]),m===-1)continue;p=t.GetAttribute(s,m)}u.attributes.push(r(e,t,s,d,f,p))}if(l===e.TRIANGULAR_MESH){for(var h=s.num_faces(),g=h*3,_=new Uint32Array(g),v=new e.DracoInt32Array,y=0;y<h;++y){t.GetFaceFromMesh(s,y,v);for(var b=0;b<3;++b)_[y*3+b]=v.GetValue(b)}u.index={array:_,itemSize:1},e.destroy(v)}return e.destroy(s),u}function r(e,t,n,r,i,a){var o=a.num_components(),s=n.num_points()*o,c,l;switch(i){case Float32Array:c=new e.DracoFloat32Array,t.GetAttributeFloatForAllPoints(n,a,c),l=new Float32Array(s);break;case Int8Array:c=new e.DracoInt8Array,t.GetAttributeInt8ForAllPoints(n,a,c),l=new Int8Array(s);break;case Int16Array:c=new e.DracoInt16Array,t.GetAttributeInt16ForAllPoints(n,a,c),l=new Int16Array(s);break;case Int32Array:c=new e.DracoInt32Array,t.GetAttributeInt32ForAllPoints(n,a,c),l=new Int32Array(s);break;case Uint8Array:c=new e.DracoUInt8Array,t.GetAttributeUInt8ForAllPoints(n,a,c),l=new Uint8Array(s);break;case Uint16Array:c=new e.DracoUInt16Array,t.GetAttributeUInt16ForAllPoints(n,a,c),l=new Uint16Array(s);break;case Uint32Array:c=new e.DracoUInt32Array,t.GetAttributeUInt32ForAllPoints(n,a,c),l=new Uint32Array(s);break;default:throw Error(`THREE.DRACOLoader: Unexpected attribute type.`)}for(var u=0;u<s;u++)l[u]=c.GetValue(u);return e.destroy(c),{name:r,array:l,itemSize:o}}},u.taskCache=new WeakMap,u.setDecoderPath=function(){console.warn(`THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.`)},u.setDecoderConfig=function(){console.warn(`THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.`)},u.releaseDecoderModule=function(){console.warn(`THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.`)},u.getDecoderModule=function(){console.warn(`THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.`)};var d=function(e){t.CompressedTextureLoader.call(this,e)};d.prototype=Object.assign(Object.create(t.CompressedTextureLoader.prototype),{constructor:d,parse:function(e,n){var r={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},i=542327876,a=131072,o=512,s=1024,c=2048,l=4096,u=8192,d=16384,f=32768,p=4;function m(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}function h(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}function g(e,t,n,r){for(var i=n*r*4,a=new Uint8Array(e,t,i),o=new Uint8Array(i),s=0,c=0,l=0;l<r;l++)for(var u=0;u<n;u++){var d=a[c];c++;var f=a[c];c++;var p=a[c];c++;var m=a[c];c++,o[s]=p,s++,o[s]=f,s++,o[s]=d,s++,o[s]=m,s++}return o}var _=m(`DXT1`),v=m(`DXT3`),y=m(`DXT5`),b=m(`ETC1`),x=31,S=0,C=1,w=2,T=3,E=4,D=7,O=20,k=21,A=22,j=23,M=24,N=25,P=26,F=28,I=new Int32Array(e,0,x);if(I[S]!==i)return console.error(`THREE.DDSLoader.parse: Invalid magic number in DDS header.`),r;if(!I[O]&p)return console.error(`THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code.`),r;var L,R=I[k],z=!1;switch(R){case _:L=8,r.format=t.RGB_S3TC_DXT1_Format;break;case v:L=16,r.format=t.RGBA_S3TC_DXT3_Format;break;case y:L=16,r.format=t.RGBA_S3TC_DXT5_Format;break;case b:L=8,r.format=t.RGB_ETC1_Format;break;default:if(I[A]===32&&I[j]&16711680&&I[M]&65280&&I[N]&255&&I[P]&4278190080)z=!0,L=64,r.format=t.RGBAFormat;else return console.error(`THREE.DDSLoader.parse: Unsupported FourCC code `,h(R)),r}r.mipmapCount=1,I[w]&a&&n!==!1&&(r.mipmapCount=Math.max(1,I[D]));var B=I[F];if(r.isCubemap=!!(B&o),r.isCubemap&&(!(B&s)||!(B&c)||!(B&l)||!(B&u)||!(B&d)||!(B&f)))return console.error(`THREE.DDSLoader.parse: Incomplete cubemap faces`),r;r.width=I[E],r.height=I[T];for(var V=I[C]+4,H=r.isCubemap?6:1,U=0;U<H;U++)for(var W=r.width,G=r.height,K=0;K<r.mipmapCount;K++){if(z)var q=g(e,V,W,G),J=q.length;else var J=Math.max(4,W)/4*Math.max(4,G)/4*L,q=new Uint8Array(e,V,J);var Y={data:q,width:W,height:G};r.mipmaps.push(Y),V+=J,W=Math.max(W>>1,1),G=Math.max(G>>1,1)}return r}});var f=class extends t.Group{constructor(e){super(),this.needsRender=!0,e&&e.children.length&&this.add(...e.children),this.mixer=new t.AnimationMixer(this)}clone(){let e=super.clone(!0);return e.mixer=new t.AnimationMixer(e),e.needsRender=!0,e}},p=`https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/`,m=class extends l{static get version(){return`6.8.
|
|
261
|
+
`);this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending},_getWorker:function(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){var n=new Worker(this.workerSourceURL);n._callbacks={},n._taskCosts={},n._taskLoad=0,n.postMessage({type:`init`,decoderConfig:this.decoderConfig}),n.onmessage=function(e){var t=e.data;switch(t.type){case`decode`:n._callbacks[t.id].resolve(t);break;case`error`:n._callbacks[t.id].reject(t);break;default:console.error(`THREE.DRACOLoader: Unexpected message, "`+t.type+`"`)}},this.workerPool.push(n)}else this.workerPool.sort(function(e,t){return e._taskLoad>t._taskLoad?-1:1});var n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})},_releaseTask:function(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]},debug:function(){console.log(`Task load: `,this.workerPool.map(e=>e._taskLoad))},dispose:function(){for(var e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}),u.DRACOWorker=function(){var e,t;onmessage=function(r){var i=r.data;switch(i.type){case`init`:e=i.decoderConfig,t=new Promise(function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)});break;case`decode`:var a=i.buffer,o=i.taskConfig;t.then(e=>{var t=e.draco,r=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(a),a.byteLength);try{var c=n(t,r,s,o),l=c.attributes.map(e=>e.array.buffer);c.index&&l.push(c.index.array.buffer),self.postMessage({type:`decode`,id:i.id,geometry:c},l)}catch(e){console.error(e),self.postMessage({type:`error`,id:i.id,error:e.message})}finally{t.destroy(s),t.destroy(r)}});break}};function n(e,t,n,i){var a=i.attributeIDs,o=i.attributeTypes,s,c,l=t.GetEncodedGeometryType(n);if(l===e.TRIANGULAR_MESH)s=new e.Mesh,c=t.DecodeBufferToMesh(n,s);else if(l===e.POINT_CLOUD)s=new e.PointCloud,c=t.DecodeBufferToPointCloud(n,s);else throw Error(`THREE.DRACOLoader: Unexpected geometry type.`);if(!c.ok()||s.ptr===0)throw Error(`THREE.DRACOLoader: Decoding failed: `+c.error_msg());var u={index:null,attributes:[]};for(var d in a){var f=self[o[d]],p,m;if(i.useUniqueIDs)m=a[d],p=t.GetAttributeByUniqueId(s,m);else{if(m=t.GetAttributeId(s,e[a[d]]),m===-1)continue;p=t.GetAttribute(s,m)}u.attributes.push(r(e,t,s,d,f,p))}if(l===e.TRIANGULAR_MESH){for(var h=s.num_faces(),g=h*3,_=new Uint32Array(g),v=new e.DracoInt32Array,y=0;y<h;++y){t.GetFaceFromMesh(s,y,v);for(var b=0;b<3;++b)_[y*3+b]=v.GetValue(b)}u.index={array:_,itemSize:1},e.destroy(v)}return e.destroy(s),u}function r(e,t,n,r,i,a){var o=a.num_components(),s=n.num_points()*o,c,l;switch(i){case Float32Array:c=new e.DracoFloat32Array,t.GetAttributeFloatForAllPoints(n,a,c),l=new Float32Array(s);break;case Int8Array:c=new e.DracoInt8Array,t.GetAttributeInt8ForAllPoints(n,a,c),l=new Int8Array(s);break;case Int16Array:c=new e.DracoInt16Array,t.GetAttributeInt16ForAllPoints(n,a,c),l=new Int16Array(s);break;case Int32Array:c=new e.DracoInt32Array,t.GetAttributeInt32ForAllPoints(n,a,c),l=new Int32Array(s);break;case Uint8Array:c=new e.DracoUInt8Array,t.GetAttributeUInt8ForAllPoints(n,a,c),l=new Uint8Array(s);break;case Uint16Array:c=new e.DracoUInt16Array,t.GetAttributeUInt16ForAllPoints(n,a,c),l=new Uint16Array(s);break;case Uint32Array:c=new e.DracoUInt32Array,t.GetAttributeUInt32ForAllPoints(n,a,c),l=new Uint32Array(s);break;default:throw Error(`THREE.DRACOLoader: Unexpected attribute type.`)}for(var u=0;u<s;u++)l[u]=c.GetValue(u);return e.destroy(c),{name:r,array:l,itemSize:o}}},u.taskCache=new WeakMap,u.setDecoderPath=function(){console.warn(`THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.`)},u.setDecoderConfig=function(){console.warn(`THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.`)},u.releaseDecoderModule=function(){console.warn(`THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.`)},u.getDecoderModule=function(){console.warn(`THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.`)};var d=function(e){t.CompressedTextureLoader.call(this,e)};d.prototype=Object.assign(Object.create(t.CompressedTextureLoader.prototype),{constructor:d,parse:function(e,n){var r={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},i=542327876,a=131072,o=512,s=1024,c=2048,l=4096,u=8192,d=16384,f=32768,p=4;function m(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}function h(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}function g(e,t,n,r){for(var i=n*r*4,a=new Uint8Array(e,t,i),o=new Uint8Array(i),s=0,c=0,l=0;l<r;l++)for(var u=0;u<n;u++){var d=a[c];c++;var f=a[c];c++;var p=a[c];c++;var m=a[c];c++,o[s]=p,s++,o[s]=f,s++,o[s]=d,s++,o[s]=m,s++}return o}var _=m(`DXT1`),v=m(`DXT3`),y=m(`DXT5`),b=m(`ETC1`),x=31,S=0,C=1,w=2,T=3,E=4,D=7,O=20,k=21,A=22,j=23,M=24,N=25,P=26,F=28,I=new Int32Array(e,0,x);if(I[S]!==i)return console.error(`THREE.DDSLoader.parse: Invalid magic number in DDS header.`),r;if(!I[O]&p)return console.error(`THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code.`),r;var L,R=I[k],z=!1;switch(R){case _:L=8,r.format=t.RGB_S3TC_DXT1_Format;break;case v:L=16,r.format=t.RGBA_S3TC_DXT3_Format;break;case y:L=16,r.format=t.RGBA_S3TC_DXT5_Format;break;case b:L=8,r.format=t.RGB_ETC1_Format;break;default:if(I[A]===32&&I[j]&16711680&&I[M]&65280&&I[N]&255&&I[P]&4278190080)z=!0,L=64,r.format=t.RGBAFormat;else return console.error(`THREE.DDSLoader.parse: Unsupported FourCC code `,h(R)),r}r.mipmapCount=1,I[w]&a&&n!==!1&&(r.mipmapCount=Math.max(1,I[D]));var B=I[F];if(r.isCubemap=!!(B&o),r.isCubemap&&(!(B&s)||!(B&c)||!(B&l)||!(B&u)||!(B&d)||!(B&f)))return console.error(`THREE.DDSLoader.parse: Incomplete cubemap faces`),r;r.width=I[E],r.height=I[T];for(var V=I[C]+4,H=r.isCubemap?6:1,U=0;U<H;U++)for(var W=r.width,G=r.height,K=0;K<r.mipmapCount;K++){if(z)var q=g(e,V,W,G),J=q.length;else var J=Math.max(4,W)/4*Math.max(4,G)/4*L,q=new Uint8Array(e,V,J);var Y={data:q,width:W,height:G};r.mipmaps.push(Y),V+=J,W=Math.max(W>>1,1),G=Math.max(G>>1,1)}return r}});var f=class extends t.Group{constructor(e){super(),this.needsRender=!0,e&&e.children.length&&this.add(...e.children),this.mixer=new t.AnimationMixer(this)}clone(){let e=super.clone(!0);return e.mixer=new t.AnimationMixer(e),e.needsRender=!0,e}},p=`https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/`,m=class extends l{static get version(){return`6.8.4`}constructor(e){super(e),this.ddsLoader=new d(e),this.dracoLoader=new u(e),this.dracoLoader.setDecoderPath(p)}load(e,t,n,r){return super.load(e,t,n,r)}parse(e,t,n,r){return super.parse(e,t,e=>{let t=new f(e.scene),r=e.scenes.map(n=>n===e.scene?t:new f(n));n(Object.assign(e,{scene:t,scenes:r}))},r)}};e.DDSLoader=d,e.DRACOLoader=u,e.GLTFLoader=m,e.GLTFObject=f,e.THREEGLTFLoader=l});
|