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.
Files changed (176) hide show
  1. package/README.md +8 -1970
  2. package/dist/{SceneMetadata-BUfzHMSj.js → ArchiveFormats-CWi6IbSp.js} +147 -117
  3. package/dist/{ArchiveImporter-DuWqpbXf.js → ArchiveImporter-CEv5EDgg.js} +96 -98
  4. package/dist/BidirectionalIntegrator-KWRQrMXX.js +960 -0
  5. package/dist/CameraRay-CdVb2LnS.js +181 -0
  6. package/dist/{ColorManagement-CKN2pTRS.js → ColorManagement-B6SgefNi.js} +107 -107
  7. package/dist/CompactKernel-C6TCBB6i.js +19759 -0
  8. package/dist/DepthPass-BMnBuepB.js +69 -0
  9. package/dist/{EngineIssues-t5p7TEjb.js → EngineIssues-DHAU18xh.js} +2 -1
  10. package/dist/{identity-x_UfobDa.js → FileIdentity-BXmPNvJP.js} +27 -23
  11. package/dist/{LocalExposure-Cw1g8rdU.js → LocalExposure-CMO6fd8G.js} +77 -77
  12. package/dist/{NeuralRetouch-CLtoW6Vt.js → NeuralRetouch-CYRGwe9E.js} +2 -2
  13. package/dist/{NeuralSuperRes-PlLjWpMF.js → NeuralSuperRes-p0A3_wjO.js} +2 -2
  14. package/dist/{openStorage-CxLMw2_a.js → OpenStorage-CjlOYQyW.js} +106 -108
  15. package/dist/{PackedRayBuffer-DwhV931f.js → PackedRayBuffer-BhqeNEaL.js} +53 -68
  16. package/dist/PhysicalSky-qHATDBbB.js +1220 -0
  17. package/dist/{PictureView-DpHE_jDr.js → PictureView-6y4XsUf0.js} +3 -3
  18. package/dist/{PathTracer-BMtUFjdP.js → RayzeeRenderer-ClGfovbz.js} +7191 -23218
  19. package/dist/{TextureBuckets-D09iX9_y.js → TextureBuckets-CcOI4Bdg.js} +4 -0
  20. package/dist/TextureSampling-CQMmzhCp.js +732 -0
  21. package/dist/{ZipReader-KPFbIuOs.js → ZipReader-D6LbMsfZ.js} +1 -1
  22. package/dist/addons/archives.es.js +2 -2
  23. package/dist/addons/bidirectional.es.js +1 -1
  24. package/dist/addons/color.es.js +1 -1
  25. package/dist/addons/formats.es.js +102 -2
  26. package/dist/addons/physical-sky.es.js +1 -1
  27. package/dist/addons/storage.es.js +3 -3
  28. package/dist/rayzee-core.es.js +10 -12
  29. package/dist/rayzee.es.js +667 -671
  30. package/dist/rayzee.umd.js +114 -153
  31. package/package.json +1 -1
  32. package/src/EngineDefaults.js +6 -0
  33. package/src/EngineIssues.js +1 -0
  34. package/src/RayzeeRenderer.js +40 -4
  35. package/src/RenderSettings.js +31 -3
  36. package/src/{loaders → addons}/archives/ArchiveCache.js +3 -3
  37. package/src/{loaders → addons}/archives/ArchiveImporter.js +12 -13
  38. package/src/addons/{archives.js → archives/index.js} +2 -2
  39. package/src/{loaders → addons/archives}/pbrt/PBRTCurves.js +1 -1
  40. package/src/{loaders → addons/archives}/pbrt/PBRTMaterials.js +1 -1
  41. package/src/{loaders → addons/archives}/pbrt/PBRTParser.js +1 -1
  42. package/src/{loaders → addons/archives}/pbrt/PBRTSceneBuilder.js +3 -3
  43. package/src/{loaders → addons/archives}/pbrt/PBRTTextureBake.js +1 -1
  44. package/src/{loaders → addons/archives}/pbrt/index.js +2 -2
  45. package/src/{loaders → addons/archives}/usd/USDLayer.js +3 -3
  46. package/src/{loaders → addons/archives}/usd/USDStage.js +2 -2
  47. package/src/{shaders → addons/bidirectional}/Bidirectional.js +4 -4
  48. package/src/{pathtracer → addons/bidirectional}/BidirectionalIntegrator.js +25 -44
  49. package/src/{shaders → addons/bidirectional}/BidirectionalLamps.js +6 -6
  50. package/src/{shaders/kernels → addons/bidirectional}/ConnectKernel.js +8 -8
  51. package/src/{shaders/kernels → addons/bidirectional}/LightGenerateKernel.js +12 -12
  52. package/src/{shaders → addons/bidirectional}/LightGuide.js +2 -2
  53. package/src/{shaders/kernels → addons/bidirectional}/LightSplatKernel.js +8 -8
  54. package/src/{shaders/kernels → addons/bidirectional}/MergeKernel.js +7 -7
  55. package/src/addons/{bidirectional.js → bidirectional/index.js} +1 -1
  56. package/src/{color → addons/color}/BakedViews.js +1 -1
  57. package/src/{color → addons/color}/ColorManagement.js +4 -4
  58. package/src/{color → addons/color}/ColorSpaces.js +1 -1
  59. package/src/{color → addons/color}/LutBake.js +1 -1
  60. package/src/{color → addons/color}/OcioRuntime.js +2 -9
  61. package/src/{color → addons/color}/OcioViews.js +2 -2
  62. package/src/addons/{color.js → color/index.js} +6 -6
  63. package/src/addons/formats.js +112 -3
  64. package/src/{shaders → addons/physical-sky}/Atmosphere.js +1 -1
  65. package/src/{environment → addons/physical-sky}/AtmosphereModel.js +1 -1
  66. package/src/{shaders → addons/physical-sky}/EnvironmentCDF.js +1 -1
  67. package/src/{environment → addons/physical-sky}/PhysicalSky.js +5 -5
  68. package/src/addons/{physicalSky.js → physical-sky/index.js} +1 -1
  69. package/src/{storage/openStorage.js → addons/storage/OpenStorage.js} +63 -2
  70. package/src/{storage → addons/storage}/StorageManager.js +58 -6
  71. package/src/addons/{storage.js → storage/index.js} +3 -3
  72. package/src/core.js +4 -4
  73. package/src/index.js +17 -15
  74. package/src/lights/LightManager.js +2 -2
  75. package/src/lights/LightSerializer.js +75 -1
  76. package/src/loaders/AssetLoader.js +6 -6
  77. package/src/loaders/SceneLoading.js +2 -2
  78. package/src/materials/MaterialDataManager.js +2 -2
  79. package/src/materials/TextureCreator.js +377 -1
  80. package/src/node/index.js +1 -1
  81. package/src/output/Pictures.js +1 -1
  82. package/src/output/ToneMapCPU.js +0 -10
  83. package/src/pathtracer/PackedRayBuffer.js +1 -1
  84. package/src/pathtracer/PathTracer.js +90 -272
  85. package/src/pathtracer/PathTracerStage.js +1 -1
  86. package/src/pathtracer/QueueManager.js +3 -3
  87. package/src/pathtracer/UniformManager.js +7 -0
  88. package/src/pipeline/BindingAudit.js +0 -6
  89. package/src/scene/GeometryExtractor.js +1 -1
  90. package/src/scene/InstanceTable.js +2 -2
  91. package/src/scene/SceneProcessor.js +307 -900
  92. package/src/scene/SceneRefit.js +171 -0
  93. package/src/shaders/CameraRay.js +2 -2
  94. package/src/shaders/Clearcoat.js +1 -5
  95. package/src/shaders/Common.js +2 -54
  96. package/src/shaders/DFGTable.js +22 -0
  97. package/src/shaders/Displacement.js +1 -1
  98. package/src/shaders/EmissiveSampling.js +3 -4
  99. package/src/shaders/Environment.js +2 -2
  100. package/src/shaders/Fog.js +395 -0
  101. package/src/shaders/LightBVHSampling.js +1 -1
  102. package/src/shaders/LightsCore.js +1 -1
  103. package/src/shaders/LightsDirect.js +6 -2
  104. package/src/shaders/LightsSampling.js +1 -1
  105. package/src/shaders/MaterialProperties.js +7 -27
  106. package/src/shaders/MaterialTransmission.js +5 -26
  107. package/src/shaders/Random.js +17 -8
  108. package/src/shaders/SceneResources.js +2 -0
  109. package/src/shaders/Struct.js +81 -12
  110. package/src/shaders/Subsurface.js +1 -1
  111. package/src/shaders/TextureSampling.js +5 -22
  112. package/src/shaders/{patches.js → ThreePatches.js} +3 -158
  113. package/src/shaders/kernels/CompactKernel.js +141 -3
  114. package/src/shaders/kernels/DepthPass.js +1 -1
  115. package/src/shaders/kernels/FinalWriteKernel.js +158 -6
  116. package/src/shaders/kernels/ShadeKernel.js +98 -0
  117. package/src/shaders/kernels/SortGlobalKernels.js +1 -1
  118. package/src/storage/BLASCache.js +146 -7
  119. package/src/storage/CDFCache.js +1 -2
  120. package/src/storage/DownloadCache.js +2 -3
  121. package/src/storage/{identity.js → FileIdentity.js} +1 -1
  122. package/src/storage/SpillStore.js +2 -2
  123. package/src/storage/StorageAreas.js +27 -0
  124. package/src/viewer/PathTracerApp.js +9 -18
  125. package/src/viewer/SceneState.js +2 -2
  126. package/src/viewer/camera/CameraManager.js +1 -1
  127. package/src/viewer/denoise/NRD.js +1 -1
  128. package/src/viewer/denoise/OIDNTemporalHistory.js +1 -1
  129. package/src/viewer/overlays/OverlayManager.js +1 -2
  130. package/src/viewer/overlays/ViewOverlayRenderer.js +54 -1
  131. package/src/viewer/picture/AIUpscalerWorker.js +1 -1
  132. package/src/viewer/picture/AutoExposure.js +1 -1
  133. package/src/viewer/picture/LocalExposure.js +1 -1
  134. package/src/viewer/picture/PictureView.js +1 -1
  135. package/dist/BidirectionalIntegrator-BEXXxmZH.js +0 -956
  136. package/dist/DepthPass-u5g7hr7J.js +0 -68
  137. package/dist/FileFormats-C91JE5DM.js +0 -102
  138. package/dist/PhysicalSky-DqanSS2m.js +0 -1220
  139. package/dist/RayzeeRenderer-C9zGAMJo.js +0 -3281
  140. package/dist/TextureSampling-CvMi8LNc.js +0 -904
  141. package/dist/archiveFormats-j39rQeKs.js +0 -37
  142. package/src/lights/blackbody.js +0 -74
  143. package/src/loaders/FileFormats.js +0 -116
  144. package/src/storage/areas.js +0 -4
  145. package/src/storage/events.js +0 -29
  146. package/src/storage/index.js +0 -9
  147. package/src/storage/inlineTransport.js +0 -24
  148. package/src/storage/sceneCachePolicy.js +0 -12
  149. package/src/storage/shared.js +0 -9
  150. package/src/storage/transport.js +0 -62
  151. package/src/viewer/overlays/overlaySurface.js +0 -53
  152. /package/dist/{Logger-CH-TZ1co.js → Logger-D7hic8LA.js} +0 -0
  153. /package/dist/{SolarLimb-BiVdxxmL.js → SolarLimb-IayvafJP.js} +0 -0
  154. /package/src/{portable.js → Portable.js} +0 -0
  155. /package/src/{version.js → Version.js} +0 -0
  156. /package/src/{loaders → addons}/archives/ArchiveReader.js +0 -0
  157. /package/src/{storage → addons/archives}/SceneGraphCodec.js +0 -0
  158. /package/src/{loaders → addons}/archives/ZipReader.js +0 -0
  159. /package/src/{loaders/pbrt/buffers.js → addons/archives/pbrt/ArrayMemory.js} +0 -0
  160. /package/src/{loaders → addons/archives}/pbrt/EqualAreaOctahedral.js +0 -0
  161. /package/src/{loaders → addons/archives}/pbrt/LoopSubdivision.js +0 -0
  162. /package/src/{loaders → addons/archives}/pbrt/PBRTAnimation.js +0 -0
  163. /package/src/{loaders → addons/archives}/pbrt/PBRTMath.js +0 -0
  164. /package/src/{loaders → addons/archives}/pbrt/PBRTScattering.js +0 -0
  165. /package/src/{loaders → addons/archives}/pbrt/PBRTTokenizer.js +0 -0
  166. /package/src/{loaders → addons/archives}/pbrt/PFM.js +0 -0
  167. /package/src/{loaders → addons/archives}/usd/USDScene.js +0 -0
  168. /package/src/{loaders → addons/archives}/usd/USDText.js +0 -0
  169. /package/src/{loaders → addons/archives}/usd/index.js +0 -0
  170. /package/src/{color → addons/color}/Displays.js +0 -0
  171. /package/src/{color → addons/color}/InputColorSpaces.js +0 -0
  172. /package/src/{storage/locks.js → addons/storage/Locks.js} +0 -0
  173. /package/src/{storage → addons/storage}/StorageOps.js +0 -0
  174. /package/src/{storage → addons/storage}/StorageWorker.js +0 -0
  175. /package/src/loaders/{archives/archiveFormats.js → ArchiveFormats.js} +0 -0
  176. /package/src/node/{nodePlatform.js → NodePlatform.js} +0 -0
