rayzee 11.15.0 → 11.16.0
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/README.md +8 -1970
- package/dist/{SceneMetadata-BUfzHMSj.js → ArchiveFormats-CWi6IbSp.js} +147 -117
- package/dist/{ArchiveImporter-DuWqpbXf.js → ArchiveImporter-CEv5EDgg.js} +96 -98
- package/dist/BidirectionalIntegrator-KWRQrMXX.js +960 -0
- package/dist/CameraRay-CdVb2LnS.js +181 -0
- package/dist/{ColorManagement-CKN2pTRS.js → ColorManagement-B6SgefNi.js} +107 -107
- package/dist/CompactKernel-C6TCBB6i.js +19759 -0
- package/dist/DepthPass-BMnBuepB.js +69 -0
- package/dist/{EngineIssues-t5p7TEjb.js → EngineIssues-DHAU18xh.js} +2 -1
- package/dist/{identity-x_UfobDa.js → FileIdentity-BXmPNvJP.js} +27 -23
- package/dist/{LocalExposure-Cw1g8rdU.js → LocalExposure-CMO6fd8G.js} +77 -77
- package/dist/{NeuralRetouch-CLtoW6Vt.js → NeuralRetouch-CYRGwe9E.js} +2 -2
- package/dist/{NeuralSuperRes-PlLjWpMF.js → NeuralSuperRes-p0A3_wjO.js} +2 -2
- package/dist/{openStorage-CxLMw2_a.js → OpenStorage-CjlOYQyW.js} +106 -108
- package/dist/{PackedRayBuffer-DwhV931f.js → PackedRayBuffer-BhqeNEaL.js} +53 -68
- package/dist/PhysicalSky-qHATDBbB.js +1220 -0
- package/dist/{PictureView-DpHE_jDr.js → PictureView-6y4XsUf0.js} +3 -3
- package/dist/{PathTracer-BMtUFjdP.js → RayzeeRenderer-ClGfovbz.js} +7191 -23218
- package/dist/{TextureBuckets-D09iX9_y.js → TextureBuckets-CcOI4Bdg.js} +4 -0
- package/dist/TextureSampling-CQMmzhCp.js +732 -0
- package/dist/{ZipReader-KPFbIuOs.js → ZipReader-D6LbMsfZ.js} +1 -1
- package/dist/addons/archives.es.js +2 -2
- package/dist/addons/bidirectional.es.js +1 -1
- package/dist/addons/color.es.js +1 -1
- package/dist/addons/formats.es.js +102 -2
- package/dist/addons/physical-sky.es.js +1 -1
- package/dist/addons/storage.es.js +3 -3
- package/dist/rayzee-core.es.js +10 -12
- package/dist/rayzee.es.js +667 -671
- package/dist/rayzee.umd.js +114 -153
- package/package.json +1 -1
- package/src/EngineDefaults.js +6 -0
- package/src/EngineIssues.js +1 -0
- package/src/RayzeeRenderer.js +40 -4
- package/src/RenderSettings.js +31 -3
- package/src/{loaders → addons}/archives/ArchiveCache.js +3 -3
- package/src/{loaders → addons}/archives/ArchiveImporter.js +12 -13
- package/src/addons/{archives.js → archives/index.js} +2 -2
- package/src/{loaders → addons/archives}/pbrt/PBRTCurves.js +1 -1
- package/src/{loaders → addons/archives}/pbrt/PBRTMaterials.js +1 -1
- package/src/{loaders → addons/archives}/pbrt/PBRTParser.js +1 -1
- package/src/{loaders → addons/archives}/pbrt/PBRTSceneBuilder.js +3 -3
- package/src/{loaders → addons/archives}/pbrt/PBRTTextureBake.js +1 -1
- package/src/{loaders → addons/archives}/pbrt/index.js +2 -2
- package/src/{loaders → addons/archives}/usd/USDLayer.js +3 -3
- package/src/{loaders → addons/archives}/usd/USDStage.js +2 -2
- package/src/{shaders → addons/bidirectional}/Bidirectional.js +4 -4
- package/src/{pathtracer → addons/bidirectional}/BidirectionalIntegrator.js +25 -44
- package/src/{shaders → addons/bidirectional}/BidirectionalLamps.js +6 -6
- package/src/{shaders/kernels → addons/bidirectional}/ConnectKernel.js +8 -8
- package/src/{shaders/kernels → addons/bidirectional}/LightGenerateKernel.js +12 -12
- package/src/{shaders → addons/bidirectional}/LightGuide.js +2 -2
- package/src/{shaders/kernels → addons/bidirectional}/LightSplatKernel.js +8 -8
- package/src/{shaders/kernels → addons/bidirectional}/MergeKernel.js +7 -7
- package/src/addons/{bidirectional.js → bidirectional/index.js} +1 -1
- package/src/{color → addons/color}/BakedViews.js +1 -1
- package/src/{color → addons/color}/ColorManagement.js +4 -4
- package/src/{color → addons/color}/ColorSpaces.js +1 -1
- package/src/{color → addons/color}/LutBake.js +1 -1
- package/src/{color → addons/color}/OcioRuntime.js +2 -9
- package/src/{color → addons/color}/OcioViews.js +2 -2
- package/src/addons/{color.js → color/index.js} +6 -6
- package/src/addons/formats.js +112 -3
- package/src/{shaders → addons/physical-sky}/Atmosphere.js +1 -1
- package/src/{environment → addons/physical-sky}/AtmosphereModel.js +1 -1
- package/src/{shaders → addons/physical-sky}/EnvironmentCDF.js +1 -1
- package/src/{environment → addons/physical-sky}/PhysicalSky.js +5 -5
- package/src/addons/{physicalSky.js → physical-sky/index.js} +1 -1
- package/src/{storage/openStorage.js → addons/storage/OpenStorage.js} +63 -2
- package/src/{storage → addons/storage}/StorageManager.js +58 -6
- package/src/addons/{storage.js → storage/index.js} +3 -3
- package/src/core.js +4 -4
- package/src/index.js +17 -15
- package/src/lights/LightManager.js +2 -2
- package/src/lights/LightSerializer.js +75 -1
- package/src/loaders/AssetLoader.js +6 -6
- package/src/loaders/SceneLoading.js +2 -2
- package/src/materials/MaterialDataManager.js +2 -2
- package/src/materials/TextureCreator.js +377 -1
- package/src/node/index.js +1 -1
- package/src/output/Pictures.js +1 -1
- package/src/output/ToneMapCPU.js +0 -10
- package/src/pathtracer/PackedRayBuffer.js +1 -1
- package/src/pathtracer/PathTracer.js +90 -272
- package/src/pathtracer/PathTracerStage.js +1 -1
- package/src/pathtracer/QueueManager.js +3 -3
- package/src/pathtracer/UniformManager.js +7 -0
- package/src/pipeline/BindingAudit.js +0 -6
- package/src/scene/GeometryExtractor.js +1 -1
- package/src/scene/InstanceTable.js +2 -2
- package/src/scene/SceneProcessor.js +307 -900
- package/src/scene/SceneRefit.js +171 -0
- package/src/shaders/CameraRay.js +2 -2
- package/src/shaders/Clearcoat.js +1 -5
- package/src/shaders/Common.js +2 -54
- package/src/shaders/DFGTable.js +22 -0
- package/src/shaders/Displacement.js +1 -1
- package/src/shaders/EmissiveSampling.js +3 -4
- package/src/shaders/Environment.js +2 -2
- package/src/shaders/Fog.js +395 -0
- package/src/shaders/LightBVHSampling.js +1 -1
- package/src/shaders/LightsCore.js +1 -1
- package/src/shaders/LightsDirect.js +6 -2
- package/src/shaders/LightsSampling.js +1 -1
- package/src/shaders/MaterialProperties.js +7 -27
- package/src/shaders/MaterialTransmission.js +5 -26
- package/src/shaders/Random.js +17 -8
- package/src/shaders/SceneResources.js +2 -0
- package/src/shaders/Struct.js +81 -12
- package/src/shaders/Subsurface.js +1 -1
- package/src/shaders/TextureSampling.js +5 -22
- package/src/shaders/{patches.js → ThreePatches.js} +3 -158
- package/src/shaders/kernels/CompactKernel.js +141 -3
- package/src/shaders/kernels/DepthPass.js +1 -1
- package/src/shaders/kernels/FinalWriteKernel.js +158 -6
- package/src/shaders/kernels/ShadeKernel.js +98 -0
- package/src/shaders/kernels/SortGlobalKernels.js +1 -1
- package/src/storage/BLASCache.js +146 -7
- package/src/storage/CDFCache.js +1 -2
- package/src/storage/DownloadCache.js +2 -3
- package/src/storage/{identity.js → FileIdentity.js} +1 -1
- package/src/storage/SpillStore.js +2 -2
- package/src/storage/StorageAreas.js +27 -0
- package/src/viewer/PathTracerApp.js +9 -18
- package/src/viewer/SceneState.js +2 -2
- package/src/viewer/camera/CameraManager.js +1 -1
- package/src/viewer/denoise/NRD.js +1 -1
- package/src/viewer/denoise/OIDNTemporalHistory.js +1 -1
- package/src/viewer/overlays/OverlayManager.js +1 -2
- package/src/viewer/overlays/ViewOverlayRenderer.js +54 -1
- package/src/viewer/picture/AIUpscalerWorker.js +1 -1
- package/src/viewer/picture/AutoExposure.js +1 -1
- package/src/viewer/picture/LocalExposure.js +1 -1
- package/src/viewer/picture/PictureView.js +1 -1
- package/dist/BidirectionalIntegrator-BEXXxmZH.js +0 -956
- package/dist/DepthPass-u5g7hr7J.js +0 -68
- package/dist/FileFormats-C91JE5DM.js +0 -102
- package/dist/PhysicalSky-DqanSS2m.js +0 -1220
- package/dist/RayzeeRenderer-C9zGAMJo.js +0 -3281
- package/dist/TextureSampling-CvMi8LNc.js +0 -904
- package/dist/archiveFormats-j39rQeKs.js +0 -37
- package/src/lights/blackbody.js +0 -74
- package/src/loaders/FileFormats.js +0 -116
- package/src/storage/areas.js +0 -4
- package/src/storage/events.js +0 -29
- package/src/storage/index.js +0 -9
- package/src/storage/inlineTransport.js +0 -24
- package/src/storage/sceneCachePolicy.js +0 -12
- package/src/storage/shared.js +0 -9
- package/src/storage/transport.js +0 -62
- package/src/viewer/overlays/overlaySurface.js +0 -53
- /package/dist/{Logger-CH-TZ1co.js → Logger-D7hic8LA.js} +0 -0
- /package/dist/{SolarLimb-BiVdxxmL.js → SolarLimb-IayvafJP.js} +0 -0
- /package/src/{portable.js → Portable.js} +0 -0
- /package/src/{version.js → Version.js} +0 -0
- /package/src/{loaders → addons}/archives/ArchiveReader.js +0 -0
- /package/src/{storage → addons/archives}/SceneGraphCodec.js +0 -0
- /package/src/{loaders → addons}/archives/ZipReader.js +0 -0
- /package/src/{loaders/pbrt/buffers.js → addons/archives/pbrt/ArrayMemory.js} +0 -0
- /package/src/{loaders → addons/archives}/pbrt/EqualAreaOctahedral.js +0 -0
- /package/src/{loaders → addons/archives}/pbrt/LoopSubdivision.js +0 -0
- /package/src/{loaders → addons/archives}/pbrt/PBRTAnimation.js +0 -0
- /package/src/{loaders → addons/archives}/pbrt/PBRTMath.js +0 -0
- /package/src/{loaders → addons/archives}/pbrt/PBRTScattering.js +0 -0
- /package/src/{loaders → addons/archives}/pbrt/PBRTTokenizer.js +0 -0
- /package/src/{loaders → addons/archives}/pbrt/PFM.js +0 -0
- /package/src/{loaders → addons/archives}/usd/USDScene.js +0 -0
- /package/src/{loaders → addons/archives}/usd/USDText.js +0 -0
- /package/src/{loaders → addons/archives}/usd/index.js +0 -0
- /package/src/{color → addons/color}/Displays.js +0 -0
- /package/src/{color → addons/color}/InputColorSpaces.js +0 -0
- /package/src/{storage/locks.js → addons/storage/Locks.js} +0 -0
- /package/src/{storage → addons/storage}/StorageOps.js +0 -0
- /package/src/{storage → addons/storage}/StorageWorker.js +0 -0
- /package/src/loaders/{archives/archiveFormats.js → ArchiveFormats.js} +0 -0
- /package/src/node/{nodePlatform.js → NodePlatform.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as e, i as t, r as n } from "./Logger-
|
|
2
|
-
import { l as r, t as i } from "./TextureBuckets-
|
|
1
|
+
import { a as e, i as t, r as n } from "./Logger-D7hic8LA.js";
|
|
2
|
+
import { l as r, t as i } from "./TextureBuckets-CcOI4Bdg.js";
|
|
3
3
|
import { f as a, v as o, y as s } from "./BufferLayout-ny3WneEc.js";
|
|
4
|
-
import { n as c } from "./EngineIssues-
|
|
5
|
-
import {
|
|
4
|
+
import { n as c } from "./EngineIssues-DHAU18xh.js";
|
|
5
|
+
import { d as l, s as u } from "./FileIdentity-BXmPNvJP.js";
|
|
6
6
|
import { n as d } from "./AssetConfig-C8BsprCp.js";
|
|
7
7
|
import { BackSide as f, Box3 as p, BufferAttribute as m, Color as h, DataTexture as g, DoubleSide as _, FrontSide as v, LoaderUtils as y, Matrix3 as b, Matrix4 as x, RGBAFormat as S, UnsignedByteType as C, Vector2 as w, Vector3 as T } from "three";
|
|
8
8
|
//#region src/memory/ChunkedRecords.js
|
|
@@ -178,7 +178,7 @@ var j = class e {
|
|
|
178
178
|
let n = (e) => new t(e.buffer, e.byteOffset, e.byteLength / t.BYTES_PER_ELEMENT), r = e.adopt(this.chunks.map((e) => e ? n(e) : void 0), this.recordCount, this.lanesPerRecord, this.recordsPerChunk);
|
|
179
179
|
return r.LaneType = t, r._owner = this, this._views ? this._views.push(r) : (this._weakViews ??= []).push(new WeakRef(r)), r._spilled = this._spilled ??= /* @__PURE__ */ new Set(), r;
|
|
180
180
|
}
|
|
181
|
-
}, M = 32 * 1024 * 1024, N = "chunks.bin",
|
|
181
|
+
}, M = 32 * 1024 * 1024, N = "chunks.bin", ee = class e {
|
|
182
182
|
static async create(t, n, r, { label: i = "", expectedBytes: a = 0 } = {}) {
|
|
183
183
|
let o = t?.area(u.SPILL), s = await o?.create(n, {
|
|
184
184
|
label: i,
|
|
@@ -216,17 +216,17 @@ var j = class e {
|
|
|
216
216
|
async dispose() {
|
|
217
217
|
this._writer && await this._writer.abort(), this._writer = null, this._entry?.release(), this._entry = this._file = null, await this._area.remove(this._key);
|
|
218
218
|
}
|
|
219
|
-
},
|
|
220
|
-
function
|
|
221
|
-
|
|
219
|
+
}, P = 32 * 1024 * 1024, te = P / 4, ne = 64 * 1024 * 1024, re = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new WeakSet();
|
|
220
|
+
function I(e) {
|
|
221
|
+
F.delete(e), e.transfer?.(0);
|
|
222
222
|
}
|
|
223
|
-
function
|
|
224
|
-
let t =
|
|
225
|
-
return t ||
|
|
223
|
+
function ie(e) {
|
|
224
|
+
let t = re.get(e);
|
|
225
|
+
return t || re.set(e, t = new e(0)), t;
|
|
226
226
|
}
|
|
227
|
-
var
|
|
227
|
+
var ae = class e {
|
|
228
228
|
static async create(t, n, r = 0) {
|
|
229
|
-
let i = await
|
|
229
|
+
let i = await ee.create(t, n, 0, {
|
|
230
230
|
label: "Scene geometry (while building)",
|
|
231
231
|
expectedBytes: r
|
|
232
232
|
});
|
|
@@ -258,7 +258,7 @@ var ie = class e {
|
|
|
258
258
|
let e = n.array;
|
|
259
259
|
if (!e?.byteLength) continue;
|
|
260
260
|
let r = t.get(e);
|
|
261
|
-
r || t.set(e, r = this._write(e)), r.attributes.push(n), n.array =
|
|
261
|
+
r || t.set(e, r = this._write(e)), r.attributes.push(n), n.array = ie(e.constructor);
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
_write(e) {
|
|
@@ -271,7 +271,7 @@ var ie = class e {
|
|
|
271
271
|
pack: null,
|
|
272
272
|
offset: 0
|
|
273
273
|
};
|
|
274
|
-
return this._records.push(n), this.bytes += t.byteLength, t.byteLength >=
|
|
274
|
+
return this._records.push(n), this.bytes += t.byteLength, t.byteLength >= te ? (n.at = this._end, n.array = e, this._end += t.byteLength, this._queue(n.at, t, [n]), n) : (this._pack && this._packUsed + t.byteLength > P && this._flushPack(), this._pack || (this._pack = new Uint8Array(P), this._packAt = this._end, this._packUsed = 0, this._end += P), this._pack.set(t, this._packUsed), n.at = this._packAt + this._packUsed, n.pack = this._pack, n.offset = this._packUsed, this._packUsed += n.byteLength, this._packRecords.push(n), F.has(e.buffer) && I(e.buffer), n);
|
|
275
275
|
}
|
|
276
276
|
_flushPack() {
|
|
277
277
|
this._pack && (this._queue(this._packAt, this._pack.subarray(0, this._packUsed), this._packRecords, !0), this._pack = null, this._packRecords = []);
|
|
@@ -283,7 +283,7 @@ var ie = class e {
|
|
|
283
283
|
await this._store.writeAt(e, t);
|
|
284
284
|
for (let e of n) {
|
|
285
285
|
let t = e.array?.buffer;
|
|
286
|
-
e.array = e.pack = null,
|
|
286
|
+
e.array = e.pack = null, F.has(t) && I(t);
|
|
287
287
|
}
|
|
288
288
|
r && t.buffer.transfer?.(0);
|
|
289
289
|
}
|
|
@@ -299,19 +299,19 @@ var ie = class e {
|
|
|
299
299
|
let t = null, n = 0;
|
|
300
300
|
for (let r of e) {
|
|
301
301
|
let e;
|
|
302
|
-
if (r.array ? e = r.array : r.pack ? e = new r.Type(r.pack.slice(r.offset, r.offset + r.byteLength).buffer) : r.byteLength >
|
|
303
|
-
e !== r.array &&
|
|
302
|
+
if (r.array ? e = r.array : r.pack ? e = new r.Type(r.pack.slice(r.offset, r.offset + r.byteLength).buffer) : r.byteLength > ne ? e = new r.Type(await this._store.readAt(r.at, r.byteLength)) : ((!t || r.at + r.byteLength > n + t.byteLength) && (t && I(t), n = r.at, t = await this._store.readAt(r.at, ne)), e = new r.Type(t.slice(r.at - n, r.at - n + r.byteLength))), e.byteLength !== r.byteLength) throw Error("geometry spill: an array came back short");
|
|
303
|
+
e !== r.array && F.add(e.buffer);
|
|
304
304
|
for (let t of r.attributes) t.array = e;
|
|
305
305
|
}
|
|
306
|
-
t &&
|
|
306
|
+
t && I(t);
|
|
307
307
|
for (let { geometry: e, box: t, sphere: n } of this._geometries) e.boundingBox = t, e.boundingSphere = n;
|
|
308
308
|
this._records = [], this._geometries = [], this.bytes = 0;
|
|
309
309
|
}
|
|
310
310
|
async dispose() {
|
|
311
311
|
await this._chain, this._records = [], this._geometries = [], this._pack = null, this._packRecords = [], await this._store.dispose();
|
|
312
312
|
}
|
|
313
|
-
},
|
|
314
|
-
function
|
|
313
|
+
}, oe = n("geometry");
|
|
314
|
+
function se(e) {
|
|
315
315
|
e.traverse((e) => {
|
|
316
316
|
if (!e.isInstancedMesh || e.boundingBox !== null) return;
|
|
317
317
|
let t = e.geometry;
|
|
@@ -329,7 +329,7 @@ function oe(e) {
|
|
|
329
329
|
n.min.set(c, l, u), n.max.set(d, f, m);
|
|
330
330
|
});
|
|
331
331
|
}
|
|
332
|
-
var
|
|
332
|
+
var L = i.MAX_TEXTURES_LIMIT, ce = new Set([
|
|
333
333
|
"color",
|
|
334
334
|
"emissive",
|
|
335
335
|
"attenuationColor",
|
|
@@ -337,12 +337,12 @@ var R = i.MAX_TEXTURES_LIMIT, se = new Set([
|
|
|
337
337
|
"specularColor",
|
|
338
338
|
"subsurfaceColor",
|
|
339
339
|
"diffuseTransmissionColor"
|
|
340
|
-
]),
|
|
340
|
+
]), R = Object.freeze({
|
|
341
341
|
MATERIAL: "material",
|
|
342
342
|
MAPPED: "mapped",
|
|
343
343
|
DEFAULT: "default",
|
|
344
344
|
HOST: "host"
|
|
345
|
-
}),
|
|
345
|
+
}), le = [
|
|
346
346
|
1,
|
|
347
347
|
0,
|
|
348
348
|
0,
|
|
@@ -360,11 +360,11 @@ var R = i.MAX_TEXTURES_LIMIT, se = new Set([
|
|
|
360
360
|
0,
|
|
361
361
|
1
|
|
362
362
|
];
|
|
363
|
-
function
|
|
364
|
-
for (let t = 0; t < 16; t++) if (e[t] !==
|
|
363
|
+
function ue(e) {
|
|
364
|
+
for (let t = 0; t < 16; t++) if (e[t] !== le[t]) return !1;
|
|
365
365
|
return !0;
|
|
366
366
|
}
|
|
367
|
-
function
|
|
367
|
+
function de(e) {
|
|
368
368
|
return {
|
|
369
369
|
map: e.map,
|
|
370
370
|
normalMap: e.normalMap,
|
|
@@ -388,14 +388,14 @@ function ue(e) {
|
|
|
388
388
|
iridescenceThicknessMap: e.iridescenceThicknessMap
|
|
389
389
|
};
|
|
390
390
|
}
|
|
391
|
-
function
|
|
391
|
+
function fe(e) {
|
|
392
392
|
if (e.userData?.gltfExtensions?.KHR_materials_unlit?.alphaMode) {
|
|
393
393
|
let t = e.userData.gltfExtensions.KHR_materials_unlit.alphaMode;
|
|
394
394
|
return t === "BLEND" ? 2 : +(t === "MASK");
|
|
395
395
|
}
|
|
396
396
|
return e.alphaTest > 0 ? 1 : e.transparent && e.opacity < 1 || e.map && e.map.format === S && e.transparent ? 2 : 0;
|
|
397
397
|
}
|
|
398
|
-
function
|
|
398
|
+
function pe(e) {
|
|
399
399
|
let t = 0, n = /* @__PURE__ */ new Set(), r = (e) => {
|
|
400
400
|
let i = e.isMesh && e.material ? e.geometry : null;
|
|
401
401
|
if (i && !n.has(i.uuid)) {
|
|
@@ -407,29 +407,29 @@ function fe(e) {
|
|
|
407
407
|
};
|
|
408
408
|
return r(e), t;
|
|
409
409
|
}
|
|
410
|
-
function
|
|
410
|
+
function me(e) {
|
|
411
411
|
let t = 0, n = /* @__PURE__ */ new Set();
|
|
412
412
|
return e.traverse?.((e) => {
|
|
413
413
|
let r = e.isInstancedMesh ? e.instanceMatrix?.array : null;
|
|
414
414
|
r && !n.has(r) && (n.add(r), t += r.byteLength);
|
|
415
415
|
}), t;
|
|
416
416
|
}
|
|
417
|
-
function
|
|
417
|
+
function z(e, t) {
|
|
418
418
|
let n = e.x, r = e.y, i = e.z;
|
|
419
419
|
e.x = t[0] * n + t[4] * r + t[8] * i + t[12], e.y = t[1] * n + t[5] * r + t[9] * i + t[13], e.z = t[2] * n + t[6] * r + t[10] * i + t[14];
|
|
420
420
|
}
|
|
421
|
-
function
|
|
421
|
+
function B(e, t) {
|
|
422
422
|
let n = e.x, r = e.y, i = e.z;
|
|
423
423
|
e.x = t[0] * n + t[3] * r + t[6] * i, e.y = t[1] * n + t[4] * r + t[7] * i, e.z = t[2] * n + t[5] * r + t[8] * i;
|
|
424
424
|
}
|
|
425
|
-
var
|
|
426
|
-
function
|
|
425
|
+
var V = 1 << 21;
|
|
426
|
+
function H(e) {
|
|
427
427
|
return !!(e.isSkinnedMesh || Object.keys(e.geometry?.morphAttributes ?? {}).length);
|
|
428
428
|
}
|
|
429
|
-
function
|
|
429
|
+
function he(e) {
|
|
430
430
|
return e[0] * (e[5] * e[10] - e[9] * e[6]) - e[4] * (e[1] * e[10] - e[9] * e[2]) + e[8] * (e[1] * e[6] - e[5] * e[2]);
|
|
431
431
|
}
|
|
432
|
-
function
|
|
432
|
+
function ge(e) {
|
|
433
433
|
let t = !1, n = /* @__PURE__ */ new Set();
|
|
434
434
|
return e.traverse((e) => {
|
|
435
435
|
if (!(t || !e.isMesh || !e.material)) {
|
|
@@ -440,7 +440,7 @@ function he(e) {
|
|
|
440
440
|
}
|
|
441
441
|
}), t;
|
|
442
442
|
}
|
|
443
|
-
function
|
|
443
|
+
function _e(e, t) {
|
|
444
444
|
let n = e.getAttribute(t);
|
|
445
445
|
if (!n || n.normalized || !(n.array instanceof Float32Array) || e.morphAttributes?.[t]?.length) return;
|
|
446
446
|
let r = n.array;
|
|
@@ -452,7 +452,7 @@ function ge(e, t) {
|
|
|
452
452
|
for (let e = 0; e < r.length; e++) i[e] = Math.round(Math.max(-1, Math.min(1, r[e])) * 32767);
|
|
453
453
|
e.setAttribute(t, new m(i, n.itemSize, !0));
|
|
454
454
|
}
|
|
455
|
-
var
|
|
455
|
+
var ve = class {
|
|
456
456
|
constructor({ issues: e = null } = {}) {
|
|
457
457
|
this._issues = e, this._droppedTextures = 0, this._vectorPool = {
|
|
458
458
|
vec3: Array(9).fill().map(() => new T()),
|
|
@@ -498,8 +498,8 @@ var _e = class {
|
|
|
498
498
|
let t = /* @__PURE__ */ new Set(), n = 0, r = (e) => {
|
|
499
499
|
if (e.isMesh && e.geometry && e.material) {
|
|
500
500
|
let r = e.geometry, i = Math.ceil((r.index ? r.index.count : r.attributes.position?.count ?? 0) / 3), a = Array.isArray(e.material) ? e.material[0] : e.material, o = a?.emissive, s = a?.emissiveIntensity > 0 && !!o && (o.r > 0 || o.g > 0 || o.b > 0), c = e.isInstancedMesh ? e.count ?? 0 : 1;
|
|
501
|
-
if (s && e.isInstancedMesh && !
|
|
502
|
-
else if (s ||
|
|
501
|
+
if (s && e.isInstancedMesh && !H(e) && i * c <= V) n += i * c;
|
|
502
|
+
else if (s || H(e)) n += i;
|
|
503
503
|
else {
|
|
504
504
|
let e = `${r.uuid}|${a?.uuid}`;
|
|
505
505
|
t.has(e) || (t.add(e), n += i);
|
|
@@ -515,7 +515,7 @@ var _e = class {
|
|
|
515
515
|
let o = e.isMesh && e.material ? e.geometry : null;
|
|
516
516
|
if (o) {
|
|
517
517
|
if (!n.has(o)) {
|
|
518
|
-
|
|
518
|
+
ae.canTake(o) || i.add(o);
|
|
519
519
|
for (let e of [...Object.values(o.attributes), o.index]) {
|
|
520
520
|
let t = e?.array;
|
|
521
521
|
if (!t) continue;
|
|
@@ -523,7 +523,7 @@ var _e = class {
|
|
|
523
523
|
n && n !== o ? i.add(o).add(n) : r.set(t, o);
|
|
524
524
|
}
|
|
525
525
|
}
|
|
526
|
-
n.set(o, (n.get(o) ?? 0) + 1), (t ||
|
|
526
|
+
n.set(o, (n.get(o) ?? 0) + 1), (t || H(e)) && i.add(o);
|
|
527
527
|
}
|
|
528
528
|
if (e.children) for (let n of e.children) a(n, t);
|
|
529
529
|
};
|
|
@@ -543,8 +543,8 @@ var _e = class {
|
|
|
543
543
|
triangles: this._countTriangles(e),
|
|
544
544
|
placements: this._countPlacements(e),
|
|
545
545
|
meshes: t,
|
|
546
|
-
geometryBytes:
|
|
547
|
-
instanceBytes:
|
|
546
|
+
geometryBytes: pe(e),
|
|
547
|
+
instanceBytes: me(e)
|
|
548
548
|
};
|
|
549
549
|
}
|
|
550
550
|
_countGeometryUses(e) {
|
|
@@ -611,7 +611,7 @@ var _e = class {
|
|
|
611
611
|
"normal",
|
|
612
612
|
"tangent",
|
|
613
613
|
"color"
|
|
614
|
-
])
|
|
614
|
+
]) _e(e, t);
|
|
615
615
|
}
|
|
616
616
|
}
|
|
617
617
|
_countTriangles(e) {
|
|
@@ -652,7 +652,7 @@ var _e = class {
|
|
|
652
652
|
e.userData.materialIndex = t;
|
|
653
653
|
let n = this.meshes.length;
|
|
654
654
|
this.meshes.push(e), e.userData.meshIndex = n;
|
|
655
|
-
let r = `${e.geometry.uuid}|${t}`, i =
|
|
655
|
+
let r = `${e.geometry.uuid}|${t}`, i = H(e), a = !this._emissiveMaterial(t) && !i, o = a ? this._geometryRanges.get(r) : null;
|
|
656
656
|
if (o) {
|
|
657
657
|
let t = {
|
|
658
658
|
start: o.start,
|
|
@@ -696,7 +696,7 @@ var _e = class {
|
|
|
696
696
|
});
|
|
697
697
|
}
|
|
698
698
|
if (c <= 0) return;
|
|
699
|
-
let l =
|
|
699
|
+
let l = ue(a) && s.length >= c * 16, u = l ? s : new Float32Array(c * 16);
|
|
700
700
|
this._beginRun(l ? e.instanceMatrix : u, 0, +!l);
|
|
701
701
|
for (let e = 0; e < c; e++) {
|
|
702
702
|
let n = e * 16, r = this._nextPlacement(), i = e * 16;
|
|
@@ -733,10 +733,10 @@ var _e = class {
|
|
|
733
733
|
}
|
|
734
734
|
_canExpand(e) {
|
|
735
735
|
let t = e.geometry, n = (t.index ? t.index.count : t.attributes.position.count) / 3, r = e.count ?? (e.instanceMatrix?.array.length ?? 0) / 16;
|
|
736
|
-
return n * r <=
|
|
736
|
+
return n * r <= V ? !0 : (this._issues?.record(c.EMISSIVE_INSTANCES_COLLAPSED, `"${e.name || "instanced mesh"}" would need ${Math.round(n * r).toLocaleString()} triangles to light every instance; lighting the first one only`, {
|
|
737
737
|
instances: r,
|
|
738
738
|
trianglesPerInstance: n,
|
|
739
|
-
limit:
|
|
739
|
+
limit: V
|
|
740
740
|
}), !1);
|
|
741
741
|
}
|
|
742
742
|
_emissiveMaterial(e) {
|
|
@@ -748,7 +748,7 @@ var _e = class {
|
|
|
748
748
|
processMaterial(t) {
|
|
749
749
|
let n = this._materialUuidMap.get(t.uuid) ?? -1;
|
|
750
750
|
if (n === -1) {
|
|
751
|
-
t.depthWrite === !1 && (t.depthWrite = !0, e(
|
|
751
|
+
t.depthWrite === !1 && (t.depthWrite = !0, e(oe, "depthWrite", "material had depthWrite disabled — enabled for rastered rendering"));
|
|
752
752
|
let r = this.createMaterialObject(t);
|
|
753
753
|
this.materials.push(r), n = this.materials.length - 1, this._materialUuidMap.set(t.uuid, n);
|
|
754
754
|
}
|
|
@@ -759,7 +759,7 @@ var _e = class {
|
|
|
759
759
|
}
|
|
760
760
|
getPhysicalDefaults() {
|
|
761
761
|
let e = {};
|
|
762
|
-
for (let [t, n] of Object.entries(r)) e[t] =
|
|
762
|
+
for (let [t, n] of Object.entries(r)) e[t] = ce.has(t) ? new h().fromArray(n) : Array.isArray(n) ? [...n] : n;
|
|
763
763
|
return e.normalScale = {
|
|
764
764
|
x: r.normalScale[0],
|
|
765
765
|
y: r.normalScale[1]
|
|
@@ -793,13 +793,13 @@ var _e = class {
|
|
|
793
793
|
return n;
|
|
794
794
|
}
|
|
795
795
|
createMaterialObject(e) {
|
|
796
|
-
let t = this.getPhysicalDefaults(), n = this.getMaterialType(e), r = this.mapLegacyMaterialToPhysical(e, n), i =
|
|
796
|
+
let t = this.getPhysicalDefaults(), n = this.getMaterialType(e), r = this.mapLegacyMaterialToPhysical(e, n), i = de(e), a = {}, o = (n) => r[n] === void 0 ? e[n] !== void 0 && e[n] !== null ? (a[n] = R.MATERIAL, e[n]) : (a[n] = R.DEFAULT, t[n]) : (a[n] = R.MAPPED, r[n]);
|
|
797
797
|
for (let e of [
|
|
798
798
|
"transparent",
|
|
799
799
|
"alphaMode",
|
|
800
800
|
"side",
|
|
801
801
|
"depthWrite"
|
|
802
|
-
]) a[e] =
|
|
802
|
+
]) a[e] = R.MATERIAL;
|
|
803
803
|
return {
|
|
804
804
|
uuid: e.uuid,
|
|
805
805
|
color: o("color"),
|
|
@@ -841,7 +841,7 @@ var _e = class {
|
|
|
841
841
|
displacementBias: o("displacementBias"),
|
|
842
842
|
transparent: +!!e.transparent,
|
|
843
843
|
alphaTest: o("alphaTest"),
|
|
844
|
-
alphaMode:
|
|
844
|
+
alphaMode: fe(e),
|
|
845
845
|
side: this.getMaterialSide(e),
|
|
846
846
|
depthWrite: e.depthWrite ?? !0 ? 1 : 0,
|
|
847
847
|
map: this.processTexture(i.map, this.maps),
|
|
@@ -894,13 +894,13 @@ var _e = class {
|
|
|
894
894
|
n || (n = /* @__PURE__ */ new Map(), this._textureIndexCache.set(t, n));
|
|
895
895
|
let r = e.source.uuid, i = n.get(r);
|
|
896
896
|
if (i !== void 0) return i;
|
|
897
|
-
if (t.length <
|
|
897
|
+
if (t.length < L) {
|
|
898
898
|
t.push(e);
|
|
899
899
|
let i = t.length - 1;
|
|
900
900
|
return n.set(r, i), i;
|
|
901
901
|
}
|
|
902
|
-
return this._droppedTextures++, this._droppedTextures === 1 && this._issues?.record(c.TEXTURE_LIMIT_EXCEEDED, `scene needs more than ${
|
|
903
|
-
limit:
|
|
902
|
+
return this._droppedTextures++, this._droppedTextures === 1 && this._issues?.record(c.TEXTURE_LIMIT_EXCEEDED, `scene needs more than ${L} distinct textures for one map type; the rest render untextured`, {
|
|
903
|
+
limit: L,
|
|
904
904
|
firstDropped: e.name || e.source?.uuid
|
|
905
905
|
}), -1;
|
|
906
906
|
}
|
|
@@ -915,11 +915,11 @@ var _e = class {
|
|
|
915
915
|
for (let d = 0; d < r; d++) {
|
|
916
916
|
i.fromArray(e.instanceMatrix.array, d * 16), a.multiplyMatrices(e.matrixWorld, i);
|
|
917
917
|
let r = new b().getNormalMatrix(a);
|
|
918
|
-
this.extractTrianglesInBatch(o, s, c, l, u, t, n, a, r,
|
|
918
|
+
this.extractTrianglesInBatch(o, s, c, l, u, t, n, a, r, he(a.elements) < 0);
|
|
919
919
|
}
|
|
920
920
|
return;
|
|
921
921
|
}
|
|
922
|
-
let d = r ? this._matrixPool.mat4.copy(e.matrixWorld) : null, f = r ? this._matrixPool.mat3.getNormalMatrix(e.matrixWorld) : null, p = r &&
|
|
922
|
+
let d = r ? this._matrixPool.mat4.copy(e.matrixWorld) : null, f = r ? this._matrixPool.mat3.getNormalMatrix(e.matrixWorld) : null, p = r && he(d.elements) < 0;
|
|
923
923
|
this.extractTrianglesInBatch(o, s, c, l, u, t, n, d, f, p);
|
|
924
924
|
}
|
|
925
925
|
extractTrianglesInBatch(e, t, n, r, i, a, o, s = null, c = null, l = !1) {
|
|
@@ -930,7 +930,7 @@ var _e = class {
|
|
|
930
930
|
let y = s?.elements, b = c?.elements;
|
|
931
931
|
for (let c = 0; c < i; c++) {
|
|
932
932
|
let i = c * 3, x = r ? r[i + 0] : i + 0, S = l ? 2 : 1, C = l ? 1 : 2, w = r ? r[i + S] : i + S, T = r ? r[i + C] : i + C;
|
|
933
|
-
this.getVertex(e, x, u), this.getVertex(e, w, d), this.getVertex(e, T, f), this.getVertex(t, x, p), this.getVertex(t, w, m), this.getVertex(t, T, h), n ? (this.getVertex(n, x, g), this.getVertex(n, w, _), this.getVertex(n, T, v)) : (g.set(0, 0), _.set(0, 0), v.set(0, 0)), s && (
|
|
933
|
+
this.getVertex(e, x, u), this.getVertex(e, w, d), this.getVertex(e, T, f), this.getVertex(t, x, p), this.getVertex(t, w, m), this.getVertex(t, T, h), n ? (this.getVertex(n, x, g), this.getVertex(n, w, _), this.getVertex(n, T, v)) : (g.set(0, 0), _.set(0, 0), v.set(0, 0)), s && (z(u, y), z(d, y), z(f, y), B(p, b), B(m, b), B(h, b)), p.normalize(), m.normalize(), h.normalize(), this.packTriangleDataTextureFormat(this.currentTriangleIndex, u, d, f, p, m, h, g, _, v, a, o), this.currentTriangleIndex++;
|
|
934
934
|
}
|
|
935
935
|
}
|
|
936
936
|
packTriangleDataTextureFormat(e, t, n, r, i, c, l, u, d, f, p, m) {
|
|
@@ -951,7 +951,7 @@ var _e = class {
|
|
|
951
951
|
}
|
|
952
952
|
logStats() {
|
|
953
953
|
let e = this.currentTriangleIndex * a.FLOATS_PER_TRIANGLE * 4;
|
|
954
|
-
|
|
954
|
+
oe.debug(t.list([
|
|
955
955
|
`${t.count(this.currentTriangleIndex, "tri")} (${t.mb(e)})`,
|
|
956
956
|
t.count(this.materials.length, "material"),
|
|
957
957
|
t.count(this.maps.length, "map")
|
|
@@ -1010,38 +1010,38 @@ var _e = class {
|
|
|
1010
1010
|
cameras: this.cameras
|
|
1011
1011
|
};
|
|
1012
1012
|
}
|
|
1013
|
-
},
|
|
1013
|
+
}, U = {
|
|
1014
1014
|
Worker: null,
|
|
1015
1015
|
decodeImage: null,
|
|
1016
1016
|
readFile: null
|
|
1017
1017
|
};
|
|
1018
|
-
function
|
|
1019
|
-
e && Object.assign(
|
|
1018
|
+
function ye(e) {
|
|
1019
|
+
e && Object.assign(U, e);
|
|
1020
1020
|
}
|
|
1021
|
-
function
|
|
1022
|
-
return
|
|
1021
|
+
function W() {
|
|
1022
|
+
return U;
|
|
1023
1023
|
}
|
|
1024
1024
|
function be() {
|
|
1025
1025
|
return typeof navigator < "u" && navigator.hardwareConcurrency || 4;
|
|
1026
1026
|
}
|
|
1027
1027
|
function xe() {
|
|
1028
|
-
return !!
|
|
1028
|
+
return !!U.decodeImage || typeof self < "u" && (typeof createImageBitmap < "u" || typeof document < "u");
|
|
1029
1029
|
}
|
|
1030
1030
|
function Se() {
|
|
1031
|
-
return !!
|
|
1031
|
+
return !!U.Worker || typeof Worker < "u";
|
|
1032
1032
|
}
|
|
1033
1033
|
var G = 0;
|
|
1034
1034
|
async function Ce(e) {
|
|
1035
|
-
if (!
|
|
1036
|
-
G++ === 0 && (globalThis.Worker =
|
|
1035
|
+
if (!U.Worker || G === 0 && globalThis.Worker !== void 0) return e();
|
|
1036
|
+
G++ === 0 && (globalThis.Worker = U.Worker);
|
|
1037
1037
|
try {
|
|
1038
1038
|
return await e();
|
|
1039
1039
|
} finally {
|
|
1040
|
-
--G === 0 && globalThis.Worker ===
|
|
1040
|
+
--G === 0 && globalThis.Worker === U.Worker && delete globalThis.Worker;
|
|
1041
1041
|
}
|
|
1042
1042
|
}
|
|
1043
1043
|
function we(e, t) {
|
|
1044
|
-
let n =
|
|
1044
|
+
let n = U.Worker;
|
|
1045
1045
|
if (!n) return new e(t);
|
|
1046
1046
|
let r = Object.prototype.hasOwnProperty.call(globalThis, "Worker"), i = globalThis.Worker;
|
|
1047
1047
|
globalThis.Worker = n;
|
|
@@ -1219,21 +1219,15 @@ var Ze = class {
|
|
|
1219
1219
|
samples: this.samples.slice()
|
|
1220
1220
|
};
|
|
1221
1221
|
}
|
|
1222
|
-
}, Qe = "11.
|
|
1223
|
-
function tt(e, t, n = $e) {
|
|
1224
|
-
return e >= n && t / et < e / 3;
|
|
1225
|
-
}
|
|
1226
|
-
//#endregion
|
|
1227
|
-
//#region src/loaders/PlatformImageLoader.js
|
|
1228
|
-
var nt = [
|
|
1222
|
+
}, Qe = "11.16.0", $e = [
|
|
1229
1223
|
[/\.jpe?g(\?|#|$)/i, "image/jpeg"],
|
|
1230
1224
|
[/\.webp(\?|#|$)/i, "image/webp"],
|
|
1231
1225
|
[/\.avif(\?|#|$)/i, "image/avif"]
|
|
1232
1226
|
];
|
|
1233
1227
|
function J(e) {
|
|
1234
|
-
return e.mimeType ? e.mimeType : e.uri?.startsWith("data:") ? e.uri.slice(5, e.uri.indexOf(";")) :
|
|
1228
|
+
return e.mimeType ? e.mimeType : e.uri?.startsWith("data:") ? e.uri.slice(5, e.uri.indexOf(";")) : $e.find(([t]) => t.test(e.uri ?? ""))?.[1] ?? "image/png";
|
|
1235
1229
|
}
|
|
1236
|
-
function
|
|
1230
|
+
function et(e) {
|
|
1237
1231
|
for (let t = 8; t + 12 <= e.length;) {
|
|
1238
1232
|
let n = (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0, r = t + 12 + n;
|
|
1239
1233
|
if (e[t + 4] === 73 && e[t + 5] === 69 && e[t + 6] === 78 && e[t + 7] === 68) return e.subarray(0, r);
|
|
@@ -1248,44 +1242,44 @@ function Y({ data: e, width: t, height: n }, { shared: r = !1 } = {}) {
|
|
|
1248
1242
|
return o.needsUpdate = !0, o;
|
|
1249
1243
|
}
|
|
1250
1244
|
function X(e, t) {
|
|
1251
|
-
return
|
|
1245
|
+
return W().decodeImage(t === "image/png" ? et(e) : e, t);
|
|
1252
1246
|
}
|
|
1253
|
-
async function
|
|
1247
|
+
async function tt(e) {
|
|
1254
1248
|
let t = await fetch(e);
|
|
1255
1249
|
if (!t.ok) throw Error(`HTTP ${t.status}`);
|
|
1256
1250
|
return new Uint8Array(await t.arrayBuffer());
|
|
1257
1251
|
}
|
|
1258
|
-
function
|
|
1259
|
-
return t.bufferView === void 0 ?
|
|
1252
|
+
function nt(e, t) {
|
|
1253
|
+
return t.bufferView === void 0 ? tt(e.options.manager.resolveURL(y.resolveURL(t.uri, e.options.path))) : e.getDependency("bufferView", t.bufferView).then((e) => new Uint8Array(e));
|
|
1260
1254
|
}
|
|
1261
|
-
var
|
|
1262
|
-
function
|
|
1255
|
+
var rt = (e, t) => !!t && t !== e.textureLoader && typeof t.parse == "function";
|
|
1256
|
+
function it(e, t, n) {
|
|
1263
1257
|
if (e.sourceCache[t] !== void 0) return e.sourceCache[t].then((e) => e.clone());
|
|
1264
|
-
let r =
|
|
1258
|
+
let r = nt(e, e.json.images[t]).then((e) => new Promise((t, r) => {
|
|
1265
1259
|
n.parse(e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength), t, r);
|
|
1266
1260
|
}));
|
|
1267
1261
|
return e.sourceCache[t] = r, r;
|
|
1268
1262
|
}
|
|
1269
|
-
async function
|
|
1270
|
-
let n = Y(await X(await
|
|
1263
|
+
async function at(e, t = J({ uri: e })) {
|
|
1264
|
+
let n = Y(await X(await tt(e), t));
|
|
1271
1265
|
return n.flipY = !0, n;
|
|
1272
1266
|
}
|
|
1273
|
-
async function
|
|
1267
|
+
async function ot(e, t) {
|
|
1274
1268
|
let n = Y(await X(e, J({ uri: t })), { shared: !0 });
|
|
1275
1269
|
return n.flipY = !0, n;
|
|
1276
1270
|
}
|
|
1277
|
-
function
|
|
1271
|
+
function st(e, t = null) {
|
|
1278
1272
|
return e.loadImageSource = function(e, n) {
|
|
1279
|
-
if (
|
|
1273
|
+
if (rt(this, n)) return it(this, e, n);
|
|
1280
1274
|
let r = this.json.images[e], i = /* @__PURE__ */ Error("no image decoder in this runtime: configurePlatform( nodePlatform( { decodeImage } ) ) — see \"Running in Node\"");
|
|
1281
1275
|
return t?.(r.uri ?? `bufferView ${r.bufferView}`, i), Promise.reject(i);
|
|
1282
1276
|
}, { name: "RAYZEE_missing_image_decoder" };
|
|
1283
1277
|
}
|
|
1284
|
-
function
|
|
1278
|
+
function ct(e, t = null) {
|
|
1285
1279
|
return e.loadImageSource = function(e, n) {
|
|
1286
|
-
if (
|
|
1280
|
+
if (rt(this, n)) return it(this, e, n);
|
|
1287
1281
|
if (this.sourceCache[e] !== void 0) return this.sourceCache[e].then((e) => e.clone());
|
|
1288
|
-
let r = this.json.images[e], i = J(r), a = r.uri ?? `bufferView ${r.bufferView}`, o =
|
|
1282
|
+
let r = this.json.images[e], i = J(r), a = r.uri ?? `bufferView ${r.bufferView}`, o = nt(this, r).then((e) => X(e, i)).then((e) => {
|
|
1289
1283
|
let t = Y(e, { shared: !0 });
|
|
1290
1284
|
return r.extras && typeof r.extras == "object" && Object.assign(t.userData, r.extras), t.userData.mimeType = i, t;
|
|
1291
1285
|
}).catch((e) => {
|
|
@@ -1296,12 +1290,12 @@ function ut(e, t = null) {
|
|
|
1296
1290
|
}
|
|
1297
1291
|
//#endregion
|
|
1298
1292
|
//#region src/loaders/SceneMetadata.js
|
|
1299
|
-
var
|
|
1293
|
+
var lt = [
|
|
1300
1294
|
"sourceFile",
|
|
1301
1295
|
"url",
|
|
1302
1296
|
"file"
|
|
1303
1297
|
];
|
|
1304
|
-
function
|
|
1298
|
+
function Z(e) {
|
|
1305
1299
|
if (typeof e == "string") try {
|
|
1306
1300
|
let t = JSON.parse(e);
|
|
1307
1301
|
return t && typeof t == "object" ? t : null;
|
|
@@ -1310,50 +1304,50 @@ function Q(e) {
|
|
|
1310
1304
|
}
|
|
1311
1305
|
return e && typeof e == "object" ? e : null;
|
|
1312
1306
|
}
|
|
1313
|
-
function
|
|
1307
|
+
function Q(e) {
|
|
1314
1308
|
let t = typeof e == "string" ? parseFloat(e) : e;
|
|
1315
1309
|
return Number.isFinite(t) ? t : void 0;
|
|
1316
1310
|
}
|
|
1317
|
-
function
|
|
1318
|
-
let t =
|
|
1311
|
+
function ut(e) {
|
|
1312
|
+
let t = Z(e);
|
|
1319
1313
|
if (!t) return null;
|
|
1320
|
-
let n = (e) => e && (e.environment !== void 0 || e.render !== void 0), r =
|
|
1314
|
+
let n = (e) => e && (e.environment !== void 0 || e.render !== void 0), r = Z(t.rayzee);
|
|
1321
1315
|
return n(r) ? r : n(t) ? t : null;
|
|
1322
1316
|
}
|
|
1323
|
-
function
|
|
1324
|
-
let t =
|
|
1317
|
+
function dt(e) {
|
|
1318
|
+
let t = Z(e);
|
|
1325
1319
|
if (!t) return null;
|
|
1326
|
-
let n =
|
|
1320
|
+
let n = lt.map((e) => t[e]).find((e) => typeof e == "string" && e.trim());
|
|
1327
1321
|
if (!n) return null;
|
|
1328
|
-
let r =
|
|
1322
|
+
let r = Q(t.rotation), i = Q(t.intensity), a = { sourceFile: n.trim() };
|
|
1329
1323
|
return r !== void 0 && (a.rotation = r), i !== void 0 && (a.intensity = Math.max(0, i)), a;
|
|
1330
1324
|
}
|
|
1331
|
-
var
|
|
1325
|
+
var ft = [
|
|
1332
1326
|
"maxBounces",
|
|
1333
1327
|
"samples",
|
|
1334
1328
|
"width",
|
|
1335
1329
|
"height"
|
|
1336
1330
|
];
|
|
1337
|
-
function
|
|
1338
|
-
let t =
|
|
1331
|
+
function pt(e) {
|
|
1332
|
+
let t = Z(e);
|
|
1339
1333
|
if (!t) return null;
|
|
1340
1334
|
let n = {};
|
|
1341
|
-
for (let e of
|
|
1342
|
-
let r =
|
|
1335
|
+
for (let e of ft) {
|
|
1336
|
+
let r = Q(t[e]);
|
|
1343
1337
|
r !== void 0 && r > 0 && (n[e] = Math.round(r));
|
|
1344
1338
|
}
|
|
1345
1339
|
return Object.keys(n).length ? n : null;
|
|
1346
1340
|
}
|
|
1347
|
-
function
|
|
1348
|
-
let t =
|
|
1341
|
+
function mt(e) {
|
|
1342
|
+
let t = ut(e);
|
|
1349
1343
|
if (!t) return null;
|
|
1350
|
-
let n =
|
|
1344
|
+
let n = dt(t.environment), r = pt(t.render);
|
|
1351
1345
|
return !n && !r ? null : {
|
|
1352
1346
|
...n ? { environment: n } : {},
|
|
1353
1347
|
...r ? { render: r } : {}
|
|
1354
1348
|
};
|
|
1355
1349
|
}
|
|
1356
|
-
function
|
|
1350
|
+
function ht(e) {
|
|
1357
1351
|
if (!e) return null;
|
|
1358
1352
|
let t = [
|
|
1359
1353
|
e.userData,
|
|
@@ -1362,10 +1356,46 @@ function _t(e) {
|
|
|
1362
1356
|
];
|
|
1363
1357
|
Array.isArray(e.scenes) && t.push(...e.scenes.map((e) => e?.userData));
|
|
1364
1358
|
for (let e of t) {
|
|
1365
|
-
let t =
|
|
1359
|
+
let t = mt(e);
|
|
1366
1360
|
if (t) return t;
|
|
1367
1361
|
}
|
|
1368
1362
|
return null;
|
|
1369
1363
|
}
|
|
1370
1364
|
//#endregion
|
|
1371
|
-
|
|
1365
|
+
//#region src/loaders/ArchiveFormats.js
|
|
1366
|
+
var gt = Object.freeze({
|
|
1367
|
+
zip: {
|
|
1368
|
+
type: "archive",
|
|
1369
|
+
name: "ZIP Archive"
|
|
1370
|
+
},
|
|
1371
|
+
gz: {
|
|
1372
|
+
type: "archive",
|
|
1373
|
+
name: "Gzipped TAR Archive"
|
|
1374
|
+
},
|
|
1375
|
+
tgz: {
|
|
1376
|
+
type: "archive",
|
|
1377
|
+
name: "Gzipped TAR Archive"
|
|
1378
|
+
},
|
|
1379
|
+
tar: {
|
|
1380
|
+
type: "archive",
|
|
1381
|
+
name: "TAR Archive"
|
|
1382
|
+
}
|
|
1383
|
+
}), $ = (e) => typeof Blob < "u" && e instanceof Blob, _t = (e) => !!e && typeof e == "object" && !$(e) && e.files != null, vt = (e) => e.startsWith(".") || e === "__MACOSX";
|
|
1384
|
+
function yt({ name: e = null, files: t }, { isModel: n = () => !1 } = {}) {
|
|
1385
|
+
let r = /* @__PURE__ */ new Map();
|
|
1386
|
+
for (let e of t) {
|
|
1387
|
+
let t = $(e) ? e : e.file, n = $(e) ? e.webkitRelativePath || e.name : e.path, i = String(n ?? "").replace(/\\/g, "/").split("/").filter((e) => e && e !== ".").join("/");
|
|
1388
|
+
!i || !t || i.split("/").some(vt) || r.set(i, {
|
|
1389
|
+
path: i,
|
|
1390
|
+
file: t
|
|
1391
|
+
});
|
|
1392
|
+
}
|
|
1393
|
+
let i = [...r.values()].sort((e, t) => e.path < t.path ? -1 : +(e.path > t.path)), a = i[0]?.path.split("/")[0], o = i.length > 0 && i.every((e) => e.path.startsWith(a + "/")) ? a : null;
|
|
1394
|
+
return {
|
|
1395
|
+
name: e ?? o ?? (i.find((e) => n(e.path)) ?? i[0])?.path.split("/").pop() ?? "Folder",
|
|
1396
|
+
files: i,
|
|
1397
|
+
flat: o === null && i.every((e) => !e.path.includes("/"))
|
|
1398
|
+
};
|
|
1399
|
+
}
|
|
1400
|
+
//#endregion
|
|
1401
|
+
export { xe as A, de as B, je as C, we as D, ye as E, R as F, E as G, ae as H, se as I, D as K, fe as L, Ee as M, Ce as N, W as O, ve as P, pe as R, Ye as S, Oe as T, ee as U, ge as V, j as W, Ue as _, mt as a, Je as b, ot as c, Ve as d, Ze as f, We as g, Be as h, ht as i, Se as j, be as k, ct as l, Ke as m, _t as n, at as o, ze as p, k as q, yt as r, st as s, gt as t, Qe as u, He as v, Me as w, Xe as x, Ge as y, _e as z };
|