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,15 +1,14 @@
|
|
|
1
|
-
import { n as e } from "./BidirectionalIntegrator-
|
|
2
|
-
import { n as t, r as n, t as r } from "./EngineIssues-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { a as
|
|
6
|
-
import { t as
|
|
7
|
-
import { n as x, t as S } from "./ZipReader-KPFbIuOs.js";
|
|
1
|
+
import { n as e } from "./BidirectionalIntegrator-KWRQrMXX.js";
|
|
2
|
+
import { n as t, r as n, t as r } from "./EngineIssues-DHAU18xh.js";
|
|
3
|
+
import { I as i, M as a, N as o, O as s, T as c, c as l, i as u, t as d, u as f, z as p } from "./ArchiveFormats-CWi6IbSp.js";
|
|
4
|
+
import { f as m, i as h, n as g, o as _, r as v, s as y } from "./FileIdentity-BXmPNvJP.js";
|
|
5
|
+
import { a as b } from "./EngineEvents-oQGofgRf.js";
|
|
6
|
+
import { n as x, t as S } from "./ZipReader-D6LbMsfZ.js";
|
|
8
7
|
import { AnimationClip as C, BooleanKeyframeTrack as w, BoxGeometry as T, BufferAttribute as E, BufferGeometry as D, CapsuleGeometry as ee, ClampToEdgeWrapping as te, Color as O, ConeGeometry as ne, CylinderGeometry as re, DataTexture as k, DirectionalLight as ie, DoubleSide as A, EquirectangularReflectionMapping as ae, Euler as oe, Float32BufferAttribute as j, FloatType as se, FrontSide as ce, Group as le, InstancedBufferAttribute as ue, InstancedMesh as de, LinearFilter as fe, LoadingManager as pe, MaterialLoader as me, Matrix4 as M, Mesh as he, MeshPhysicalMaterial as N, MirroredRepeatWrapping as ge, NoColorSpace as _e, NumberKeyframeTrack as ve, Object3D as ye, OrthographicCamera as be, PerspectiveCamera as xe, PlaneGeometry as Se, PointLight as Ce, Quaternion as we, QuaternionKeyframeTrack as Te, RGBAFormat as Ee, RectAreaLight as De, RepeatWrapping as Oe, SRGBColorSpace as P, SphereGeometry as ke, SpotLight as Ae, Texture as je, Uint32BufferAttribute as F, Vector3 as I, VectorKeyframeTrack as Me } from "three";
|
|
9
8
|
import { HDRLoader as Ne } from "three/addons/loaders/HDRLoader.js";
|
|
10
9
|
import { Gunzip as Pe, strFromU8 as Fe } from "three/addons/libs/fflate.module.js";
|
|
11
10
|
import { EXRLoader as Ie } from "three/addons/loaders/EXRLoader.js";
|
|
12
|
-
//#region src/
|
|
11
|
+
//#region src/addons/archives/ArchiveReader.js
|
|
13
12
|
var L = 512, Le = 4 << 20, Re = 15e8, ze = new TextDecoder();
|
|
14
13
|
function Be(e) {
|
|
15
14
|
return e.length >= 2 && e[0] === 31 && e[1] === 139;
|
|
@@ -331,14 +330,14 @@ function lt(e) {
|
|
|
331
330
|
};
|
|
332
331
|
}
|
|
333
332
|
//#endregion
|
|
334
|
-
//#region src/
|
|
333
|
+
//#region src/addons/archives/ArchiveCache.js
|
|
335
334
|
var ut = 1, dt = 3;
|
|
336
335
|
async function ft(e, t) {
|
|
337
|
-
return `${e}:${
|
|
336
|
+
return `${e}:${h(await g(t))}`;
|
|
338
337
|
}
|
|
339
338
|
async function pt(e, { storage: n, label: r = e.name, onProgress: i = null, filter: a = null, part: o = null }) {
|
|
340
339
|
if (!n || typeof DecompressionStream > "u") return null;
|
|
341
|
-
let s = n.area(
|
|
340
|
+
let s = n.area(y.ARCHIVES), c = await ft("gunzip", e), l = c, u = await s.open(c);
|
|
342
341
|
!u && a && (u = await s.open(l = `${c}|${o}`));
|
|
343
342
|
let d = !!u;
|
|
344
343
|
if (!u) {
|
|
@@ -369,7 +368,7 @@ async function pt(e, { storage: n, label: r = e.name, onProgress: i = null, filt
|
|
|
369
368
|
});
|
|
370
369
|
} catch (e) {
|
|
371
370
|
if (await c.abort(), e?.name !== "QuotaExceededError") throw e;
|
|
372
|
-
return n._issue(t.STORAGE_QUOTA_EXCEEDED, `ran out of room unpacking ${r}; reading it in memory instead`, { area:
|
|
371
|
+
return n._issue(t.STORAGE_QUOTA_EXCEEDED, `ran out of room unpacking ${r}; reading it in memory instead`, { area: y.ARCHIVES }), null;
|
|
373
372
|
}
|
|
374
373
|
if (u = await s.open(l, { wait: !0 }), !u) return null;
|
|
375
374
|
}
|
|
@@ -383,7 +382,7 @@ async function pt(e, { storage: n, label: r = e.name, onProgress: i = null, filt
|
|
|
383
382
|
}
|
|
384
383
|
async function mt(e, t) {
|
|
385
384
|
if (!t) return null;
|
|
386
|
-
let n = await t.area(
|
|
385
|
+
let n = await t.area(y.ARCHIVES).open(await ft("tarindex", e));
|
|
387
386
|
if (!n) return null;
|
|
388
387
|
try {
|
|
389
388
|
let e = await n.json("index.json");
|
|
@@ -394,7 +393,7 @@ async function mt(e, t) {
|
|
|
394
393
|
}
|
|
395
394
|
async function ht(e, t, n) {
|
|
396
395
|
if (!t || !n) return !1;
|
|
397
|
-
let r = await t.area(
|
|
396
|
+
let r = await t.area(y.ARCHIVES).create(await ft("tarindex", e), { label: `${e.name} (index)` });
|
|
398
397
|
if (!r) return !1;
|
|
399
398
|
try {
|
|
400
399
|
return await r.writeJSON("index.json", n), await r.commit(), !0;
|
|
@@ -746,7 +745,7 @@ async function Ht(e, t, { loadTexture: n }) {
|
|
|
746
745
|
};
|
|
747
746
|
}
|
|
748
747
|
//#endregion
|
|
749
|
-
//#region src/
|
|
748
|
+
//#region src/addons/archives/pbrt/ArrayMemory.js
|
|
750
749
|
var Ut = (e) => e.byteOffset === 0 && e.byteLength === e.buffer.byteLength && typeof e.buffer.transfer == "function" && !(typeof SharedArrayBuffer < "u" && e.buffer instanceof SharedArrayBuffer);
|
|
751
750
|
function R(e) {
|
|
752
751
|
e && Ut(e) && e.buffer.transfer(0);
|
|
@@ -758,7 +757,7 @@ function z(e, t) {
|
|
|
758
757
|
return r.set(t < e.length ? e.subarray(0, t) : e), r;
|
|
759
758
|
}
|
|
760
759
|
//#endregion
|
|
761
|
-
//#region src/
|
|
760
|
+
//#region src/addons/archives/pbrt/PBRTTokenizer.js
|
|
762
761
|
var B = {
|
|
763
762
|
STRING: "string",
|
|
764
763
|
NUMBER: "number",
|
|
@@ -861,7 +860,7 @@ var mn = class {
|
|
|
861
860
|
}
|
|
862
861
|
};
|
|
863
862
|
//#endregion
|
|
864
|
-
//#region src/
|
|
863
|
+
//#region src/addons/archives/pbrt/PBRTMath.js
|
|
865
864
|
function hn() {
|
|
866
865
|
return [
|
|
867
866
|
1,
|
|
@@ -1043,7 +1042,7 @@ function Tn(e) {
|
|
|
1043
1042
|
];
|
|
1044
1043
|
}
|
|
1045
1044
|
//#endregion
|
|
1046
|
-
//#region src/
|
|
1045
|
+
//#region src/addons/archives/pbrt/PBRTParser.js
|
|
1047
1046
|
var En = 8, Dn = 1, On = 2, kn = 3, An = new Set([
|
|
1048
1047
|
"Identity",
|
|
1049
1048
|
"Transform",
|
|
@@ -2104,7 +2103,7 @@ function zn(e, t) {
|
|
|
2104
2103
|
return (r + i) / 2;
|
|
2105
2104
|
}
|
|
2106
2105
|
//#endregion
|
|
2107
|
-
//#region src/
|
|
2106
|
+
//#region src/addons/archives/pbrt/PBRTMaterials.js
|
|
2108
2107
|
var Bn = {
|
|
2109
2108
|
au: [
|
|
2110
2109
|
1,
|
|
@@ -2471,7 +2470,7 @@ async function tr(e, t) {
|
|
|
2471
2470
|
return s && t.resolveNormalMap && (i.normalMap = await t.resolveNormalMap(s)), i.clearcoat > 0 && i.normalMap && (i.clearcoatNormalMap = i.normalMap), i.roughness = Math.max(0, Math.min(1, i.roughness)), i;
|
|
2472
2471
|
}
|
|
2473
2472
|
//#endregion
|
|
2474
|
-
//#region src/
|
|
2473
|
+
//#region src/addons/archives/pbrt/PBRTTextureBake.js
|
|
2475
2474
|
var nr = 4096, rr = (e) => e?.key ?? "", ir = (e) => e <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, ar = (e) => e <= .0031308 ? e * 12.92 : 1.055 * e ** (1 / 2.4) - .055;
|
|
2476
2475
|
function or(e, { channels: t, decode: n = null, scale: r = 1, invert: i = !1, mapping: a = null }) {
|
|
2477
2476
|
let { width: o, height: s } = e, c = e.channels ?? 4, l = new Float32Array(o * s * t), u = e.topDown !== !1, d = n && (e.data instanceof Uint8Array || e.data instanceof Uint8ClampedArray) ? Float64Array.from({ length: 256 }, (e, t) => n(t / 255)) : null, f = d ? (t) => d[e.data[t]] : (t) => n ? n(e.data[t] / 255) : e.data[t], p = t === 1 && c === 4 && sr(e), m = t === 1 && c >= 3 && !p;
|
|
@@ -2650,7 +2649,7 @@ function hr(e, t, n, r) {
|
|
|
2650
2649
|
};
|
|
2651
2650
|
}
|
|
2652
2651
|
//#endregion
|
|
2653
|
-
//#region src/
|
|
2652
|
+
//#region src/addons/archives/pbrt/LoopSubdivision.js
|
|
2654
2653
|
function gr(e) {
|
|
2655
2654
|
return e === 3 ? 3 / 16 : 3 / (8 * e);
|
|
2656
2655
|
}
|
|
@@ -2738,7 +2737,7 @@ function xr(e, t, n, r = 2e6) {
|
|
|
2738
2737
|
};
|
|
2739
2738
|
}
|
|
2740
2739
|
//#endregion
|
|
2741
|
-
//#region src/
|
|
2740
|
+
//#region src/addons/archives/pbrt/EqualAreaOctahedral.js
|
|
2742
2741
|
function Sr(e, t, n) {
|
|
2743
2742
|
let r = Math.abs(e), i = Math.abs(t), a = Math.sqrt(Math.max(0, 1 - Math.abs(n))), o = Math.max(r, i), s = o === 0 ? 0 : Math.min(r, i) / o, c = 2 / Math.PI * Math.atan(s);
|
|
2744
2743
|
r < i && (c = 1 - c);
|
|
@@ -2791,7 +2790,7 @@ function Tr(e, t, n = 1, r = 0) {
|
|
|
2791
2790
|
};
|
|
2792
2791
|
}
|
|
2793
2792
|
//#endregion
|
|
2794
|
-
//#region src/
|
|
2793
|
+
//#region src/addons/archives/pbrt/PBRTCurves.js
|
|
2795
2794
|
var Er = 2;
|
|
2796
2795
|
function Dr(e, t) {
|
|
2797
2796
|
let n = e * e, r = n * e;
|
|
@@ -3086,7 +3085,7 @@ async function Hr(e, t = null) {
|
|
|
3086
3085
|
};
|
|
3087
3086
|
}
|
|
3088
3087
|
//#endregion
|
|
3089
|
-
//#region src/
|
|
3088
|
+
//#region src/addons/archives/pbrt/PBRTSceneBuilder.js
|
|
3090
3089
|
var Ur = new Set([
|
|
3091
3090
|
"distant",
|
|
3092
3091
|
"point",
|
|
@@ -3508,7 +3507,7 @@ var Ri = class {
|
|
|
3508
3507
|
async _buildInstances(e, t) {
|
|
3509
3508
|
let n = 0;
|
|
3510
3509
|
e.skippedInstances > 0 && (this.skippedForBudget += e.skippedInstances);
|
|
3511
|
-
let r = new Float64Array(16),
|
|
3510
|
+
let r = new Float64Array(16), a = new M(), o = /* @__PURE__ */ new Map(), s = (e, s, c, l, u, d, f) => {
|
|
3512
3511
|
let p = l ? Array.prototype.join.call(l, ",") : "", m = o.get(e);
|
|
3513
3512
|
m || o.set(e, m = /* @__PURE__ */ new Map());
|
|
3514
3513
|
let h = m.get(p), g = Math.max(0, this.maxPlacements - this.placementCount), _ = h ? h.count : Math.min(e.count, g);
|
|
@@ -3519,14 +3518,14 @@ var Ri = class {
|
|
|
3519
3518
|
for (let t = 0; t < _; t++) {
|
|
3520
3519
|
if (l) _n(r, e.matrices, t * 16, l);
|
|
3521
3520
|
else for (let n = 0; n < 16; n++) r[n] = e.matrices[t * 16 + n];
|
|
3522
|
-
v.setMatrixAt(t,
|
|
3521
|
+
v.setMatrixAt(t, a.fromArray(this.convertHandedness ? V(Gr, r) : r));
|
|
3523
3522
|
}
|
|
3524
3523
|
v.instanceMatrix.needsUpdate = !0, m.set(p, {
|
|
3525
3524
|
attribute: v.instanceMatrix,
|
|
3526
3525
|
count: _
|
|
3527
3526
|
}), this.placementCount += _;
|
|
3528
3527
|
}
|
|
3529
|
-
|
|
3528
|
+
i(v), t.add(v), this.reportedMeshes += _, this.report.length < Xr && this.report.push({
|
|
3530
3529
|
mesh: `${v.name} ×${_}`,
|
|
3531
3530
|
shape: u,
|
|
3532
3531
|
material: d,
|
|
@@ -3841,7 +3840,7 @@ var Ri = class {
|
|
|
3841
3840
|
});
|
|
3842
3841
|
if (!a) return this.warn("curve could not be tessellated"), null;
|
|
3843
3842
|
let o = new D();
|
|
3844
|
-
return o.setAttribute("position", new E(a.positions, 3)), o.setIndex(new E(a.indices, 1)), o.computeVertexNormals(),
|
|
3843
|
+
return o.setAttribute("position", new E(a.positions, 3)), o.setIndex(new E(a.indices, 1)), o.computeVertexNormals(), p(o, "normal"), o;
|
|
3845
3844
|
}
|
|
3846
3845
|
async _curves(e) {
|
|
3847
3846
|
let t = await Hr({
|
|
@@ -3861,7 +3860,7 @@ var Ri = class {
|
|
|
3861
3860
|
if (!t) return this.warn("curves could not be tessellated"), null;
|
|
3862
3861
|
t.skipped > 0 && this.warn(`${t.skipped} curve(s) of an unsupported basis or too few points skipped`);
|
|
3863
3862
|
let n = new D();
|
|
3864
|
-
return n.setAttribute("position", new E(t.positions, 3)), n.setIndex(new E(t.indices, 1)), n.computeVertexNormals(),
|
|
3863
|
+
return n.setAttribute("position", new E(t.positions, 3)), n.setIndex(new E(t.indices, 1)), n.computeVertexNormals(), p(n, "normal"), n;
|
|
3865
3864
|
}
|
|
3866
3865
|
_loopSubdiv(e) {
|
|
3867
3866
|
let t = U(e, "P")?.value, n = U(e, "indices")?.value;
|
|
@@ -4830,7 +4829,7 @@ function ea(e) {
|
|
|
4830
4829
|
}, e;
|
|
4831
4830
|
}
|
|
4832
4831
|
//#endregion
|
|
4833
|
-
//#region src/
|
|
4832
|
+
//#region src/addons/archives/pbrt/index.js
|
|
4834
4833
|
var ta = 2e6, na = new TextDecoder();
|
|
4835
4834
|
function ra(e) {
|
|
4836
4835
|
let t = e.replace(/\\/g, "/").split("/"), n = [];
|
|
@@ -5040,7 +5039,7 @@ function ya(e) {
|
|
|
5040
5039
|
return `${t.length > 1 ? t[t.length - 2] : t[0].replace(/\d+\.pbrt$/i, "") || "frames"} · frames ${e[0].number}–${e[e.length - 1].number}`;
|
|
5041
5040
|
}
|
|
5042
5041
|
//#endregion
|
|
5043
|
-
//#region src/
|
|
5042
|
+
//#region src/addons/archives/usd/USDLayer.js
|
|
5044
5043
|
var ba = class {
|
|
5045
5044
|
constructor(e, t) {
|
|
5046
5045
|
this.asset = e, this.path = t;
|
|
@@ -5687,7 +5686,7 @@ function Ga(e, t = "") {
|
|
|
5687
5686
|
return r;
|
|
5688
5687
|
}
|
|
5689
5688
|
//#endregion
|
|
5690
|
-
//#region src/
|
|
5689
|
+
//#region src/addons/archives/usd/USDText.js
|
|
5691
5690
|
var Ka = new Set([
|
|
5692
5691
|
"prepend",
|
|
5693
5692
|
"append",
|
|
@@ -6054,7 +6053,7 @@ function fo(e, t = "") {
|
|
|
6054
6053
|
return new uo(e).parse(t);
|
|
6055
6054
|
}
|
|
6056
6055
|
//#endregion
|
|
6057
|
-
//#region src/
|
|
6056
|
+
//#region src/addons/archives/usd/USDStage.js
|
|
6058
6057
|
var po = {
|
|
6059
6058
|
local: 0,
|
|
6060
6059
|
inherit: 1,
|
|
@@ -8132,7 +8131,7 @@ async function ds(e) {
|
|
|
8132
8131
|
};
|
|
8133
8132
|
}
|
|
8134
8133
|
//#endregion
|
|
8135
|
-
//#region src/
|
|
8134
|
+
//#region src/addons/archives/pbrt/PFM.js
|
|
8136
8135
|
function fs(e) {
|
|
8137
8136
|
let t = 0, n = () => {
|
|
8138
8137
|
for (; t < e.length && e[t] <= 32;) t++;
|
|
@@ -8162,11 +8161,10 @@ function ps(e) {
|
|
|
8162
8161
|
return i.minFilter = fe, i.magFilter = fe, i.needsUpdate = !0, i;
|
|
8163
8162
|
}
|
|
8164
8163
|
//#endregion
|
|
8165
|
-
//#region src/
|
|
8164
|
+
//#region src/addons/archives/ArchiveImporter.js
|
|
8166
8165
|
var ms = /* @__PURE__ */ e({
|
|
8167
8166
|
ARCHIVE_ELEMENT_PROMPT_BYTES: () => Ss,
|
|
8168
|
-
ArchiveImporter: () => ws
|
|
8169
|
-
USD_ELEMENT_PROMPT_BYTES: () => Cs
|
|
8167
|
+
ArchiveImporter: () => ws
|
|
8170
8168
|
}), hs = 3e4, gs = [
|
|
8171
8169
|
"scene.gltf",
|
|
8172
8170
|
"scene.glb",
|
|
@@ -8184,7 +8182,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8184
8182
|
let t = await vs(e);
|
|
8185
8183
|
return t.byteOffset === 0 && t.byteLength === t.buffer.byteLength ? t.buffer : t.slice().buffer;
|
|
8186
8184
|
}, Ss = 4e9, Cs = 1e9, ws = class {
|
|
8187
|
-
static FORMATS =
|
|
8185
|
+
static FORMATS = d;
|
|
8188
8186
|
constructor(e) {
|
|
8189
8187
|
this.loader = e, this._store = null, this.lastPBRTStats = null, this.lastUSDStats = null;
|
|
8190
8188
|
}
|
|
@@ -8195,7 +8193,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8195
8193
|
return e instanceof Uint8Array ? e.subarray(0, t) : typeof e.slice == "function" && typeof e.arrayBuffer == "function" ? new Uint8Array(await e.slice(0, t).arrayBuffer()) : new Uint8Array((await this.loader.readFileAsArrayBuffer(e)).slice(0, t));
|
|
8196
8194
|
}
|
|
8197
8195
|
async inspectArchive(e) {
|
|
8198
|
-
let t = Ue(await this._readHead(e)), n = (e) =>
|
|
8196
|
+
let t = Ue(await this._readHead(e)), n = (e) => b({
|
|
8199
8197
|
isLoading: !0,
|
|
8200
8198
|
status: `Scanning archive… ${(e.bytes / 1e9).toFixed(1)} GB`,
|
|
8201
8199
|
progress: 4
|
|
@@ -8229,7 +8227,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8229
8227
|
filter: ct(r),
|
|
8230
8228
|
part: [...r].sort().join(",")
|
|
8231
8229
|
} : {},
|
|
8232
|
-
onProgress: (e) =>
|
|
8230
|
+
onProgress: (e) => b({
|
|
8233
8231
|
isLoading: !0,
|
|
8234
8232
|
status: `Unpacking archive… ${(e / 1e9).toFixed(1)} GB`,
|
|
8235
8233
|
progress: 4
|
|
@@ -8241,7 +8239,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8241
8239
|
}
|
|
8242
8240
|
async loadArchiveFromFile(e, t, { pbrtEntry: n = null, element: r = null, byteBudget: i, promptBytes: a, ...o } = {}) {
|
|
8243
8241
|
try {
|
|
8244
|
-
let s = Ue(await this._readHead(e)), c = this.loader.storage ?
|
|
8242
|
+
let s = Ue(await this._readHead(e)), c = this.loader.storage ? h(await g(e)) : null, l = {
|
|
8245
8243
|
element: r,
|
|
8246
8244
|
promptBytes: a,
|
|
8247
8245
|
pbrtEntry: n,
|
|
@@ -8275,7 +8273,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8275
8273
|
async loadFolder(e, { pbrtEntry: t = null, element: n = null, promptBytes: r, ...i } = {}) {
|
|
8276
8274
|
let a = (Array.isArray(n) ? n : [n]).filter(Boolean), o = st(e, { filter: a.length ? ct(a) : null }), s = o.listing.reduce((e, t) => e + t.size, 0);
|
|
8277
8275
|
a.length === 0 && this._requireElementChoice(e.name, o.listing, s, r), console.info(`Folder "${e.name}": ${o.listing.length} files, ${(s / 1e9).toFixed(1)} GB` + (a.length ? `, ${a.length} part${a.length > 1 ? "s" : ""} selected.` : "."));
|
|
8278
|
-
let c = this.loader.storage ?
|
|
8276
|
+
let c = this.loader.storage ? h(await v(e)) : null;
|
|
8279
8277
|
return await this._loadSource(o, e.name, {
|
|
8280
8278
|
element: n,
|
|
8281
8279
|
pbrtEntry: t,
|
|
@@ -8314,11 +8312,11 @@ var ms = /* @__PURE__ */ e({
|
|
|
8314
8312
|
return this.loader._sourceKey = this.loader._keyed(s, a), l;
|
|
8315
8313
|
}
|
|
8316
8314
|
async _loadStoredGraph(e, n, { imageFromBytes: r, envFromBytes: i }) {
|
|
8317
|
-
let a = this.loader.storage?.area(
|
|
8315
|
+
let a = this.loader.storage?.area(y.SCENES), o = a ? await a.open(e) : null;
|
|
8318
8316
|
if (!o) return null;
|
|
8319
8317
|
let s = performance.now(), c = null;
|
|
8320
8318
|
try {
|
|
8321
|
-
|
|
8319
|
+
b({
|
|
8322
8320
|
isLoading: !0,
|
|
8323
8321
|
status: "Opening the stored scene...",
|
|
8324
8322
|
progress: 6
|
|
@@ -8344,7 +8342,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8344
8342
|
}
|
|
8345
8343
|
}
|
|
8346
8344
|
_storeGraph(e, t, n) {
|
|
8347
|
-
let r = this.loader.storage?.area(
|
|
8345
|
+
let r = this.loader.storage?.area(y.SCENES);
|
|
8348
8346
|
if (!r) return;
|
|
8349
8347
|
let i;
|
|
8350
8348
|
try {
|
|
@@ -8386,13 +8384,13 @@ var ms = /* @__PURE__ */ e({
|
|
|
8386
8384
|
a(e), e || o.abort();
|
|
8387
8385
|
}
|
|
8388
8386
|
};
|
|
8389
|
-
this._store = s,
|
|
8387
|
+
this._store = s, m(s.parseMs, i.byteLength) && this._writeGraph(r, s);
|
|
8390
8388
|
}
|
|
8391
8389
|
flushPendingGraph(e) {
|
|
8392
8390
|
let t = this._store;
|
|
8393
8391
|
if (!t || t.writing) return;
|
|
8394
|
-
let n = this.loader.storage?.area(
|
|
8395
|
-
n &&
|
|
8392
|
+
let n = this.loader.storage?.area(y.SCENES);
|
|
8393
|
+
n && m(t.parseMs + e, t.encoded.byteLength) ? this._writeGraph(n, t) : this._store = null;
|
|
8396
8394
|
}
|
|
8397
8395
|
commitPendingGraph(e) {
|
|
8398
8396
|
let t = this._store;
|
|
@@ -8426,7 +8424,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8426
8424
|
index: t,
|
|
8427
8425
|
headersOnly: !0,
|
|
8428
8426
|
filter: s,
|
|
8429
|
-
onProgress: (e) =>
|
|
8427
|
+
onProgress: (e) => b({
|
|
8430
8428
|
isLoading: !0,
|
|
8431
8429
|
status: `Indexing archive… ${(e.bytes / 1e9).toFixed(1)} GB`,
|
|
8432
8430
|
progress: 4
|
|
@@ -8451,7 +8449,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8451
8449
|
let s = Array.isArray(a) ? a.filter(Boolean) : a ? [a] : [], { entries: c, listing: l, retainedBytes: u, truncated: d } = await nt(e, {
|
|
8452
8450
|
filter: s.length ? ct(s) : null,
|
|
8453
8451
|
...o === void 0 ? {} : { byteBudget: o },
|
|
8454
|
-
onProgress: (e) =>
|
|
8452
|
+
onProgress: (e) => b({
|
|
8455
8453
|
isLoading: !0,
|
|
8456
8454
|
status: `Reading archive… ${(e.bytes / 1e9).toFixed(1)} GB`,
|
|
8457
8455
|
progress: 4
|
|
@@ -8475,8 +8473,8 @@ var ms = /* @__PURE__ */ e({
|
|
|
8475
8473
|
}
|
|
8476
8474
|
return s.length && console.info(`Archive "${r}": loaded ${s.map((e) => `"${e}"`).join(", ")} — ${Object.keys(c).length} of ${l.length} files, ${(u / 1048576).toFixed(1)} MB.`), c;
|
|
8477
8475
|
}
|
|
8478
|
-
async loadPBRTFromZip(e, r, i = null,
|
|
8479
|
-
if (
|
|
8476
|
+
async loadPBRTFromZip(e, r, i = null, o = {}, s = null) {
|
|
8477
|
+
if (b({
|
|
8480
8478
|
isLoading: !0,
|
|
8481
8479
|
status: "Parsing PBRT scene...",
|
|
8482
8480
|
progress: 5
|
|
@@ -8484,34 +8482,34 @@ var ms = /* @__PURE__ */ e({
|
|
|
8484
8482
|
let { PLYLoader: e } = await import("three/examples/jsm/loaders/PLYLoader.js");
|
|
8485
8483
|
this.loader.loaderCache.ply = new e();
|
|
8486
8484
|
}
|
|
8487
|
-
let
|
|
8488
|
-
animation:
|
|
8489
|
-
maxTriangles:
|
|
8490
|
-
maxPlacements:
|
|
8491
|
-
mergeShapesAbove:
|
|
8492
|
-
curveSteps:
|
|
8493
|
-
curveSides:
|
|
8494
|
-
curveTolerance:
|
|
8495
|
-
instanceIncludes:
|
|
8496
|
-
}, m =
|
|
8497
|
-
imageFromBytes:
|
|
8498
|
-
envFromBytes:
|
|
8485
|
+
let c = (e) => this.loader.loaderCache.ply.parse(e), l = (e, t) => this._archiveImage(e, t), u = (e, t) => this._archiveEnvironment(e, t), d = performance.now(), p = {
|
|
8486
|
+
animation: o.animation,
|
|
8487
|
+
maxTriangles: o.maxTriangles,
|
|
8488
|
+
maxPlacements: o.maxPlacements,
|
|
8489
|
+
mergeShapesAbove: o.mergeShapesAbove,
|
|
8490
|
+
curveSteps: o.curveSteps,
|
|
8491
|
+
curveSides: o.curveSides,
|
|
8492
|
+
curveTolerance: o.curveTolerance,
|
|
8493
|
+
instanceIncludes: o.instanceIncludes
|
|
8494
|
+
}, m = s?.archiveId ? this.loader._keyed(`pbrt:2.14:${f}`, `${s.archiveId}|${i ?? ""}|${[...s.elements ?? []].sort().join(",")}|${JSON.stringify(p)}`) : null, h = m ? await this._loadStoredGraph(m, s, {
|
|
8495
|
+
imageFromBytes: l,
|
|
8496
|
+
envFromBytes: u
|
|
8499
8497
|
}) : null, g = h ?? await va({
|
|
8500
8498
|
vfs: e,
|
|
8501
|
-
source:
|
|
8499
|
+
source: s,
|
|
8502
8500
|
entryPath: i,
|
|
8503
|
-
plyParser:
|
|
8504
|
-
imageFromBytes:
|
|
8505
|
-
envFromBytes:
|
|
8501
|
+
plyParser: c,
|
|
8502
|
+
imageFromBytes: l,
|
|
8503
|
+
envFromBytes: u,
|
|
8506
8504
|
...p,
|
|
8507
|
-
pause: this._buildPause(
|
|
8505
|
+
pause: this._buildPause(a())
|
|
8508
8506
|
});
|
|
8509
8507
|
this.loader._throwDeferred();
|
|
8510
|
-
let { group: _, environment: v, animations:
|
|
8508
|
+
let { group: _, environment: v, animations: y, report: x, warnings: S, meshCount: C, entryPath: w, candidates: T, frames: E, parseMs: D, buildMs: ee, triangleCount: te, placementCount: O, mergedShapes: ne, skippedForBudget: re, droppedNoTemplate: k, parameters: ie } = g;
|
|
8511
8509
|
h && console.info(`PBRT scene "${w}" opened from storage in ${(ee / 1e3).toFixed(1)} s, skipping the parse`), this.lastPBRTStats = {
|
|
8512
8510
|
parseMs: D,
|
|
8513
8511
|
buildMs: ee,
|
|
8514
|
-
loaderMs: performance.now() -
|
|
8512
|
+
loaderMs: performance.now() - d,
|
|
8515
8513
|
triangleCount: te,
|
|
8516
8514
|
placementCount: O,
|
|
8517
8515
|
mergedShapes: ne,
|
|
@@ -8528,13 +8526,13 @@ var ms = /* @__PURE__ */ e({
|
|
|
8528
8526
|
let e = x.length < C ? ` (first ${x.length} of ${C})` : "";
|
|
8529
8527
|
console.groupCollapsed(`PBRT loader: ${C} mesh(es) from "${w}"${e}`), console.table(x), console.groupEnd();
|
|
8530
8528
|
}
|
|
8531
|
-
return S && S.length && (console.warn(`PBRT loader: ${S.length} warning(s) parsing "${w}"`), S.forEach((e) => console.warn(" •", e))), v?.texture && (v.texture.generateMipmaps = !0, this.loader.applyEnvironmentToScene(v.texture)), _.name = w || r, this.loader.releaseTargetModel(), this.loader._sourceKey = m, m && !h && this._storeGraph(m, g, r), this.loader.targetModel = _, this.loader.animations =
|
|
8529
|
+
return S && S.length && (console.warn(`PBRT loader: ${S.length} warning(s) parsing "${w}"`), S.forEach((e) => console.warn(" •", e))), v?.texture && (v.texture.generateMipmaps = !0, this.loader.applyEnvironmentToScene(v.texture)), _.name = w || r, this.loader.releaseTargetModel(), this.loader._sourceKey = m, m && !h && this._storeGraph(m, g, r), this.loader.targetModel = _, this.loader.animations = y ?? [], this.loader.sceneMetadata = {
|
|
8532
8530
|
environment: v?.texture ? {
|
|
8533
8531
|
rotation: 0,
|
|
8534
8532
|
intensity: 1
|
|
8535
8533
|
} : { enabled: !1 },
|
|
8536
8534
|
...g.render ? { render: { ...g.render } } : {}
|
|
8537
|
-
},
|
|
8535
|
+
}, b({
|
|
8538
8536
|
isLoading: !0,
|
|
8539
8537
|
status: "Processing PBRT geometry...",
|
|
8540
8538
|
progress: 10
|
|
@@ -8571,44 +8569,44 @@ var ms = /* @__PURE__ */ e({
|
|
|
8571
8569
|
loader: n === "exr" ? this._exrLoader() : null,
|
|
8572
8570
|
quiet: !0
|
|
8573
8571
|
}) : ps(e);
|
|
8574
|
-
return a.mapping = ae,
|
|
8572
|
+
return a.mapping = ae, c(a, `bytes:${await _(r)}`), a.userData[_t] = t, a.userData[vt] = "environment", a;
|
|
8575
8573
|
} finally {
|
|
8576
8574
|
i && URL.revokeObjectURL(i);
|
|
8577
8575
|
}
|
|
8578
8576
|
}
|
|
8579
8577
|
async loadUSDScene(e, r, i = {}) {
|
|
8580
|
-
|
|
8578
|
+
b({
|
|
8581
8579
|
isLoading: !0,
|
|
8582
8580
|
status: "Reading USD scene...",
|
|
8583
8581
|
progress: 5
|
|
8584
8582
|
});
|
|
8585
|
-
let
|
|
8586
|
-
if (
|
|
8587
|
-
let
|
|
8588
|
-
|
|
8589
|
-
loaded:
|
|
8590
|
-
alternatives:
|
|
8591
|
-
}, n.WARNING)), (Array.isArray(i.element) ? i.element : [i.element]).filter(Boolean).length === 0 && await this._requireUSDPartChoice(r,
|
|
8583
|
+
let o = Object.keys(e), s = new vo(o, async (t) => e[t] ? vs(e[t]) : null, { omitted: (i.listing ?? []).filter((t) => !(t.path in e)).map((e) => e.path) }), c = ls(o);
|
|
8584
|
+
if (c.length === 0) throw Error(`No USD layer found in ${r}`);
|
|
8585
|
+
let l = c[0];
|
|
8586
|
+
c.length > 1 && (console.warn(`${r} holds ${c.length} top-level USD layers; loaded "${l}". Others: ${c.slice(1).join(", ")}`), this.loader._issues?.record(t.ASSET_AMBIGUOUS_ENTRY, `${r} holds ${c.length} top-level USD layers; loaded "${l}"`, {
|
|
8587
|
+
loaded: l,
|
|
8588
|
+
alternatives: c.slice(1)
|
|
8589
|
+
}, n.WARNING)), (Array.isArray(i.element) ? i.element : [i.element]).filter(Boolean).length === 0 && await this._requireUSDPartChoice(r, s, l, i.listing ?? o.map((t) => ({
|
|
8592
8590
|
path: t,
|
|
8593
8591
|
size: e[t]?.size ?? e[t]?.byteLength ?? 0
|
|
8594
8592
|
})), i.promptBytes);
|
|
8595
|
-
let
|
|
8596
|
-
files:
|
|
8597
|
-
entryPath:
|
|
8593
|
+
let u = performance.now(), d = a(), f = await ds({
|
|
8594
|
+
files: s,
|
|
8595
|
+
entryPath: l,
|
|
8598
8596
|
pauseRead: (e, t) => {
|
|
8599
8597
|
let n = d();
|
|
8600
|
-
return n &&
|
|
8598
|
+
return n && b({
|
|
8601
8599
|
status: `${t ? "Counting" : "Reading"} USD scene... ${e.toLocaleString()} prims`,
|
|
8602
8600
|
progress: t ? 5 : 6
|
|
8603
8601
|
}), n;
|
|
8604
8602
|
},
|
|
8605
8603
|
pauseBuild: this._buildPause(d),
|
|
8606
8604
|
resolveImage: async (e) => {
|
|
8607
|
-
let t = await
|
|
8605
|
+
let t = await s.read(e);
|
|
8608
8606
|
return t ? this._archiveImage(t, e) : null;
|
|
8609
8607
|
},
|
|
8610
8608
|
resolveEnvironment: async (e) => {
|
|
8611
|
-
let t = await
|
|
8609
|
+
let t = await s.read(e);
|
|
8612
8610
|
return t ? this._archiveEnvironment(t, e) : null;
|
|
8613
8611
|
},
|
|
8614
8612
|
maxTriangles: i.maxTriangles,
|
|
@@ -8619,37 +8617,37 @@ var ms = /* @__PURE__ */ e({
|
|
|
8619
8617
|
curveTolerance: i.curveTolerance
|
|
8620
8618
|
});
|
|
8621
8619
|
this.loader._throwDeferred();
|
|
8622
|
-
let { group: p, environment: m, warnings: h, triangleCount: g, placementCount: _, skippedForBudget: v, meshCount:
|
|
8620
|
+
let { group: p, environment: m, warnings: h, triangleCount: g, placementCount: _, skippedForBudget: v, meshCount: y, parseMs: x, buildMs: S, fitNote: C } = f;
|
|
8623
8621
|
return this.lastUSDStats = {
|
|
8624
8622
|
parseMs: x,
|
|
8625
8623
|
buildMs: S,
|
|
8626
|
-
loaderMs: performance.now() -
|
|
8624
|
+
loaderMs: performance.now() - u,
|
|
8627
8625
|
triangleCount: g,
|
|
8628
8626
|
placementCount: _,
|
|
8629
8627
|
skippedForBudget: v,
|
|
8630
|
-
meshCount:
|
|
8628
|
+
meshCount: y,
|
|
8631
8629
|
fitNote: C
|
|
8632
8630
|
}, (C || v > 0) && this.loader._issues?.record(t.SCENE_MEMORY_BUDGET, C ?? `${v.toLocaleString()} placements past the scene budgets left out`, {
|
|
8633
8631
|
triangleCount: g,
|
|
8634
8632
|
placementCount: _,
|
|
8635
8633
|
skippedForBudget: v
|
|
8636
|
-
}, n.WARNING), h.length && (console.warn(`USD loader: ${h.length} warning(s) loading "${
|
|
8634
|
+
}, n.WARNING), h.length && (console.warn(`USD loader: ${h.length} warning(s) loading "${l}"`), h.forEach((e) => console.warn(" •", e))), m?.texture && (m.texture.generateMipmaps = !0, this.loader.applyEnvironmentToScene(m.texture)), p.name = l.split("/").pop(), this.loader.releaseTargetModel(), this.loader.targetModel = p, this.loader.animations = [], this.loader.sceneMetadata = m?.texture ? { environment: {
|
|
8637
8635
|
rotation: m.rotation,
|
|
8638
8636
|
intensity: m.intensity
|
|
8639
|
-
} } : null,
|
|
8637
|
+
} } : null, b({
|
|
8640
8638
|
isLoading: !0,
|
|
8641
8639
|
status: "Processing USD geometry...",
|
|
8642
8640
|
progress: 10
|
|
8643
8641
|
}), await this.loader.onModelLoad(p), this.loader.dispatchEvent({
|
|
8644
8642
|
type: "load",
|
|
8645
8643
|
model: p,
|
|
8646
|
-
filename: `${
|
|
8644
|
+
filename: `${l} (from ${r})`
|
|
8647
8645
|
}), p;
|
|
8648
8646
|
}
|
|
8649
8647
|
_buildPause(e) {
|
|
8650
8648
|
return (t, n) => {
|
|
8651
8649
|
let r = e();
|
|
8652
|
-
return r &&
|
|
8650
|
+
return r && b({
|
|
8653
8651
|
status: `Building scene... ${t.toLocaleString()} of ${n.toLocaleString()} shapes`,
|
|
8654
8652
|
progress: 8
|
|
8655
8653
|
}), r;
|
|
@@ -8685,7 +8683,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8685
8683
|
}
|
|
8686
8684
|
r = await this._loadViaObjectURL(this.loader.loaderCache.tga, e), r.colorSpace = P;
|
|
8687
8685
|
} else {
|
|
8688
|
-
if (
|
|
8686
|
+
if (s().decodeImage) r = await l(e, t);
|
|
8689
8687
|
else if (typeof createImageBitmap == "function") r = new je(await createImageBitmap(new Blob([e])));
|
|
8690
8688
|
else throw Error("no image decoder in this runtime: configurePlatform( nodePlatform( { decodeImage } ) ) — see \"Running in Node\"");
|
|
8691
8689
|
r.colorSpace = P;
|
|
@@ -8760,7 +8758,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8760
8758
|
}
|
|
8761
8759
|
async loadModelFromZipEntry(e, t, n, r, i = "ZIP") {
|
|
8762
8760
|
try {
|
|
8763
|
-
|
|
8761
|
+
b({
|
|
8764
8762
|
isLoading: !0,
|
|
8765
8763
|
status: `Processing ${n.toUpperCase()} from ${i}...`,
|
|
8766
8764
|
progress: 5
|
|
@@ -8797,7 +8795,7 @@ var ms = /* @__PURE__ */ e({
|
|
|
8797
8795
|
s.manager = i;
|
|
8798
8796
|
try {
|
|
8799
8797
|
let t = await o(() => new Promise((t, n) => s.parse(e, "", t, n)));
|
|
8800
|
-
return this.loader._throwDeferred(), this.loader.releaseTargetModel(), this.loader.targetModel = t.scene, this.loader.sceneMetadata =
|
|
8798
|
+
return this.loader._throwDeferred(), this.loader.releaseTargetModel(), this.loader.targetModel = t.scene, this.loader.sceneMetadata = u(t), await this.loader.onModelLoad(this.loader.targetModel), t;
|
|
8801
8799
|
} finally {
|
|
8802
8800
|
this.loader._disposeGLTFLoader(s);
|
|
8803
8801
|
}
|