@@ -1,15 +1,14 @@
1
- import { n as e } from "./BidirectionalIntegrator-BEXXxmZH.js";
2
- import { n as t, r as n, t as r } from "./EngineIssues-t5p7TEjb.js";
3
- import { D as i, F as a, M as o, R as s, a as c, c as l, j as u, l as d, t as f, w as p } from "./SceneMetadata-BUfzHMSj.js";
4
- import { i as m, l as h, n as g, o as _, r as v } from "./identity-x_UfobDa.js";
5
- import { a as y } from "./EngineEvents-oQGofgRf.js";
6
- import { t as b } from "./archiveFormats-j39rQeKs.js";
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/loaders/archives/ArchiveReader.js
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/loaders/archives/ArchiveCache.js
333
+ //#region src/addons/archives/ArchiveCache.js
335
334
  var ut = 1, dt = 3;
336
335
  async function ft(e, t) {
337
- return `${e}:${m(await g(t))}`;
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(h.ARCHIVES), c = await ft("gunzip", e), l = c, u = await s.open(c);
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: h.ARCHIVES }), null;
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(h.ARCHIVES).open(await ft("tarindex", e));
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(h.ARCHIVES).create(await ft("tarindex", e), { label: `${e.name} (index)` });
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/loaders/pbrt/buffers.js
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/loaders/pbrt/PBRTTokenizer.js
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/loaders/pbrt/PBRTMath.js
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/loaders/pbrt/PBRTParser.js
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/loaders/pbrt/PBRTMaterials.js
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/loaders/pbrt/PBRTTextureBake.js
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/loaders/pbrt/LoopSubdivision.js
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/loaders/pbrt/EqualAreaOctahedral.js
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/loaders/pbrt/PBRTCurves.js
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/loaders/pbrt/PBRTSceneBuilder.js
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), i = new M(), o = /* @__PURE__ */ new Map(), s = (e, s, c, l, u, d, f) => {
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, i.fromArray(this.convertHandedness ? V(Gr, r) : r));
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
- a(v), t.add(v), this.reportedMeshes += _, this.report.length < Xr && this.report.push({
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(), s(o, "normal"), o;
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(), s(n, "normal"), n;
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/loaders/pbrt/index.js
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/loaders/usd/USDLayer.js
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/loaders/usd/USDText.js
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/loaders/usd/USDStage.js
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/loaders/pbrt/PFM.js
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/loaders/archives/ArchiveImporter.js
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 = b;
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) => y({
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) => y({
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 ? m(await g(e)) : null, l = {
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 ? m(await v(e)) : null;
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(h.SCENES), o = a ? await a.open(e) : null;
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
- y({
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(h.SCENES);
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, l(s.parseMs, i.byteLength) && this._writeGraph(r, 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(h.SCENES);
8395
- n && l(t.parseMs + e, t.encoded.byteLength) ? this._writeGraph(n, t) : this._store = null;
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) => y({
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) => y({
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, a = {}, o = null) {
8479
- if (y({
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 s = (e) => this.loader.loaderCache.ply.parse(e), c = (e, t) => this._archiveImage(e, t), l = (e, t) => this._archiveEnvironment(e, t), f = performance.now(), p = {
8488
- animation: a.animation,
8489
- maxTriangles: a.maxTriangles,
8490
- maxPlacements: a.maxPlacements,
8491
- mergeShapesAbove: a.mergeShapesAbove,
8492
- curveSteps: a.curveSteps,
8493
- curveSides: a.curveSides,
8494
- curveTolerance: a.curveTolerance,
8495
- instanceIncludes: a.instanceIncludes
8496
- }, m = o?.archiveId ? this.loader._keyed(`pbrt:2.14:${d}`, `${o.archiveId}|${i ?? ""}|${[...o.elements ?? []].sort().join(",")}|${JSON.stringify(p)}`) : null, h = m ? await this._loadStoredGraph(m, o, {
8497
- imageFromBytes: c,
8498
- envFromBytes: l
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: o,
8499
+ source: s,
8502
8500
  entryPath: i,
8503
- plyParser: s,
8504
- imageFromBytes: c,
8505
- envFromBytes: l,
8501
+ plyParser: c,
8502
+ imageFromBytes: l,
8503
+ envFromBytes: u,
8506
8504
  ...p,
8507
- pause: this._buildPause(u())
8505
+ pause: this._buildPause(a())
8508
8506
  });
8509
8507
  this.loader._throwDeferred();
8510
- let { group: _, environment: v, animations: b, 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;
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() - f,
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 = b ?? [], this.loader.sceneMetadata = {
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
- }, y({
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, p(a, `bytes:${await _(r)}`), a.userData[_t] = t, a.userData[vt] = "environment", a;
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
- y({
8578
+ b({
8581
8579
  isLoading: !0,
8582
8580
  status: "Reading USD scene...",
8583
8581
  progress: 5
8584
8582
  });
8585
- let a = Object.keys(e), o = new vo(a, async (t) => e[t] ? vs(e[t]) : null, { omitted: (i.listing ?? []).filter((t) => !(t.path in e)).map((e) => e.path) }), s = ls(a);
8586
- if (s.length === 0) throw Error(`No USD layer found in ${r}`);
8587
- let c = s[0];
8588
- s.length > 1 && (console.warn(`${r} holds ${s.length} top-level USD layers; loaded "${c}". Others: ${s.slice(1).join(", ")}`), this.loader._issues?.record(t.ASSET_AMBIGUOUS_ENTRY, `${r} holds ${s.length} top-level USD layers; loaded "${c}"`, {
8589
- loaded: c,
8590
- alternatives: s.slice(1)
8591
- }, n.WARNING)), (Array.isArray(i.element) ? i.element : [i.element]).filter(Boolean).length === 0 && await this._requireUSDPartChoice(r, o, c, i.listing ?? a.map((t) => ({
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 l = performance.now(), d = u(), f = await ds({
8596
- files: o,
8597
- entryPath: c,
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 && y({
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 o.read(e);
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 o.read(e);
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: b, parseMs: x, buildMs: S, fitNote: C } = f;
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() - l,
8624
+ loaderMs: performance.now() - u,
8627
8625
  triangleCount: g,
8628
8626
  placementCount: _,
8629
8627
  skippedForBudget: v,
8630
- meshCount: b,
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 "${c}"`), h.forEach((e) => console.warn(" •", e))), m?.texture && (m.texture.generateMipmaps = !0, this.loader.applyEnvironmentToScene(m.texture)), p.name = c.split("/").pop(), this.loader.releaseTargetModel(), this.loader.targetModel = p, this.loader.animations = [], this.loader.sceneMetadata = m?.texture ? { environment: {
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, y({
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: `${c} (from ${r})`
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 && y({
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 (i().decodeImage) r = await c(e, t);
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
- y({
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 = f(t), await this.loader.onModelLoad(this.loader.targetModel), t;
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
  }