@roomle/web-sdk 4.2.0 → 4.3.0-alpha.2

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 (92) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/{GaussianBlurNode-DEczNsyD.mjs → GaussianBlurNode-Bjszve7N.mjs} +15 -15
  3. package/lib/{GaussianBlurNode-DEczNsyD.mjs.map → GaussianBlurNode-Bjszve7N.mjs.map} +1 -1
  4. package/lib/RoomleCore.js +3 -3
  5. package/lib/RoomleCore.wasm +0 -0
  6. package/lib/RoomleToolsCore.wasm +0 -0
  7. package/lib/{api-B6sLiuiL.mjs → api-C430uhWG.mjs} +2 -2
  8. package/lib/{api-B6sLiuiL.mjs.map → api-C430uhWG.mjs.map} +1 -1
  9. package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -1
  10. package/lib/{banana-for-scale-C-grIlTK.mjs → banana-for-scale-DGYmxeBG.mjs} +3 -3
  11. package/lib/{banana-for-scale-C-grIlTK.mjs.map → banana-for-scale-DGYmxeBG.mjs.map} +1 -1
  12. package/lib/budgeteer.sw-BUMElkO1.mjs.map +1 -1
  13. package/lib/{common-utils-6T8eGlhX.mjs → common-utils-CyQUubmw.mjs} +29 -15
  14. package/lib/{common-utils-6T8eGlhX.mjs.map → common-utils-CyQUubmw.mjs.map} +1 -1
  15. package/lib/{component-dimensioning-DJuokZnv.mjs → component-dimensioning-BXN285kw.mjs} +4 -4
  16. package/lib/{component-dimensioning-DJuokZnv.mjs.map → component-dimensioning-BXN285kw.mjs.map} +1 -1
  17. package/lib/{component-raycast-helper-SZg14d7A.mjs → component-raycast-helper-CADFRMLS.mjs} +3 -3
  18. package/lib/{component-raycast-helper-SZg14d7A.mjs.map → component-raycast-helper-CADFRMLS.mjs.map} +1 -1
  19. package/lib/configurator-9ICb3RBz.mjs +2 -0
  20. package/lib/{configurator-Cbof6AET.mjs → configurator-CUiTTJmW.mjs} +4 -4
  21. package/lib/{configurator-Cbof6AET.mjs.map → configurator-CUiTTJmW.mjs.map} +1 -1
  22. package/lib/{decorate-CX1ZGuFY.mjs → decorate-CjaqqbUP.mjs} +12 -9
  23. package/lib/decorate-CjaqqbUP.mjs.map +1 -0
  24. package/lib/dimensioning-helper-0s61LK9R.mjs +2 -0
  25. package/lib/{dimensioning-helper-BwvR76_I.mjs → dimensioning-helper-Cgao7A18.mjs} +2 -2
  26. package/lib/{dimensioning-helper-BwvR76_I.mjs.map → dimensioning-helper-Cgao7A18.mjs.map} +1 -1
  27. package/lib/{glb-viewer-DmVh1uJg.mjs → glb-viewer-DB5c3Qk5.mjs} +6 -6
  28. package/lib/{glb-viewer-DmVh1uJg.mjs.map → glb-viewer-DB5c3Qk5.mjs.map} +1 -1
  29. package/lib/glb-viewer-_gIYHXT9.mjs +2 -0
  30. package/lib/{highlight-coordinator-Qonmfsu1.mjs → highlight-coordinator-RCfVwPHC.mjs} +2 -2
  31. package/lib/{highlight-coordinator-Qonmfsu1.mjs.map → highlight-coordinator-RCfVwPHC.mjs.map} +1 -1
  32. package/lib/{homag-intelligence-CzD_RMQo.mjs → homag-intelligence-8eBT714O.mjs} +8 -5
  33. package/lib/{homag-intelligence-CzD_RMQo.mjs.map → homag-intelligence-8eBT714O.mjs.map} +1 -1
  34. package/lib/{imos-ix-poc-export-helper-Q6-OXziY.mjs → imos-ix-poc-export-helper-DRQK_p2h.mjs} +2 -2
  35. package/lib/{imos-ix-poc-export-helper-Q6-OXziY.mjs.map → imos-ix-poc-export-helper-DRQK_p2h.mjs.map} +1 -1
  36. package/lib/{material-viewer-BkSh-aG7.mjs → material-viewer-CfZwcbei.mjs} +6 -6
  37. package/lib/{material-viewer-BkSh-aG7.mjs.map → material-viewer-CfZwcbei.mjs.map} +1 -1
  38. package/lib/{packages-BGVMQMZK.mjs → packages-0GadOkxt.mjs} +5 -5
  39. package/lib/{packages-BGVMQMZK.mjs.map → packages-0GadOkxt.mjs.map} +1 -1
  40. package/lib/{planner-DFa8uJOF.mjs → planner-CyQKj8Ok.mjs} +3 -3
  41. package/lib/{planner-DFa8uJOF.mjs.map → planner-CyQKj8Ok.mjs.map} +1 -1
  42. package/lib/planner-D63FNjtX.mjs +2 -0
  43. package/lib/{plugin-system-CqXT37-v.mjs → plugin-system-vlnG8j2T.mjs} +3 -3
  44. package/lib/{plugin-system-CqXT37-v.mjs.map → plugin-system-vlnG8j2T.mjs.map} +1 -1
  45. package/lib/{roomle-headless-setup-7xnQlZl3.mjs → roomle-headless-setup-DbO_rLjK.mjs} +54 -40
  46. package/lib/roomle-headless-setup-DbO_rLjK.mjs.map +1 -0
  47. package/lib/roomle-headless.d.ts +167 -126
  48. package/lib/roomle-headless.js +289 -358
  49. package/lib/roomle-headless.js.map +1 -1
  50. package/lib/roomle-renderer-FUqNfNIf.mjs.map +1 -1
  51. package/lib/{roomle-sdk-B73VmWod.mjs → roomle-sdk-CpgzRTKP.mjs} +2855 -2713
  52. package/lib/roomle-sdk-CpgzRTKP.mjs.map +1 -0
  53. package/lib/roomle-sdk.d.ts +121 -15
  54. package/lib/roomle-sdk.js +7 -7
  55. package/lib/{roomle-webgpu-renderer-Dzuy_Y39.mjs → roomle-webgpu-renderer-Lt55gNj5.mjs} +370 -303
  56. package/lib/roomle-webgpu-renderer-Lt55gNj5.mjs.map +1 -0
  57. package/lib/{scene-renderer-DR7EFd-8.mjs → scene-renderer-CSBoi_8w.mjs} +5 -5
  58. package/lib/{scene-renderer-DR7EFd-8.mjs.map → scene-renderer-CSBoi_8w.mjs.map} +1 -1
  59. package/lib/{script-loader-BlsGBrYo.mjs → script-loader-BmScoq7Y.mjs} +3 -3
  60. package/lib/{script-loader-BlsGBrYo.mjs.map → script-loader-BmScoq7Y.mjs.map} +1 -1
  61. package/lib/{shading-settings-Bnt9v9xJ.mjs → shading-settings-CRNmMpcn.mjs} +2 -2
  62. package/lib/{shading-settings-Bnt9v9xJ.mjs.map → shading-settings-CRNmMpcn.mjs.map} +1 -1
  63. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  64. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +34 -8
  65. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +5 -1
  66. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  67. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  68. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +3 -3
  69. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  70. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  71. package/lib/{stats-helper-vEwFkDIt.mjs → stats-helper-P4jYV8as.mjs} +3 -3
  72. package/lib/{stats-helper-vEwFkDIt.mjs.map → stats-helper-P4jYV8as.mjs.map} +1 -1
  73. package/lib/three.tsl-BnL9nfJa.mjs +2 -0
  74. package/lib/{three.tsl-BElp7_oF.mjs → three.tsl-Dew9p5yF.mjs} +46 -48
  75. package/lib/{three.tsl-BElp7_oF.mjs.map → three.tsl-Dew9p5yF.mjs.map} +1 -1
  76. package/lib/{threejs-utils-C9zED_Tu.mjs → threejs-utils-DKJ0uer7.mjs} +92 -88
  77. package/lib/threejs-utils-DKJ0uer7.mjs.map +1 -0
  78. package/lib/{tools-core-DKYMilYC.mjs → tools-core-CAEfSB8I.mjs} +3 -3
  79. package/lib/{tools-core-DKYMilYC.mjs.map → tools-core-CAEfSB8I.mjs.map} +1 -1
  80. package/lib/{webgpu-BMwlJflc.mjs → webgpu-B0rxiqW-.mjs} +313 -313
  81. package/lib/{webgpu-BMwlJflc.mjs.map → webgpu-B0rxiqW-.mjs.map} +1 -1
  82. package/package.json +2 -2
  83. package/lib/configurator-BFd5022u.mjs +0 -2
  84. package/lib/decorate-CX1ZGuFY.mjs.map +0 -1
  85. package/lib/dimensioning-helper-yMfkA1IY.mjs +0 -2
  86. package/lib/glb-viewer-DlH5_aTU.mjs +0 -2
  87. package/lib/planner-CSKuhBke.mjs +0 -2
  88. package/lib/roomle-headless-setup-7xnQlZl3.mjs.map +0 -1
  89. package/lib/roomle-sdk-B73VmWod.mjs.map +0 -1
  90. package/lib/roomle-webgpu-renderer-Dzuy_Y39.mjs.map +0 -1
  91. package/lib/three.tsl-BtDRDR0q.mjs +0 -2
  92. package/lib/threejs-utils-C9zED_Tu.mjs.map +0 -1
@@ -175,6 +175,13 @@ export declare const CORE_PLAN_ROOM_GEOMETRY_MODE: {
175
175
  export interface PlanRoomGeometryMode {
176
176
  value: Enumify<typeof CORE_PLAN_ROOM_GEOMETRY_MODE>;
177
177
  }
178
+ export declare const CORE_PLAN_VIEW_TYPE: {
179
+ readonly FLOOR: 0;
180
+ readonly ELEVATION: 1;
181
+ };
182
+ export interface PlanViewType {
183
+ value: Enumify<typeof CORE_PLAN_VIEW_TYPE>;
184
+ }
178
185
  export declare const CORE_RESIZING_ANCHOR: {
179
186
  readonly CENTER: 0;
180
187
  readonly BACKLEFT: 1;
@@ -258,7 +265,8 @@ export type GeometryHelpLineArray = EmscriptenArray<GeometryHelpLine>;
258
265
  export type GroundContourArray = EmscriptenArray<GroundContour>;
259
266
  export type Obstacle2dArray = EmscriptenArray<Obstacle2d>;
260
267
  export type ElevationProfilePointArray = EmscriptenArray<ElevationProfilePoint>;
261
- export type ElevationViewArray = EmscriptenArray<ElevationView>;
268
+ export type FloorPlanEdgeArray = EmscriptenArray<FloorPlanEdge>;
269
+ export type PlanViewArray = EmscriptenArray<PlanView>;
262
270
  export type FloorClusterArray = EmscriptenArray<FloorCluster>;
263
271
  export type ExternalValidContainerModuleArray = EmscriptenArray<ExternalValidContainerModule>;
264
272
  export type ConstructionObjectSet = EmscriptenSet<ConstructionObject>;
@@ -271,6 +279,10 @@ export interface ConstructionDTO {
271
279
  objects: ObjectArray;
272
280
  parts: PartList;
273
281
  }
282
+ export interface EdgeDeflection {
283
+ connectionPosition: Vector3;
284
+ deflectionAngleInRadians: number;
285
+ }
274
286
  export interface ElevationProfile {
275
287
  profileContour: ElevationProfilePointArray;
276
288
  }
@@ -280,11 +292,6 @@ export interface ElevationProfilePoint {
280
292
  position: Vector3;
281
293
  slopeAngleInRadians: number;
282
294
  }
283
- export interface ElevationView {
284
- lineOfSight: Vector3;
285
- objects: PlanObjectPtrVector;
286
- profile: ElevationProfile;
287
- }
288
295
  export interface ExternalObjectLoadConfiguration {
289
296
  applyGlobalChildMode: boolean;
290
297
  applyGroupPosition: boolean;
@@ -315,6 +322,16 @@ export interface FloorMaterialDTO {
315
322
  scaleY: number;
316
323
  type: number;
317
324
  }
325
+ export interface FloorPlanEdge {
326
+ end: Vector3;
327
+ endDeflection?: EdgeDeflection;
328
+ id: number;
329
+ start: Vector3;
330
+ startDeflection?: EdgeDeflection;
331
+ }
332
+ export interface FloorPlanEdges {
333
+ edges: FloorPlanEdgeArray;
334
+ }
318
335
  export interface GeometryHelpLine {
319
336
  end: Vector3;
320
337
  start: Vector3;
@@ -432,6 +449,14 @@ export interface PlanDTO {
432
449
  outsideWalls: WallAreaArray;
433
450
  rooms: RoomArray;
434
451
  }
452
+ export interface PlanView {
453
+ floorPlanEdges: FloorPlanEdges;
454
+ id: number;
455
+ lineOfSight: Vector3;
456
+ objects: PlanObjectPtrVector;
457
+ profile: ElevationProfile;
458
+ viewType: PlanViewType;
459
+ }
435
460
  export interface PosContour {
436
461
  level: number;
437
462
  segments: PosContourSegmentArray;
@@ -745,7 +770,7 @@ export interface PlanModelViewHelper {
745
770
  getObjectSnapInformation(anObject: PlanObject, debugHelpLines: boolean): ObjectSnapInformation;
746
771
  getGroundContoursOfObjects(plan: Plan): GroundContourArray;
747
772
  getObstacleMap(plan: Plan): ObstacleMap2d;
748
- getElevationViews(plan: Plan): ElevationViewArray;
773
+ getPlanViews(plan: Plan): PlanViewArray;
749
774
  getFloorClusters(plan: Plan): FloorClusterArray;
750
775
  }
751
776
  export interface PlanInteractionHandler {
@@ -915,7 +940,8 @@ export interface PlannerContainer extends ConfiguratorContainer {
915
940
  GroundContourArray: GroundContourArray;
916
941
  Obstacle2dArray: Obstacle2dArray;
917
942
  ElevationProfilePointArray: ElevationProfilePointArray;
918
- ElevationViewArray: ElevationViewArray;
943
+ FloorPlanEdgeArray: FloorPlanEdgeArray;
944
+ PlanViewArray: PlanViewArray;
919
945
  FloorClusterArray: FloorClusterArray;
920
946
  ExternalValidContainerModuleArray: ExternalValidContainerModuleArray;
921
947
  ConstructionObjectSet: ConstructionObjectSet;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CORE_WALL_TYPE = exports.CORE_WALL_SIDE = exports.CORE_WALL_EXTENSION_TYPE = exports.CORE_TYPE_OF_CORE_ID = exports.CORE_SNAP_STATE = exports.CORE_SNAP_MODE = exports.CORE_RESIZING_ANCHOR = exports.CORE_PLAN_ROOM_GEOMETRY_MODE = exports.CORE_PLAN_OBJECT_SIDE = exports.CORE_PLAN_ELEMENT_TYPE = exports.CORE_OPENING_DIRECTION = exports.CORE_OBSTACLE_TYPE = exports.CORE_OBJECT_TYPE_CATEGORY = exports.CORE_OBJECT_CONFIGURATION_TYPE = exports.CORE_NODE_TYPE = exports.CORE_MATERIAL_SOURCE_TYPE = exports.CORE_HELP_LINE_TYPE = exports.CORE_FLOOR_TYPE = exports.CORE_EDGE_TYPE = exports.CORE_DRAWING_TYPE = exports.CORE_DRAWING_MODE = void 0;
3
+ exports.CORE_WALL_TYPE = exports.CORE_WALL_SIDE = exports.CORE_WALL_EXTENSION_TYPE = exports.CORE_TYPE_OF_CORE_ID = exports.CORE_SNAP_STATE = exports.CORE_SNAP_MODE = exports.CORE_RESIZING_ANCHOR = exports.CORE_PLAN_VIEW_TYPE = exports.CORE_PLAN_ROOM_GEOMETRY_MODE = exports.CORE_PLAN_OBJECT_SIDE = exports.CORE_PLAN_ELEMENT_TYPE = exports.CORE_OPENING_DIRECTION = exports.CORE_OBSTACLE_TYPE = exports.CORE_OBJECT_TYPE_CATEGORY = exports.CORE_OBJECT_CONFIGURATION_TYPE = exports.CORE_NODE_TYPE = exports.CORE_MATERIAL_SOURCE_TYPE = exports.CORE_HELP_LINE_TYPE = exports.CORE_FLOOR_TYPE = exports.CORE_EDGE_TYPE = exports.CORE_DRAWING_TYPE = exports.CORE_DRAWING_MODE = void 0;
4
4
  exports.CORE_DRAWING_MODE = {
5
5
  WALL: 0,
6
6
  ROOM_CONTOUR: 1,
@@ -86,6 +86,10 @@ exports.CORE_PLAN_ROOM_GEOMETRY_MODE = {
86
86
  ROOM: 1,
87
87
  PLAN: 2,
88
88
  };
89
+ exports.CORE_PLAN_VIEW_TYPE = {
90
+ FLOOR: 0,
91
+ ELEVATION: 1,
92
+ };
89
93
  exports.CORE_RESIZING_ANCHOR = {
90
94
  CENTER: 0,
91
95
  BACKLEFT: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"plannerCoreInterface.js","sourceRoot":"","sources":["../../../src/embind/plannerCoreInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plannerCoreInterface.js","sourceRoot":"","sources":["../../../src/embind/plannerCoreInterface.ts"],"names":[],"mappings":";;;AAwFa,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,CAAC;IACP,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,CAAC;IACV,oBAAoB,EAAE,CAAC;CACf,CAAC;AAME,QAAA,iBAAiB,GAAG;IAC/B,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,CAAC;CACV,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,YAAY,EAAE,CAAC;CACP,CAAC;AAME,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;CACF,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,CAAC;IACP,eAAe,EAAE,CAAC;IAClB,uBAAuB,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC;IACjB,sBAAsB,EAAE,CAAC;CACjB,CAAC;AAME,QAAA,yBAAyB,GAAG;IACvC,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;CACH,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;CACP,CAAC;AAME,QAAA,8BAA8B,GAAG;IAC5C,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;CACH,CAAC;AAME,QAAA,yBAAyB,GAAG;IACvC,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,CAAC;CACF,CAAC;AAME,QAAA,kBAAkB,GAAG;IAChC,MAAM,EAAE,CAAC;IACT,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;CACf,CAAC;AAME,QAAA,sBAAsB,GAAG;IACpC,cAAc,EAAE,CAAC;IACjB,qBAAqB,EAAE,CAAC;IACxB,eAAe,EAAE,CAAC;IAClB,sBAAsB,EAAE,CAAC;CACjB,CAAC;AAME,QAAA,sBAAsB,GAAG;IACpC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,4BAA4B,GAAG;IAC1C,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;CACJ,CAAC;AAME,QAAA,oBAAoB,GAAG;IAClC,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,GAAG,EAAE,CAAC;IACN,YAAY,EAAE,CAAC;IACf,mCAAmC,EAAE,CAAC;IACtC,oBAAoB,EAAE,CAAC;CACf,CAAC;AAME,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;CACJ,CAAC;AAME,QAAA,oBAAoB,GAAG;IAClC,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,CAAC;CACF,CAAC;AAME,QAAA,wBAAwB,GAAG;IACtC,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;CACL,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;CACD,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;CACJ,CAAC"}
@@ -41,13 +41,13 @@ return vb.apply(this,Ma)});var I=Object.create(E,{constructor:{value:v}});v.prot
41
41
  var q=m.ha.constructor;void 0===q[a]?(l.ta=c-1,q[a]=l):(Wa(q,a,p),q[a].ma[c-1]=l);M([],k,t=>{t=[t[0],null].concat(t.slice(1));t=nb(p,t,null,g,f,h);void 0===q[a].ma?(t.ta=c-1,q[a]=t):q[a].ma[c-1]=t;if(m.ha.za)for(const v of m.ha.za)v.constructor.hasOwnProperty(a)||(v.constructor[a]=t);return[]});return[]})},Q:(b,a,c,d,e,g,f,h)=>{a=N(a);g=T(e,g);M([],[b],k=>{k=k[0];var m=`${k.name}.${a}`,l={get(){V(`Cannot access ${m} due to unbound types`,[c])},enumerable:!0,configurable:!0};l.set=h?()=>{V(`Cannot access ${m} due to unbound types`,
42
42
  [c])}:()=>{throw new O(`${m} is a read-only property`);};Object.defineProperty(k.ha.constructor,a,l);M([],[c],p=>{p=p[0];var q={get(){return p.ia(g(d))},enumerable:!0};h&&(h=T(f,h),q.set=t=>{var v=[];h(d,p.la(v,t));F(v)});Object.defineProperty(k.ha.constructor,a,q);return[]});return[]})},g:(b,a,c,d,e,g)=>{var f=ob(a,c);e=T(d,e);M([],[b],h=>{h=h[0];var k=`constructor ${h.name}`;void 0===h.ha.va&&(h.ha.va=[]);if(void 0!==h.ha.va[a-1])throw new O(`Cannot register multiple constructors with identical number of parameters (${a-
43
43
  1}) for class '${h.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);h.ha.va[a-1]=()=>{V(`Cannot construct ${h.name} due to unbound types`,f)};M([],f,m=>{m.splice(1,0,null);h.ha.va[a-1]=nb(k,m,null,e,g);return[]});return[]})},a:(b,a,c,d,e,g,f,h,k)=>{var m=ob(c,d);a=N(a);a=pb(a);g=T(e,g);M([],[b],l=>{function p(){V(`Cannot call ${q} due to unbound types`,m)}l=l[0];var q=`${l.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);h&&l.ha.Va.push(a);
44
- var t=l.ha.ua,v=t[a];void 0===v||void 0===v.ma&&v.className!==l.name&&v.ta===c-2?(p.ta=c-2,p.className=l.name,t[a]=p):(Wa(t,a,q),t[a].ma[c-2]=p);M([],m,z=>{z=nb(q,z,l,g,f,k);void 0===t[a].ma?(z.ta=c-2,t[a]=z):t[a].ma[c-2]=z;return[]});return[]})},h:(b,a,c,d,e,g,f,h,k,m)=>{a=N(a);e=T(d,e);M([],[b],l=>{l=l[0];var p=`${l.name}.${a}`,q={get(){V(`Cannot access ${p} due to unbound types`,[c,f])},enumerable:!0,configurable:!0};q.set=k?()=>V(`Cannot access ${p} due to unbound types`,[c,f]):()=>{throw new O(p+
44
+ var t=l.ha.ua,v=t[a];void 0===v||void 0===v.ma&&v.className!==l.name&&v.ta===c-2?(p.ta=c-2,p.className=l.name,t[a]=p):(Wa(t,a,q),t[a].ma[c-2]=p);M([],m,z=>{z=nb(q,z,l,g,f,k);void 0===t[a].ma?(z.ta=c-2,t[a]=z):t[a].ma[c-2]=z;return[]});return[]})},i:(b,a,c,d,e,g,f,h,k,m)=>{a=N(a);e=T(d,e);M([],[b],l=>{l=l[0];var p=`${l.name}.${a}`,q={get(){V(`Cannot access ${p} due to unbound types`,[c,f])},enumerable:!0,configurable:!0};q.set=k?()=>V(`Cannot access ${p} due to unbound types`,[c,f]):()=>{throw new O(p+
45
45
  " is a read-only property");};Object.defineProperty(l.ha.ua,a,q);M([],k?[c,f]:[c],t=>{var v=t[0],z={get(){var I=qb(this,l,p+" getter");return v.ia(e(g,I))},enumerable:!0};if(k){k=T(h,k);var E=t[1];z.set=function(I){var A=qb(this,l,p+" setter"),K=[];k(m,A,E.la(K,I));F(K)}}Object.defineProperty(l.ha.ua,a,z);return[]});return[]})},R:b=>L(b,ub),m:(b,a,c,d,e)=>{a=N(a);e=0===e?"object":1===e?"number":"string";switch(e){case "object":function f(){}f.values={};L(b,{name:a,constructor:f,valueType:e,ia:function(h){return this.constructor.values[h]},
46
46
  la:(h,k)=>k.value,qa:wb(a,c,d),na:null});Q(a,f);break;case "number":var g={};L(b,{name:a,Da:g,valueType:e,ia:h=>h,la:(h,k)=>k,qa:wb(a,c,d),na:null});Q(a,g);delete n[a].ta;break;case "string":g={},L(b,{name:a,Ka:{},Ja:{},Da:g,valueType:e,ia:function(h){return this.Ja[h]},la:function(h,k){return this.Ka[k]},qa:wb(a,c,d),na:null}),Q(a,g),delete n[a].ta}},c:(b,a,c)=>{var d=xb(b,"enum");a=N(a);switch(d.valueType){case "object":b=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Ua(`${d.name}_${a}`,
47
47
  function(){})}});b.values[c]=d;b[a]=d;break;case "number":d.Da[a]=c;break;case "string":d.Ka[a]=c,d.Ja[c]=a,d.Da[a]=a}},A:(b,a,c)=>{a=N(a);L(b,{name:a,ia:d=>d,la:(d,e)=>e,qa:yb(a,c),na:null})},s:(b,a,c,d,e,g,f)=>{var h=ob(a,c);b=N(b);b=pb(b);e=T(d,e);Q(b,function(){V(`Cannot call ${b} due to unbound types`,h)},a-1);M([],h,k=>{k=[k[0],null].concat(k.slice(1));hb(b,nb(b,k,null,e,g,f),a-1);return[]})},u:(b,a,c,d,e)=>{a=N(a);let g=h=>h;if(0===d){var f=32-8*c;g=h=>h<<f>>>f;e=g(e)}L(b,{name:a,ia:g,la:(h,
48
- k)=>k,qa:Oa(a,c,0!==d),na:null})},j:(b,a,c,d)=>{c=N(c);d=N(d);M([],[b,a],e=>{zb(e[0].ha.ua,c,d);return[]})},r:(b,a,c)=>{function d(g){return new e(ra.buffer,D[g+4>>2],D[g>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=N(c);L(b,{name:c,ia:d,qa:d},{Ta:!0})},k:b=>{L(b,Ab)},p:(b,a,c,d,e,g,f,h,k,m,l,p)=>{c=N(c);g=T(e,g);h=T(f,h);m=T(k,m);p=T(l,p);M([b],[a],q=>{q=q[0];return[new S(c,q.ha,!1,!1,!0,q,d,g,h,m,p)]})},
48
+ k)=>k,qa:Oa(a,c,0!==d),na:null})},k:(b,a,c,d)=>{c=N(c);d=N(d);M([],[b,a],e=>{zb(e[0].ha.ua,c,d);return[]})},r:(b,a,c)=>{function d(g){return new e(ra.buffer,D[g+4>>2],D[g>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=N(c);L(b,{name:c,ia:d,qa:d},{Ta:!0})},j:b=>{L(b,Ab)},p:(b,a,c,d,e,g,f,h,k,m,l,p)=>{c=N(c);g=T(e,g);h=T(f,h);m=T(k,m);p=T(l,p);M([b],[a],q=>{q=q[0];return[new S(c,q.ha,!1,!1,!0,q,d,g,h,m,p)]})},
49
49
  S:(b,a)=>{a=N(a);L(b,{name:a,ia(c){var d=(d=c+4)?Cb.decode(y.subarray(d,Db(y,d,D[c>>2],!0))):"";U(c);return d},la(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new O("Cannot pass non-string to std::string");var g=e?Bb(d):d.length;var f=Zb(4+g+1),h=f+4;D[f>>2]=g;e?Y(d,h,g+1):y.set(d,h);null!==c&&c.push(U,f);return f},qa:G,na(c){U(c)}})},y:(b,a,c)=>{c=N(c);if(2===a){var d=Fb;var e=Gb;var g=Hb}else d=Ib,e=Jb,
50
- g=Kb;L(b,{name:c,ia:f=>{var h=d(f+4,D[f>>2]*a,!0);U(f);return h},la:(f,h)=>{if("string"!=typeof h)throw new O(`Cannot pass non-string to C++ string type ${c}`);var k=g(h),m=Zb(4+k+a);D[m>>2]=k/a;e(h,m+4,k+a);null!==f&&f.push(U,m);return m},qa:G,na(f){U(f)}})},i:(b,a,c,d,e,g)=>{Ia[b]={name:N(a),Ea:T(c,d),sa:T(e,g),Ga:[]}},b:(b,a,c,d,e,g,f,h,k,m)=>{Ia[b].Ga.push({Na:N(a),Sa:c,Qa:T(d,e),Ra:g,Ya:f,Xa:T(h,k),Za:m})},U:(b,a)=>{a=N(a);L(b,{Ha:!0,name:a,ia:()=>{},la:()=>{}})},F:()=>{Ha=!1;Lb=0},e:(b,a,c)=>
50
+ g=Kb;L(b,{name:c,ia:f=>{var h=d(f+4,D[f>>2]*a,!0);U(f);return h},la:(f,h)=>{if("string"!=typeof h)throw new O(`Cannot pass non-string to C++ string type ${c}`);var k=g(h),m=Zb(4+k+a);D[m>>2]=k/a;e(h,m+4,k+a);null!==f&&f.push(U,m);return m},qa:G,na(f){U(f)}})},h:(b,a,c,d,e,g)=>{Ia[b]={name:N(a),Ea:T(c,d),sa:T(e,g),Ga:[]}},b:(b,a,c,d,e,g,f,h,k,m)=>{Ia[b].Ga.push({Na:N(a),Sa:c,Qa:T(d,e),Ra:g,Ya:f,Xa:T(h,k),Za:m})},U:(b,a)=>{a=N(a);L(b,{Ha:!0,name:a,ia:()=>{},la:()=>{}})},F:()=>{Ha=!1;Lb=0},e:(b,a,c)=>
51
51
  {var [d,...e]=Ob(b,a);a=d.la.bind(d);var g=e.map(k=>k.qa.bind(k));b--;var f={toValue:X};b=g.map((k,m)=>{var l=`argFromPtr${m}`;f[l]=k;return`${l}(args${m?"+"+8*m:""})`});switch(c){case 0:var h="toValue(handle)";break;case 2:h="new (toValue(handle))";break;case 3:h="";break;case 1:f.getStringOrSymbol=Rb,h="toValue(handle)[getStringOrSymbol(methodName)]"}h+=`(${b})`;d.Ha||(f.toReturnWire=a,f.emval_returnValue=Pb,h=`return emval_returnValue(toReturnWire, destructorsRef, ${h})`);h=`return function (handle, methodName, destructorsRef, args) {\n${h}\n}`;
52
52
  c=(new Function(Object.keys(f),h))(...Object.values(f));h=`methodCaller<(${e.map(k=>k.name)}) => ${d.name}>`;return Nb(Ua(h,c))},W:tb,w:b=>{if(!b)return R(globalThis);b=Rb(b);return R(globalThis[b])},C:b=>{b=Rb(b);return R(n[b])},t:(b,a)=>{b=X(b);a=X(a);return R(b[a])},z:b=>{9<b&&(W[b+1]+=1)},V:(b,a)=>{b=X(b);a=X(a);return b instanceof a},d:(b,a,c,d,e)=>Mb[b](a,c,d,e),x:b=>{b=X(b);return"string"==typeof b},v:()=>R([]),l:b=>R(Rb(b)),q:()=>R({}),E:b=>{var a=X(b);F(a);tb(b)},n:(b,a,c)=>{b=X(b);a=X(a);
53
53
  c=X(c);b[a]=c},Y:(b,a)=>{b=X(b);a=X(a);return b===a},G:(b,a)=>{Z[b]&&(clearTimeout(Z[b].id),delete Z[b]);if(!a)return 0;var c=setTimeout(()=>{delete Z[b];Ub(()=>ac(b,performance.now()))},a);Z[b]={id:c,ab:a};return 0},I:(b,a,c,d)=>{var e=(new Date).getFullYear(),g=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();D[b>>2]=60*Math.max(g,e);C[a>>2]=Number(g!=e);a=f=>{var h=Math.abs(f);return`UTC${0<=f?"-":"+"}${String(Math.floor(h/60)).padStart(2,"0")}${String(h%60).padStart(2,
@@ -1,6 +1,6 @@
1
1
  import { n as e, t } from "./rolldown-runtime-DgwB9i60.mjs";
2
- import { t as n } from "./scene-renderer-DR7EFd-8.mjs";
3
- import { n as r, r as i, t as a } from "./decorate-CX1ZGuFY.mjs";
2
+ import { t as n } from "./scene-renderer-CSBoi_8w.mjs";
3
+ import { n as r, r as i, t as a } from "./decorate-CjaqqbUP.mjs";
4
4
  //#endregion
5
5
  //#region packages/common-core/src/utils/stats-helper.ts
6
6
  var o = /* @__PURE__ */ e((/* @__PURE__ */ t(((e, t) => {
@@ -93,4 +93,4 @@ a([i, r("design:type", Object)], s.prototype, "_cacheHolder", void 0);
93
93
  //#endregion
94
94
  export { s as default };
95
95
 
96
- //# sourceMappingURL=stats-helper-vEwFkDIt.mjs.map
96
+ //# sourceMappingURL=stats-helper-P4jYV8as.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats-helper-vEwFkDIt.mjs","names":[],"sources":["../../../../node_modules/stats.js/build/stats.min.js","../../packages/common-core/src/utils/stats-helper.ts"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?\"block\":\"none\";l=a}var l=0,c=document.createElement(\"div\");c.style.cssText=\"position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000\";c.addEventListener(\"click\",function(a){a.preventDefault();\nu(++l%c.children.length)},!1);var k=(performance||Date).now(),g=k,a=0,r=e(new f.Panel(\"FPS\",\"#0ff\",\"#002\")),h=e(new f.Panel(\"MS\",\"#0f0\",\"#020\"));if(self.performance&&self.performance.memory)var t=e(new f.Panel(\"MB\",\"#f08\",\"#201\"));u(0);return{REVISION:16,dom:c,addPanel:e,showPanel:u,begin:function(){k=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();h.update(c-k,200);if(c>g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import inject from '../di/inject';\nimport type { Panel } from '../../../typings/stats';\nimport type CacheHolder from '../services/cache-holder';\nimport type { WebGLInfo } from 'three';\nimport Stats from 'stats.js';\nimport {\n QUALITY_LEVELS,\n type QualityLevel,\n} from '../webgl/renderer/scene-renderer';\n\nexport default class StatsHelper {\n @inject\n protected _cacheHolder: CacheHolder;\n\n private _statPanels: Stats[] = [];\n private _drawPanel: Panel; // eslint-disable-line\n private _trianglesPanel: Panel; // eslint-disable-line\n private _geometryPanel: Panel; // eslint-disable-line\n private _texturePanel: Panel; // eslint-disable-line\n private _materialPanel: Panel; // eslint-disable-line\n private _qualityPanel: Panel; // eslint-disable-line\n\n constructor() {\n this._init();\n }\n\n private _init() {\n let fpsPanel = new Stats();\n fpsPanel.showPanel(0);\n fpsPanel.dom.style.cssText =\n 'position:absolute;top:0px;left:0px;z-index:110;';\n document.body.appendChild(fpsPanel.dom);\n this._statPanels.push(fpsPanel);\n\n let memoryPanel = new Stats();\n memoryPanel.showPanel(2);\n memoryPanel.dom.style.cssText =\n 'position:absolute;top:50px;left:0px;z-index:110;';\n document.body.appendChild(memoryPanel.dom);\n this._statPanels.push(memoryPanel);\n\n let drawPanel = new Stats();\n this._drawPanel = drawPanel.addPanel(\n new Stats.Panel('draw', '#0f0', '#000'),\n );\n drawPanel.showPanel(3);\n drawPanel.dom.style.cssText =\n 'position:absolute;top:100px;left:0px;z-index:110;';\n document.body.appendChild(drawPanel.dom);\n this._statPanels.push(drawPanel);\n\n let trianglesPanel = new Stats();\n this._trianglesPanel = trianglesPanel.addPanel(\n new Stats.Panel('poly', '#0f0', '#000'),\n );\n trianglesPanel.showPanel(3);\n trianglesPanel.dom.style.cssText =\n 'position:absolute;top:150px;left:0px;z-index:110;';\n document.body.appendChild(trianglesPanel.dom);\n this._statPanels.push(trianglesPanel);\n\n let geometryPanel = new Stats();\n this._geometryPanel = geometryPanel.addPanel(\n new Stats.Panel('geo', '#f00', '#000'),\n );\n geometryPanel.showPanel(3);\n geometryPanel.dom.style.cssText =\n 'position:absolute;top:200px;left:0px;z-index:110;';\n document.body.appendChild(geometryPanel.dom);\n this._statPanels.push(geometryPanel);\n\n let texturePanel = new Stats();\n this._texturePanel = texturePanel.addPanel(\n new Stats.Panel('tex', '#f00', '#000'),\n );\n texturePanel.showPanel(3);\n texturePanel.dom.style.cssText =\n 'position:absolute;top:250px;left:0px;z-index:110;';\n document.body.appendChild(texturePanel.dom);\n this._statPanels.push(texturePanel);\n\n let materialPanel = new Stats();\n this._materialPanel = materialPanel.addPanel(\n new Stats.Panel('mat', '#f00', '#000'),\n );\n materialPanel.showPanel(3);\n materialPanel.dom.style.cssText =\n 'position:absolute;top:300px;left:0px;z-index:110;';\n document.body.appendChild(materialPanel.dom);\n this._statPanels.push(materialPanel);\n\n let qualityPanel = new Stats();\n this._qualityPanel = qualityPanel.addPanel(\n new Stats.Panel('quality', '#fff', '#000'),\n );\n qualityPanel.showPanel(3);\n qualityPanel.dom.style.cssText =\n 'position:absolute;top:350px;left:0px;z-index:110;';\n document.body.appendChild(qualityPanel.dom);\n this._statPanels.push(qualityPanel);\n }\n\n public updateRenderInfo(info: WebGLInfo) {\n if (this._drawPanel && info.render.calls > 0) {\n this._drawPanel.update(info.render.calls, 500);\n }\n if (this._trianglesPanel && info.render.triangles > 0) {\n this._trianglesPanel.update(info.render.triangles, 10000);\n }\n if (this._geometryPanel && info.memory.geometries > 0) {\n this._geometryPanel.update(info.memory.geometries, 10000);\n }\n if (this._texturePanel && info.memory.textures > 0) {\n this._texturePanel.update(info.memory.textures, 10000);\n }\n if (this._materialPanel && this._cacheHolder.materialCache.size > 0) {\n this._materialPanel.update(this._cacheHolder.materialCache.size, 1000);\n }\n\n if (this._statPanels.length > 0) {\n this._statPanels.forEach((panel) => panel.update());\n }\n }\n\n public updateQualityInfo(qualityLevel: QualityLevel) {\n if (this._qualityPanel && qualityLevel) {\n const qualityValue = Object.values(QUALITY_LEVELS).indexOf(qualityLevel);\n this._qualityPanel.update(qualityValue, 5);\n }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"stats-helper-P4jYV8as.mjs","names":[],"sources":["../../../../node_modules/stats.js/build/stats.min.js","../../packages/common-core/src/utils/stats-helper.ts"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?\"block\":\"none\";l=a}var l=0,c=document.createElement(\"div\");c.style.cssText=\"position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000\";c.addEventListener(\"click\",function(a){a.preventDefault();\nu(++l%c.children.length)},!1);var k=(performance||Date).now(),g=k,a=0,r=e(new f.Panel(\"FPS\",\"#0ff\",\"#002\")),h=e(new f.Panel(\"MS\",\"#0f0\",\"#020\"));if(self.performance&&self.performance.memory)var t=e(new f.Panel(\"MB\",\"#f08\",\"#201\"));u(0);return{REVISION:16,dom:c,addPanel:e,showPanel:u,begin:function(){k=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();h.update(c-k,200);if(c>g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import inject from '../di/inject';\nimport type { Panel } from '../../../typings/stats';\nimport type CacheHolder from '../services/cache-holder';\nimport type { WebGLInfo } from 'three';\nimport Stats from 'stats.js';\nimport {\n QUALITY_LEVELS,\n type QualityLevel,\n} from '../webgl/renderer/scene-renderer';\n\nexport default class StatsHelper {\n @inject\n protected _cacheHolder: CacheHolder;\n\n private _statPanels: Stats[] = [];\n private _drawPanel: Panel; // eslint-disable-line\n private _trianglesPanel: Panel; // eslint-disable-line\n private _geometryPanel: Panel; // eslint-disable-line\n private _texturePanel: Panel; // eslint-disable-line\n private _materialPanel: Panel; // eslint-disable-line\n private _qualityPanel: Panel; // eslint-disable-line\n\n constructor() {\n this._init();\n }\n\n private _init() {\n let fpsPanel = new Stats();\n fpsPanel.showPanel(0);\n fpsPanel.dom.style.cssText =\n 'position:absolute;top:0px;left:0px;z-index:110;';\n document.body.appendChild(fpsPanel.dom);\n this._statPanels.push(fpsPanel);\n\n let memoryPanel = new Stats();\n memoryPanel.showPanel(2);\n memoryPanel.dom.style.cssText =\n 'position:absolute;top:50px;left:0px;z-index:110;';\n document.body.appendChild(memoryPanel.dom);\n this._statPanels.push(memoryPanel);\n\n let drawPanel = new Stats();\n this._drawPanel = drawPanel.addPanel(\n new Stats.Panel('draw', '#0f0', '#000'),\n );\n drawPanel.showPanel(3);\n drawPanel.dom.style.cssText =\n 'position:absolute;top:100px;left:0px;z-index:110;';\n document.body.appendChild(drawPanel.dom);\n this._statPanels.push(drawPanel);\n\n let trianglesPanel = new Stats();\n this._trianglesPanel = trianglesPanel.addPanel(\n new Stats.Panel('poly', '#0f0', '#000'),\n );\n trianglesPanel.showPanel(3);\n trianglesPanel.dom.style.cssText =\n 'position:absolute;top:150px;left:0px;z-index:110;';\n document.body.appendChild(trianglesPanel.dom);\n this._statPanels.push(trianglesPanel);\n\n let geometryPanel = new Stats();\n this._geometryPanel = geometryPanel.addPanel(\n new Stats.Panel('geo', '#f00', '#000'),\n );\n geometryPanel.showPanel(3);\n geometryPanel.dom.style.cssText =\n 'position:absolute;top:200px;left:0px;z-index:110;';\n document.body.appendChild(geometryPanel.dom);\n this._statPanels.push(geometryPanel);\n\n let texturePanel = new Stats();\n this._texturePanel = texturePanel.addPanel(\n new Stats.Panel('tex', '#f00', '#000'),\n );\n texturePanel.showPanel(3);\n texturePanel.dom.style.cssText =\n 'position:absolute;top:250px;left:0px;z-index:110;';\n document.body.appendChild(texturePanel.dom);\n this._statPanels.push(texturePanel);\n\n let materialPanel = new Stats();\n this._materialPanel = materialPanel.addPanel(\n new Stats.Panel('mat', '#f00', '#000'),\n );\n materialPanel.showPanel(3);\n materialPanel.dom.style.cssText =\n 'position:absolute;top:300px;left:0px;z-index:110;';\n document.body.appendChild(materialPanel.dom);\n this._statPanels.push(materialPanel);\n\n let qualityPanel = new Stats();\n this._qualityPanel = qualityPanel.addPanel(\n new Stats.Panel('quality', '#fff', '#000'),\n );\n qualityPanel.showPanel(3);\n qualityPanel.dom.style.cssText =\n 'position:absolute;top:350px;left:0px;z-index:110;';\n document.body.appendChild(qualityPanel.dom);\n this._statPanels.push(qualityPanel);\n }\n\n public updateRenderInfo(info: WebGLInfo) {\n if (this._drawPanel && info.render.calls > 0) {\n this._drawPanel.update(info.render.calls, 500);\n }\n if (this._trianglesPanel && info.render.triangles > 0) {\n this._trianglesPanel.update(info.render.triangles, 10000);\n }\n if (this._geometryPanel && info.memory.geometries > 0) {\n this._geometryPanel.update(info.memory.geometries, 10000);\n }\n if (this._texturePanel && info.memory.textures > 0) {\n this._texturePanel.update(info.memory.textures, 10000);\n }\n if (this._materialPanel && this._cacheHolder.materialCache.size > 0) {\n this._materialPanel.update(this._cacheHolder.materialCache.size, 1000);\n }\n\n if (this._statPanels.length > 0) {\n this._statPanels.forEach((panel) => panel.update());\n }\n }\n\n public updateQualityInfo(qualityLevel: QualityLevel) {\n if (this._qualityPanel && qualityLevel) {\n const qualityValue = Object.values(QUALITY_LEVELS).indexOf(qualityLevel);\n this._qualityPanel.update(qualityValue, 5);\n }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { B as e, Et as t, Pt as n, ht as r, n as i, ot as a, w as o } from "./three.tsl-Dew9p5yF.mjs";
2
+ export { i as Fn, o as float, e as mix, a as reflector, r as smoothstep, t as uniform, n as vec4 };
@@ -52,97 +52,95 @@ var A = e.int;
52
52
  e.intBitsToFloat, e.inverse, e.inverseSqrt, e.inversesqrt, e.invocationLocalIndex, e.invocationSubgroupIndex, e.ior, e.iridescence, e.iridescenceIOR, e.iridescenceThickness;
53
53
  var j = e.ivec2;
54
54
  e.ivec3, e.ivec4, e.js, e.label, e.length, e.lengthSq, e.lessThan, e.lessThanEqual, e.lightPosition, e.lightProjectionUV, e.lightShadowMatrix, e.lightTargetDirection, e.lightTargetPosition, e.lightViewPosition, e.lightingContext, e.lights, e.linearDepth, e.linearToneMapping, e.localId, e.log, e.log2;
55
- var M = e.logarithmicDepthToViewZ, N = e.luminance;
56
- e.mat2;
57
- var P = e.mat3, F = e.mat4;
55
+ var M = e.logarithmicDepthToViewZ, N = e.luminance, P = e.mat2, F = e.mat3, I = e.mat4;
58
56
  e.matcapUV, e.materialAO, e.materialAlphaTest, e.materialAnisotropy, e.materialAnisotropyVector, e.materialAttenuationColor, e.materialAttenuationDistance, e.materialClearcoat, e.materialClearcoatNormal, e.materialClearcoatRoughness, e.materialColor, e.materialDispersion, e.materialEmissive, e.materialEnvIntensity, e.materialEnvRotation, e.materialIOR, e.materialIridescence, e.materialIridescenceIOR, e.materialIridescenceThickness, e.materialLightMap, e.materialLineDashOffset, e.materialLineDashSize, e.materialLineGapSize, e.materialLineScale, e.materialLineWidth, e.materialMetalness, e.materialNormal, e.materialOpacity, e.materialPointSize, e.materialReference, e.materialReflectivity, e.materialRefractionRatio, e.materialRotation, e.materialRoughness, e.materialSheen, e.materialSheenRoughness, e.materialShininess, e.materialSpecular, e.materialSpecularColor, e.materialSpecularIntensity, e.materialSpecularStrength, e.materialThickness, e.materialTransmission;
59
- var I = e.max;
57
+ var L = e.max;
60
58
  e.maxMipLevel, e.mediumpModelViewMatrix, e.metalness;
61
- var L = e.min, R = e.mix;
59
+ var R = e.min, z = e.mix;
62
60
  e.mixElement, e.mod, e.modelDirection, e.modelNormalMatrix, e.modelPosition, e.modelRadius, e.modelScale, e.modelViewMatrix, e.modelViewPosition, e.modelViewProjection, e.modelWorldMatrix, e.modelWorldMatrixInverse, e.morphReference;
63
- var z = e.mrt, B = e.mul;
61
+ var B = e.mrt, V = e.mul;
64
62
  e.mx_aastep, e.mx_add, e.mx_atan2, e.mx_cell_noise_float, e.mx_contrast, e.mx_divide, e.mx_fractal_noise_float, e.mx_fractal_noise_vec2, e.mx_fractal_noise_vec3, e.mx_fractal_noise_vec4, e.mx_frame, e.mx_heighttonormal, e.mx_hsvtorgb, e.mx_ifequal, e.mx_ifgreater, e.mx_ifgreatereq, e.mx_invert, e.mx_modulo, e.mx_multiply, e.mx_noise_float, e.mx_noise_vec3, e.mx_noise_vec4, e.mx_place2d, e.mx_power, e.mx_ramp4, e.mx_ramplr, e.mx_ramptb, e.mx_rgbtohsv, e.mx_rotate2d, e.mx_rotate3d, e.mx_safepower, e.mx_separate, e.mx_splitlr, e.mx_splittb, e.mx_srgb_texture_to_lin_rec709, e.mx_subtract, e.mx_timer, e.mx_transform_uv, e.mx_unifiednoise2d, e.mx_unifiednoise3d, e.mx_worley_noise_float, e.mx_worley_noise_vec2, e.mx_worley_noise_vec3, e.negate, e.negateOnBackSide, e.neutralToneMapping, e.nodeArray, e.nodeImmutable;
65
- var V = e.nodeObject;
63
+ var H = e.nodeObject;
66
64
  e.nodeObjectIntent, e.nodeObjects, e.nodeProxy, e.nodeProxyIntent, e.normalFlat, e.normalGeometry, e.normalLocal, e.normalMap;
67
- var H = e.normalView;
65
+ var U = e.normalView;
68
66
  e.normalViewGeometry, e.normalWorld, e.normalWorldGeometry;
69
- var U = e.normalize;
67
+ var W = e.normalize;
70
68
  e.not, e.notEqual, e.numWorkgroups, e.objectDirection, e.objectGroup, e.objectPosition, e.objectRadius, e.objectScale, e.objectViewPosition, e.objectWorldMatrix, e.OnBeforeObjectUpdate, e.OnBeforeMaterialUpdate, e.OnObjectUpdate;
71
- var W = e.OnMaterialUpdate;
69
+ var G = e.OnMaterialUpdate;
72
70
  e.oneMinus, e.or;
73
- var G = e.orthographicDepthToViewZ;
71
+ var K = e.orthographicDepthToViewZ;
74
72
  e.oscSawtooth, e.oscSine, e.oscSquare, e.oscTriangle;
75
- var K = e.output, q = e.outputStruct;
73
+ var q = e.output, J = e.outputStruct;
76
74
  e.overloadingFn, e.overrideNode, e.overrideNodes, e.packHalf2x16, e.packSnorm2x16, e.packUnorm2x16;
77
- var J = e.packNormalToRGB;
75
+ var Y = e.packNormalToRGB;
78
76
  e.parabola, e.parallaxDirection, e.parallaxUV, e.parameter;
79
- var Y = e.pass, X = e.passTexture;
77
+ var X = e.pass, Z = e.passTexture;
80
78
  e.pcurve;
81
- var Z = e.perspectiveDepthToViewZ;
79
+ var Q = e.perspectiveDepthToViewZ;
82
80
  e.pmremTexture, e.pointShadow, e.pointUV, e.pointWidth, e.positionGeometry, e.positionLocal, e.positionPrevious;
83
- var Q = e.positionView;
81
+ var $ = e.positionView;
84
82
  e.positionViewDirection;
85
- var $ = e.positionWorld;
83
+ var ee = e.positionWorld;
86
84
  e.positionWorldDirection, e.posterize;
87
- var ee = e.pow;
85
+ var te = e.pow;
88
86
  e.pow2, e.pow3, e.pow4;
89
- var te = e.premultiplyAlpha, ne = e.property;
87
+ var ne = e.premultiplyAlpha, re = e.property;
90
88
  e.radians;
91
- var re = e.rand;
89
+ var ie = e.rand;
92
90
  e.range, e.rangeFog, e.rangeFogFactor, e.reciprocal;
93
- var ie = e.reference;
91
+ var ae = e.reference;
94
92
  e.referenceBuffer, e.reflect, e.reflectVector, e.reflectView;
95
- var ae = e.reflector;
93
+ var oe = e.reflector;
96
94
  e.refract, e.refractVector, e.refractView, e.reinhardToneMapping, e.remap, e.remapClamp, e.renderGroup;
97
- var oe = e.renderOutput;
95
+ var se = e.renderOutput;
98
96
  e.rendererReference, e.replaceDefaultUV, e.rotate, e.rotateUV, e.roughness, e.round, e.rtt, e.sRGBTransferEOTF, e.sRGBTransferOETF;
99
- var se = e.sample, ce = e.sampler;
97
+ var ce = e.sample, le = e.sampler;
100
98
  e.samplerComparison, e.saturate, e.saturation, e.screen;
101
- var le = e.screenCoordinate;
99
+ var ue = e.screenCoordinate;
102
100
  e.screenDPR, e.screenSize;
103
- var ue = e.screenUV;
101
+ var de = e.screenUV;
104
102
  e.select, e.setCurrentStack, e.setName, e.shaderStages, e.shadow, e.shadowPositionWorld, e.shapeCircle, e.sharedUniformGroup, e.sheen, e.sheenRoughness, e.shiftLeft;
105
- var de = e.shiftRight;
103
+ var fe = e.shiftRight;
106
104
  e.shininess;
107
- var fe = e.sign, pe = e.sin;
105
+ var pe = e.sign, me = e.sin;
108
106
  e.sinh, e.sinc, e.skinning;
109
- var me = e.smoothstep;
107
+ var he = e.smoothstep;
110
108
  e.smoothstepElement, e.specularColor, e.specularF90, e.spherizeUV, e.split, e.spritesheetUV;
111
- var he = e.sqrt;
109
+ var ge = e.sqrt;
112
110
  e.stack;
113
- var ge = e.step;
111
+ var _e = e.step;
114
112
  e.stepElement;
115
- var _e = e.storage;
113
+ var ve = e.storage;
116
114
  e.storageBarrier, e.storageTexture, e.storageTexture3D;
117
- var ve = e.struct, ye = e.sub;
115
+ var ye = e.struct, be = e.sub;
118
116
  e.subgroupAdd, e.subgroupAll, e.subgroupAnd, e.subgroupAny, e.subgroupBallot, e.subgroupBroadcast, e.subgroupBroadcastFirst, e.subBuild, e.subgroupElect, e.subgroupExclusiveAdd, e.subgroupExclusiveMul, e.subgroupInclusiveAdd, e.subgroupInclusiveMul, e.subgroupIndex, e.subgroupMax, e.subgroupMin, e.subgroupMul, e.subgroupOr, e.subgroupShuffle, e.subgroupShuffleDown, e.subgroupShuffleUp, e.subgroupShuffleXor, e.subgroupSize, e.subgroupXor, e.tan, e.tanh, e.tangentGeometry, e.tangentLocal, e.tangentView, e.tangentWorld;
119
- var be = e.texture;
117
+ var xe = e.texture;
120
118
  e.texture3D, e.textureBarrier, e.textureBicubic, e.textureBicubicLevel, e.textureCubeUV, e.textureLoad;
121
- var xe = e.textureSize;
119
+ var Se = e.textureSize;
122
120
  e.textureLevel;
123
- var Se = e.textureStore;
121
+ var Ce = e.textureStore;
124
122
  e.thickness, e.time;
125
- var Ce = e.toneMapping;
123
+ var we = e.toneMapping;
126
124
  e.toneMappingExposure, e.toonOutlinePass, e.transformDirection, e.transformNormal, e.transformNormalByInverseViewMatrix, e.transformNormalByViewMatrix, e.transformNormalToView, e.transformedClearcoatNormalView, e.transformedNormalView, e.transformedNormalWorld, e.transmission, e.transpose, e.triNoise3D, e.triplanarTexture, e.triplanarTextures, e.trunc;
127
- var we = e.uint;
125
+ var Te = e.uint;
128
126
  e.uintBitsToFloat;
129
- var Te = e.uniform, Ee = e.uniformArray;
127
+ var Ee = e.uniform, De = e.uniformArray;
130
128
  e.uniformCubeTexture, e.uniformGroup, e.uniformFlow, e.uniformTexture, e.unpackHalf2x16, e.unpackSnorm2x16, e.unpackUnorm2x16;
131
- var De = e.unpackRGBToNormal, Oe = e.unpremultiplyAlpha;
129
+ var Oe = e.unpackRGBToNormal, ke = e.unpremultiplyAlpha;
132
130
  e.userData;
133
- var ke = e.uv;
131
+ var Ae = e.uv;
134
132
  e.uvec2, e.uvec3, e.uvec4;
135
- var Ae = e.varying;
133
+ var je = e.varying;
136
134
  e.varyingProperty;
137
- var je = e.vec2, Me = e.vec3, Ne = e.vec4;
135
+ var Me = e.vec2, Ne = e.vec3, Pe = e.vec4;
138
136
  e.vectorComponents;
139
- var Pe = e.velocity;
137
+ var Fe = e.velocity;
140
138
  e.vertexColor, e.vertexIndex, e.vertexStage, e.vibrance, e.viewZToLogarithmicDepth;
141
- var Fe = e.viewZToOrthographicDepth, Ie = e.viewZToPerspectiveDepth;
139
+ var Ie = e.viewZToOrthographicDepth, Le = e.viewZToPerspectiveDepth;
142
140
  e.viewZToReversedOrthographicDepth, e.viewZToReversedPerspectiveDepth, e.viewport, e.viewportCoordinate, e.viewportDepthTexture, e.viewportLinearDepth, e.viewportMipTexture, e.viewportOpaqueMipTexture, e.viewportResolution, e.viewportSafeUV, e.viewportSharedTexture, e.viewportSize, e.viewportTexture, e.viewportUV;
143
- var Le = e.wgsl, Re = e.wgslFn;
141
+ var Re = e.wgsl, ze = e.wgslFn;
144
142
  e.workgroupArray, e.workgroupBarrier, e.workgroupId, e.workingToColorSpace, e.xor;
145
143
  //#endregion
146
- export { $, A, Ae as At, z as B, S as C, Ce as Ct, E as D, De as Dt, T as E, Ee as Et, P as F, Fe as Ft, G, V as H, F as I, Ie as It, J, K, I as L, Le as Lt, j as M, Me as Mt, M as N, Ne as Nt, O, Oe as Ot, N as P, Pe as Pt, Q, L as R, Re as Rt, x as S, Se as St, w as T, Te as Tt, H as U, B as V, U as W, X, Y, Z, _, _e as _t, i as a, ae as at, y as b, be as bt, o as c, ce as ct, u as d, de as dt, ee as et, d as f, fe as ft, h as g, ge as gt, m as h, he as ht, r as i, ie as it, D as j, je as jt, k, ke as kt, c as l, le as lt, p as m, me as mt, n, ne as nt, a as o, oe as ot, f as p, pe as pt, q, s as r, re as rt, W as s, se as st, t, te as tt, l as u, ue as ut, g as v, ve as vt, C as w, we as wt, b as x, xe as xt, v as y, ye as yt, R as z };
144
+ export { $, A, Ae as At, z as B, S as C, Ce as Ct, E as D, De as Dt, T as E, Ee as Et, P as F, Fe as Ft, W as G, V as H, F as I, Ie as It, J, K, I as L, Le as Lt, j as M, Me as Mt, M as N, Ne as Nt, O, Oe as Ot, N as P, Pe as Pt, Q, L as R, Re as Rt, x as S, Se as St, w as T, Te as Tt, H as U, B as V, U as W, X, Y, Z, _, _e as _t, i as a, ae as at, y as b, be as bt, o as c, ce as ct, u as d, de as dt, ee as et, d as f, fe as ft, h as g, ge as gt, m as h, he as ht, r as i, ie as it, D as j, je as jt, k, ke as kt, c as l, le as lt, p as m, me as mt, n, ne as nt, a as o, oe as ot, f as p, pe as pt, q, s as r, re as rt, G as s, se as st, t, te as tt, l as u, ue as ut, g as v, ve as vt, C as w, we as wt, b as x, xe as xt, v as y, ye as yt, R as z, ze as zt };
147
145
 
148
- //# sourceMappingURL=three.tsl-BElp7_oF.mjs.map
146
+ //# sourceMappingURL=three.tsl-Dew9p5yF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"three.tsl-BElp7_oF.mjs","names":[],"sources":["../../../../node_modules/three/build/three.tsl.js"],"sourcesContent":["/**\n * @license\n * Copyright 2010-2026 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nimport { TSL } from 'three/webgpu';\n\nconst BRDF_GGX = TSL.BRDF_GGX;\nconst BRDF_Lambert = TSL.BRDF_Lambert;\nconst BasicPointShadowFilter = TSL.BasicPointShadowFilter;\nconst BasicShadowFilter = TSL.BasicShadowFilter;\nconst Break = TSL.Break;\nconst Const = TSL.Const;\nconst Continue = TSL.Continue;\nconst DFGLUT = TSL.DFGLUT;\nconst D_GGX = TSL.D_GGX;\nconst Discard = TSL.Discard;\nconst EPSILON = TSL.EPSILON;\nconst F_Schlick = TSL.F_Schlick;\nconst Fn = TSL.Fn;\nconst INFINITY = TSL.INFINITY;\nconst If = TSL.If;\nconst Loop = TSL.Loop;\nconst NodeAccess = TSL.NodeAccess;\nconst NodeShaderStage = TSL.NodeShaderStage;\nconst NodeType = TSL.NodeType;\nconst NodeUpdateType = TSL.NodeUpdateType;\nconst PCFShadowFilter = TSL.PCFShadowFilter;\nconst PCFSoftShadowFilter = TSL.PCFSoftShadowFilter;\nconst PI = TSL.PI;\nconst PI2 = TSL.PI2;\nconst TWO_PI = TSL.TWO_PI;\nconst HALF_PI = TSL.HALF_PI;\nconst PointShadowFilter = TSL.PointShadowFilter;\nconst Return = TSL.Return;\nconst Schlick_to_F0 = TSL.Schlick_to_F0;\nconst ShaderNode = TSL.ShaderNode;\nconst Stack = TSL.Stack;\nconst Switch = TSL.Switch;\nconst TBNViewMatrix = TSL.TBNViewMatrix;\nconst VSMShadowFilter = TSL.VSMShadowFilter;\nconst V_GGX_SmithCorrelated = TSL.V_GGX_SmithCorrelated;\nconst Var = TSL.Var;\nconst VarIntent = TSL.VarIntent;\nconst abs = TSL.abs;\nconst acesFilmicToneMapping = TSL.acesFilmicToneMapping;\nconst acos = TSL.acos;\nconst acosh = TSL.acosh;\nconst add = TSL.add;\nconst addMethodChaining = TSL.addMethodChaining;\nconst addNodeElement = TSL.addNodeElement;\nconst agxToneMapping = TSL.agxToneMapping;\nconst all = TSL.all;\nconst alphaT = TSL.alphaT;\nconst ambientOcclusion = TSL.ambientOcclusion;\nconst and = TSL.and;\nconst anisotropy = TSL.anisotropy;\nconst anisotropyB = TSL.anisotropyB;\nconst anisotropyT = TSL.anisotropyT;\nconst any = TSL.any;\nconst append = TSL.append;\nconst array = TSL.array;\nconst asin = TSL.asin;\nconst asinh = TSL.asinh;\nconst assign = TSL.assign;\nconst atan = TSL.atan;\nconst atanh = TSL.atanh;\nconst atomicAdd = TSL.atomicAdd;\nconst atomicAnd = TSL.atomicAnd;\nconst atomicFunc = TSL.atomicFunc;\nconst atomicLoad = TSL.atomicLoad;\nconst atomicMax = TSL.atomicMax;\nconst atomicMin = TSL.atomicMin;\nconst atomicOr = TSL.atomicOr;\nconst atomicStore = TSL.atomicStore;\nconst atomicSub = TSL.atomicSub;\nconst atomicXor = TSL.atomicXor;\nconst attenuationColor = TSL.attenuationColor;\nconst attenuationDistance = TSL.attenuationDistance;\nconst attribute = TSL.attribute;\nconst attributeArray = TSL.attributeArray;\nconst backgroundBlurriness = TSL.backgroundBlurriness;\nconst backgroundIntensity = TSL.backgroundIntensity;\nconst backgroundRotation = TSL.backgroundRotation;\nconst batch = TSL.batch;\nconst bentNormalView = TSL.bentNormalView;\nconst billboarding = TSL.billboarding;\nconst bitAnd = TSL.bitAnd;\nconst bitNot = TSL.bitNot;\nconst bitOr = TSL.bitOr;\nconst bitXor = TSL.bitXor;\nconst bitangentGeometry = TSL.bitangentGeometry;\nconst bitangentLocal = TSL.bitangentLocal;\nconst bitangentView = TSL.bitangentView;\nconst bitangentWorld = TSL.bitangentWorld;\nconst bitcast = TSL.bitcast;\nconst blendBurn = TSL.blendBurn;\nconst blendColor = TSL.blendColor;\nconst blendDodge = TSL.blendDodge;\nconst blendOverlay = TSL.blendOverlay;\nconst blendScreen = TSL.blendScreen;\nconst blur = TSL.blur;\nconst bool = TSL.bool;\nconst buffer = TSL.buffer;\nconst bufferAttribute = TSL.bufferAttribute;\nconst bumpMap = TSL.bumpMap;\nconst builtin = TSL.builtin;\nconst builtinAOContext = TSL.builtinAOContext;\nconst builtinShadowContext = TSL.builtinShadowContext;\nconst bvec2 = TSL.bvec2;\nconst bvec3 = TSL.bvec3;\nconst bvec4 = TSL.bvec4;\nconst bypass = TSL.bypass;\nconst cache = TSL.cache;\nconst call = TSL.call;\nconst cameraFar = TSL.cameraFar;\nconst cameraIndex = TSL.cameraIndex;\nconst cameraNear = TSL.cameraNear;\nconst cameraNormalMatrix = TSL.cameraNormalMatrix;\nconst cameraPosition = TSL.cameraPosition;\nconst cameraProjectionMatrix = TSL.cameraProjectionMatrix;\nconst cameraProjectionMatrixInverse = TSL.cameraProjectionMatrixInverse;\nconst cameraViewMatrix = TSL.cameraViewMatrix;\nconst cameraViewport = TSL.cameraViewport;\nconst cameraWorldMatrix = TSL.cameraWorldMatrix;\nconst cbrt = TSL.cbrt;\nconst cdl = TSL.cdl;\nconst ceil = TSL.ceil;\nconst checker = TSL.checker;\nconst cineonToneMapping = TSL.cineonToneMapping;\nconst clamp = TSL.clamp;\nconst clearcoat = TSL.clearcoat;\nconst clearcoatNormalView = TSL.clearcoatNormalView;\nconst clearcoatRoughness = TSL.clearcoatRoughness;\nconst clipSpace = TSL.clipSpace;\nconst code = TSL.code;\nconst color = TSL.color;\nconst colorSpaceToWorking = TSL.colorSpaceToWorking;\nconst colorToDirection = TSL.colorToDirection;\nconst compute = TSL.compute;\nconst computeKernel = TSL.computeKernel;\nconst computeSkinning = TSL.computeSkinning;\nconst context = TSL.context;\nconst convert = TSL.convert;\nconst convertColorSpace = TSL.convertColorSpace;\nconst convertToTexture = TSL.convertToTexture;\nconst countLeadingZeros = TSL.countLeadingZeros;\nconst countOneBits = TSL.countOneBits;\nconst countTrailingZeros = TSL.countTrailingZeros;\nconst cos = TSL.cos;\nconst cosh = TSL.cosh;\nconst cross = TSL.cross;\nconst cubeTexture = TSL.cubeTexture;\nconst cubeTextureBase = TSL.cubeTextureBase;\nconst dFdx = TSL.dFdx;\nconst dFdy = TSL.dFdy;\nconst dashSize = TSL.dashSize;\nconst debug = TSL.debug;\nconst decrement = TSL.decrement;\nconst decrementBefore = TSL.decrementBefore;\nconst defaultBuildStages = TSL.defaultBuildStages;\nconst defaultShaderStages = TSL.defaultShaderStages;\nconst defined = TSL.defined;\nconst degrees = TSL.degrees;\nconst deltaTime = TSL.deltaTime;\nconst densityFog = TSL.densityFog;\nconst densityFogFactor = TSL.densityFogFactor;\nconst depth = TSL.depth;\nconst depthPass = TSL.depthPass;\nconst determinant = TSL.determinant;\nconst difference = TSL.difference;\nconst diffuseColor = TSL.diffuseColor;\nconst directPointLight = TSL.directPointLight;\nconst directionToColor = TSL.directionToColor;\nconst directionToFaceDirection = TSL.directionToFaceDirection;\nconst dispersion = TSL.dispersion;\nconst distance = TSL.distance;\nconst div = TSL.div;\nconst dot = TSL.dot;\nconst drawIndex = TSL.drawIndex;\nconst dynamicBufferAttribute = TSL.dynamicBufferAttribute;\nconst element = TSL.element;\nconst emissive = TSL.emissive;\nconst equal = TSL.equal;\nconst equirectDirection = TSL.equirectDirection;\nconst equirectUV = TSL.equirectUV;\nconst exp = TSL.exp;\nconst exp2 = TSL.exp2;\nconst exponentialHeightFogFactor = TSL.exponentialHeightFogFactor;\nconst expression = TSL.expression;\nconst faceDirection = TSL.faceDirection;\nconst faceForward = TSL.faceForward;\nconst faceforward = TSL.faceforward;\nconst float = TSL.float;\nconst floatBitsToInt = TSL.floatBitsToInt;\nconst floatBitsToUint = TSL.floatBitsToUint;\nconst floor = TSL.floor;\nconst fog = TSL.fog;\nconst fract = TSL.fract;\nconst frameGroup = TSL.frameGroup;\nconst frameId = TSL.frameId;\nconst frontFacing = TSL.frontFacing;\nconst fwidth = TSL.fwidth;\nconst gain = TSL.gain;\nconst gapSize = TSL.gapSize;\nconst getConstNodeType = TSL.getConstNodeType;\nconst getCurrentStack = TSL.getCurrentStack;\nconst getDirection = TSL.getDirection;\nconst getDistanceAttenuation = TSL.getDistanceAttenuation;\nconst getGeometryRoughness = TSL.getGeometryRoughness;\nconst getNormalFromDepth = TSL.getNormalFromDepth;\nconst interleavedGradientNoise = TSL.interleavedGradientNoise;\nconst vogelDiskSample = TSL.vogelDiskSample;\nconst getParallaxCorrectNormal = TSL.getParallaxCorrectNormal;\nconst getRoughness = TSL.getRoughness;\nconst getScreenPosition = TSL.getScreenPosition;\nconst getShIrradianceAt = TSL.getShIrradianceAt;\nconst getShadowMaterial = TSL.getShadowMaterial;\nconst getShadowRenderObjectFunction = TSL.getShadowRenderObjectFunction;\nconst getTextureIndex = TSL.getTextureIndex;\nconst getViewPosition = TSL.getViewPosition;\nconst globalId = TSL.globalId;\nconst glsl = TSL.glsl;\nconst glslFn = TSL.glslFn;\nconst grayscale = TSL.grayscale;\nconst greaterThan = TSL.greaterThan;\nconst greaterThanEqual = TSL.greaterThanEqual;\nconst hash = TSL.hash;\nconst highpModelNormalViewMatrix = TSL.highpModelNormalViewMatrix;\nconst highpModelViewMatrix = TSL.highpModelViewMatrix;\nconst hue = TSL.hue;\nconst increment = TSL.increment;\nconst incrementBefore = TSL.incrementBefore;\nconst instance = TSL.instance;\nconst instanceIndex = TSL.instanceIndex;\nconst instancedArray = TSL.instancedArray;\nconst instancedBufferAttribute = TSL.instancedBufferAttribute;\nconst instancedDynamicBufferAttribute = TSL.instancedDynamicBufferAttribute;\nconst instancedMesh = TSL.instancedMesh;\nconst int = TSL.int;\nconst intBitsToFloat = TSL.intBitsToFloat;\nconst inverse = TSL.inverse;\nconst inverseSqrt = TSL.inverseSqrt;\nconst inversesqrt = TSL.inversesqrt;\nconst invocationLocalIndex = TSL.invocationLocalIndex;\nconst invocationSubgroupIndex = TSL.invocationSubgroupIndex;\nconst ior = TSL.ior;\nconst iridescence = TSL.iridescence;\nconst iridescenceIOR = TSL.iridescenceIOR;\nconst iridescenceThickness = TSL.iridescenceThickness;\nconst ivec2 = TSL.ivec2;\nconst ivec3 = TSL.ivec3;\nconst ivec4 = TSL.ivec4;\nconst js = TSL.js;\nconst label = TSL.label;\nconst length = TSL.length;\nconst lengthSq = TSL.lengthSq;\nconst lessThan = TSL.lessThan;\nconst lessThanEqual = TSL.lessThanEqual;\nconst lightPosition = TSL.lightPosition;\nconst lightProjectionUV = TSL.lightProjectionUV;\nconst lightShadowMatrix = TSL.lightShadowMatrix;\nconst lightTargetDirection = TSL.lightTargetDirection;\nconst lightTargetPosition = TSL.lightTargetPosition;\nconst lightViewPosition = TSL.lightViewPosition;\nconst lightingContext = TSL.lightingContext;\nconst lights = TSL.lights;\nconst linearDepth = TSL.linearDepth;\nconst linearToneMapping = TSL.linearToneMapping;\nconst localId = TSL.localId;\nconst log = TSL.log;\nconst log2 = TSL.log2;\nconst logarithmicDepthToViewZ = TSL.logarithmicDepthToViewZ;\nconst luminance = TSL.luminance;\nconst mat2 = TSL.mat2;\nconst mat3 = TSL.mat3;\nconst mat4 = TSL.mat4;\nconst matcapUV = TSL.matcapUV;\nconst materialAO = TSL.materialAO;\nconst materialAlphaTest = TSL.materialAlphaTest;\nconst materialAnisotropy = TSL.materialAnisotropy;\nconst materialAnisotropyVector = TSL.materialAnisotropyVector;\nconst materialAttenuationColor = TSL.materialAttenuationColor;\nconst materialAttenuationDistance = TSL.materialAttenuationDistance;\nconst materialClearcoat = TSL.materialClearcoat;\nconst materialClearcoatNormal = TSL.materialClearcoatNormal;\nconst materialClearcoatRoughness = TSL.materialClearcoatRoughness;\nconst materialColor = TSL.materialColor;\nconst materialDispersion = TSL.materialDispersion;\nconst materialEmissive = TSL.materialEmissive;\nconst materialEnvIntensity = TSL.materialEnvIntensity;\nconst materialEnvRotation = TSL.materialEnvRotation;\nconst materialIOR = TSL.materialIOR;\nconst materialIridescence = TSL.materialIridescence;\nconst materialIridescenceIOR = TSL.materialIridescenceIOR;\nconst materialIridescenceThickness = TSL.materialIridescenceThickness;\nconst materialLightMap = TSL.materialLightMap;\nconst materialLineDashOffset = TSL.materialLineDashOffset;\nconst materialLineDashSize = TSL.materialLineDashSize;\nconst materialLineGapSize = TSL.materialLineGapSize;\nconst materialLineScale = TSL.materialLineScale;\nconst materialLineWidth = TSL.materialLineWidth;\nconst materialMetalness = TSL.materialMetalness;\nconst materialNormal = TSL.materialNormal;\nconst materialOpacity = TSL.materialOpacity;\nconst materialPointSize = TSL.materialPointSize;\nconst materialReference = TSL.materialReference;\nconst materialReflectivity = TSL.materialReflectivity;\nconst materialRefractionRatio = TSL.materialRefractionRatio;\nconst materialRotation = TSL.materialRotation;\nconst materialRoughness = TSL.materialRoughness;\nconst materialSheen = TSL.materialSheen;\nconst materialSheenRoughness = TSL.materialSheenRoughness;\nconst materialShininess = TSL.materialShininess;\nconst materialSpecular = TSL.materialSpecular;\nconst materialSpecularColor = TSL.materialSpecularColor;\nconst materialSpecularIntensity = TSL.materialSpecularIntensity;\nconst materialSpecularStrength = TSL.materialSpecularStrength;\nconst materialThickness = TSL.materialThickness;\nconst materialTransmission = TSL.materialTransmission;\nconst max = TSL.max;\nconst maxMipLevel = TSL.maxMipLevel;\nconst mediumpModelViewMatrix = TSL.mediumpModelViewMatrix;\nconst metalness = TSL.metalness;\nconst min = TSL.min;\nconst mix = TSL.mix;\nconst mixElement = TSL.mixElement;\nconst mod = TSL.mod;\nconst modelDirection = TSL.modelDirection;\nconst modelNormalMatrix = TSL.modelNormalMatrix;\nconst modelPosition = TSL.modelPosition;\nconst modelRadius = TSL.modelRadius;\nconst modelScale = TSL.modelScale;\nconst modelViewMatrix = TSL.modelViewMatrix;\nconst modelViewPosition = TSL.modelViewPosition;\nconst modelViewProjection = TSL.modelViewProjection;\nconst modelWorldMatrix = TSL.modelWorldMatrix;\nconst modelWorldMatrixInverse = TSL.modelWorldMatrixInverse;\nconst morphReference = TSL.morphReference;\nconst mrt = TSL.mrt;\nconst mul = TSL.mul;\nconst mx_aastep = TSL.mx_aastep;\nconst mx_add = TSL.mx_add;\nconst mx_atan2 = TSL.mx_atan2;\nconst mx_cell_noise_float = TSL.mx_cell_noise_float;\nconst mx_contrast = TSL.mx_contrast;\nconst mx_divide = TSL.mx_divide;\nconst mx_fractal_noise_float = TSL.mx_fractal_noise_float;\nconst mx_fractal_noise_vec2 = TSL.mx_fractal_noise_vec2;\nconst mx_fractal_noise_vec3 = TSL.mx_fractal_noise_vec3;\nconst mx_fractal_noise_vec4 = TSL.mx_fractal_noise_vec4;\nconst mx_frame = TSL.mx_frame;\nconst mx_heighttonormal = TSL.mx_heighttonormal;\nconst mx_hsvtorgb = TSL.mx_hsvtorgb;\nconst mx_ifequal = TSL.mx_ifequal;\nconst mx_ifgreater = TSL.mx_ifgreater;\nconst mx_ifgreatereq = TSL.mx_ifgreatereq;\nconst mx_invert = TSL.mx_invert;\nconst mx_modulo = TSL.mx_modulo;\nconst mx_multiply = TSL.mx_multiply;\nconst mx_noise_float = TSL.mx_noise_float;\nconst mx_noise_vec3 = TSL.mx_noise_vec3;\nconst mx_noise_vec4 = TSL.mx_noise_vec4;\nconst mx_place2d = TSL.mx_place2d;\nconst mx_power = TSL.mx_power;\nconst mx_ramp4 = TSL.mx_ramp4;\nconst mx_ramplr = TSL.mx_ramplr;\nconst mx_ramptb = TSL.mx_ramptb;\nconst mx_rgbtohsv = TSL.mx_rgbtohsv;\nconst mx_rotate2d = TSL.mx_rotate2d;\nconst mx_rotate3d = TSL.mx_rotate3d;\nconst mx_safepower = TSL.mx_safepower;\nconst mx_separate = TSL.mx_separate;\nconst mx_splitlr = TSL.mx_splitlr;\nconst mx_splittb = TSL.mx_splittb;\nconst mx_srgb_texture_to_lin_rec709 = TSL.mx_srgb_texture_to_lin_rec709;\nconst mx_subtract = TSL.mx_subtract;\nconst mx_timer = TSL.mx_timer;\nconst mx_transform_uv = TSL.mx_transform_uv;\nconst mx_unifiednoise2d = TSL.mx_unifiednoise2d;\nconst mx_unifiednoise3d = TSL.mx_unifiednoise3d;\nconst mx_worley_noise_float = TSL.mx_worley_noise_float;\nconst mx_worley_noise_vec2 = TSL.mx_worley_noise_vec2;\nconst mx_worley_noise_vec3 = TSL.mx_worley_noise_vec3;\nconst negate = TSL.negate;\nconst negateOnBackSide = TSL.negateOnBackSide;\nconst neutralToneMapping = TSL.neutralToneMapping;\nconst nodeArray = TSL.nodeArray;\nconst nodeImmutable = TSL.nodeImmutable;\nconst nodeObject = TSL.nodeObject;\nconst nodeObjectIntent = TSL.nodeObjectIntent;\nconst nodeObjects = TSL.nodeObjects;\nconst nodeProxy = TSL.nodeProxy;\nconst nodeProxyIntent = TSL.nodeProxyIntent;\nconst normalFlat = TSL.normalFlat;\nconst normalGeometry = TSL.normalGeometry;\nconst normalLocal = TSL.normalLocal;\nconst normalMap = TSL.normalMap;\nconst normalView = TSL.normalView;\nconst normalViewGeometry = TSL.normalViewGeometry;\nconst normalWorld = TSL.normalWorld;\nconst normalWorldGeometry = TSL.normalWorldGeometry;\nconst normalize = TSL.normalize;\nconst not = TSL.not;\nconst notEqual = TSL.notEqual;\nconst numWorkgroups = TSL.numWorkgroups;\nconst objectDirection = TSL.objectDirection;\nconst objectGroup = TSL.objectGroup;\nconst objectPosition = TSL.objectPosition;\nconst objectRadius = TSL.objectRadius;\nconst objectScale = TSL.objectScale;\nconst objectViewPosition = TSL.objectViewPosition;\nconst objectWorldMatrix = TSL.objectWorldMatrix;\nconst OnBeforeObjectUpdate = TSL.OnBeforeObjectUpdate;\nconst OnBeforeMaterialUpdate = TSL.OnBeforeMaterialUpdate;\nconst OnObjectUpdate = TSL.OnObjectUpdate;\nconst OnMaterialUpdate = TSL.OnMaterialUpdate;\nconst oneMinus = TSL.oneMinus;\nconst or = TSL.or;\nconst orthographicDepthToViewZ = TSL.orthographicDepthToViewZ;\nconst oscSawtooth = TSL.oscSawtooth;\nconst oscSine = TSL.oscSine;\nconst oscSquare = TSL.oscSquare;\nconst oscTriangle = TSL.oscTriangle;\nconst output = TSL.output;\nconst outputStruct = TSL.outputStruct;\nconst overloadingFn = TSL.overloadingFn;\nconst overrideNode = TSL.overrideNode;\nconst overrideNodes = TSL.overrideNodes;\nconst packHalf2x16 = TSL.packHalf2x16;\nconst packSnorm2x16 = TSL.packSnorm2x16;\nconst packUnorm2x16 = TSL.packUnorm2x16;\nconst packNormalToRGB = TSL.packNormalToRGB;\nconst parabola = TSL.parabola;\nconst parallaxDirection = TSL.parallaxDirection;\nconst parallaxUV = TSL.parallaxUV;\nconst parameter = TSL.parameter;\nconst pass = TSL.pass;\nconst passTexture = TSL.passTexture;\nconst pcurve = TSL.pcurve;\nconst perspectiveDepthToViewZ = TSL.perspectiveDepthToViewZ;\nconst pmremTexture = TSL.pmremTexture;\nconst pointShadow = TSL.pointShadow;\nconst pointUV = TSL.pointUV;\nconst pointWidth = TSL.pointWidth;\nconst positionGeometry = TSL.positionGeometry;\nconst positionLocal = TSL.positionLocal;\nconst positionPrevious = TSL.positionPrevious;\nconst positionView = TSL.positionView;\nconst positionViewDirection = TSL.positionViewDirection;\nconst positionWorld = TSL.positionWorld;\nconst positionWorldDirection = TSL.positionWorldDirection;\nconst posterize = TSL.posterize;\nconst pow = TSL.pow;\nconst pow2 = TSL.pow2;\nconst pow3 = TSL.pow3;\nconst pow4 = TSL.pow4;\nconst premultiplyAlpha = TSL.premultiplyAlpha;\nconst property = TSL.property;\nconst radians = TSL.radians;\nconst rand = TSL.rand;\nconst range = TSL.range;\nconst rangeFog = TSL.rangeFog;\nconst rangeFogFactor = TSL.rangeFogFactor;\nconst reciprocal = TSL.reciprocal;\nconst reference = TSL.reference;\nconst referenceBuffer = TSL.referenceBuffer;\nconst reflect = TSL.reflect;\nconst reflectVector = TSL.reflectVector;\nconst reflectView = TSL.reflectView;\nconst reflector = TSL.reflector;\nconst refract = TSL.refract;\nconst refractVector = TSL.refractVector;\nconst refractView = TSL.refractView;\nconst reinhardToneMapping = TSL.reinhardToneMapping;\nconst remap = TSL.remap;\nconst remapClamp = TSL.remapClamp;\nconst renderGroup = TSL.renderGroup;\nconst renderOutput = TSL.renderOutput;\nconst rendererReference = TSL.rendererReference;\nconst replaceDefaultUV = TSL.replaceDefaultUV;\nconst rotate = TSL.rotate;\nconst rotateUV = TSL.rotateUV;\nconst roughness = TSL.roughness;\nconst round = TSL.round;\nconst rtt = TSL.rtt;\nconst sRGBTransferEOTF = TSL.sRGBTransferEOTF;\nconst sRGBTransferOETF = TSL.sRGBTransferOETF;\nconst sample = TSL.sample;\nconst sampler = TSL.sampler;\nconst samplerComparison = TSL.samplerComparison;\nconst saturate = TSL.saturate;\nconst saturation = TSL.saturation;\nconst screen = TSL.screen;\nconst screenCoordinate = TSL.screenCoordinate;\nconst screenDPR = TSL.screenDPR;\nconst screenSize = TSL.screenSize;\nconst screenUV = TSL.screenUV;\nconst select = TSL.select;\nconst setCurrentStack = TSL.setCurrentStack;\nconst setName = TSL.setName;\nconst shaderStages = TSL.shaderStages;\nconst shadow = TSL.shadow;\nconst shadowPositionWorld = TSL.shadowPositionWorld;\nconst shapeCircle = TSL.shapeCircle;\nconst sharedUniformGroup = TSL.sharedUniformGroup;\nconst sheen = TSL.sheen;\nconst sheenRoughness = TSL.sheenRoughness;\nconst shiftLeft = TSL.shiftLeft;\nconst shiftRight = TSL.shiftRight;\nconst shininess = TSL.shininess;\nconst sign = TSL.sign;\nconst sin = TSL.sin;\nconst sinh = TSL.sinh;\nconst sinc = TSL.sinc;\nconst skinning = TSL.skinning;\nconst smoothstep = TSL.smoothstep;\nconst smoothstepElement = TSL.smoothstepElement;\nconst specularColor = TSL.specularColor;\nconst specularF90 = TSL.specularF90;\nconst spherizeUV = TSL.spherizeUV;\nconst split = TSL.split;\nconst spritesheetUV = TSL.spritesheetUV;\nconst sqrt = TSL.sqrt;\nconst stack = TSL.stack;\nconst step = TSL.step;\nconst stepElement = TSL.stepElement;\nconst storage = TSL.storage;\nconst storageBarrier = TSL.storageBarrier;\nconst storageTexture = TSL.storageTexture;\nconst storageTexture3D = TSL.storageTexture3D;\nconst struct = TSL.struct;\nconst sub = TSL.sub;\nconst subgroupAdd = TSL.subgroupAdd;\nconst subgroupAll = TSL.subgroupAll;\nconst subgroupAnd = TSL.subgroupAnd;\nconst subgroupAny = TSL.subgroupAny;\nconst subgroupBallot = TSL.subgroupBallot;\nconst subgroupBroadcast = TSL.subgroupBroadcast;\nconst subgroupBroadcastFirst = TSL.subgroupBroadcastFirst;\nconst subBuild = TSL.subBuild;\nconst subgroupElect = TSL.subgroupElect;\nconst subgroupExclusiveAdd = TSL.subgroupExclusiveAdd;\nconst subgroupExclusiveMul = TSL.subgroupExclusiveMul;\nconst subgroupInclusiveAdd = TSL.subgroupInclusiveAdd;\nconst subgroupInclusiveMul = TSL.subgroupInclusiveMul;\nconst subgroupIndex = TSL.subgroupIndex;\nconst subgroupMax = TSL.subgroupMax;\nconst subgroupMin = TSL.subgroupMin;\nconst subgroupMul = TSL.subgroupMul;\nconst subgroupOr = TSL.subgroupOr;\nconst subgroupShuffle = TSL.subgroupShuffle;\nconst subgroupShuffleDown = TSL.subgroupShuffleDown;\nconst subgroupShuffleUp = TSL.subgroupShuffleUp;\nconst subgroupShuffleXor = TSL.subgroupShuffleXor;\nconst subgroupSize = TSL.subgroupSize;\nconst subgroupXor = TSL.subgroupXor;\nconst tan = TSL.tan;\nconst tanh = TSL.tanh;\nconst tangentGeometry = TSL.tangentGeometry;\nconst tangentLocal = TSL.tangentLocal;\nconst tangentView = TSL.tangentView;\nconst tangentWorld = TSL.tangentWorld;\nconst texture = TSL.texture;\nconst texture3D = TSL.texture3D;\nconst textureBarrier = TSL.textureBarrier;\nconst textureBicubic = TSL.textureBicubic;\nconst textureBicubicLevel = TSL.textureBicubicLevel;\nconst textureCubeUV = TSL.textureCubeUV;\nconst textureLoad = TSL.textureLoad;\nconst textureSize = TSL.textureSize;\nconst textureLevel = TSL.textureLevel;\nconst textureStore = TSL.textureStore;\nconst thickness = TSL.thickness;\nconst time = TSL.time;\nconst toneMapping = TSL.toneMapping;\nconst toneMappingExposure = TSL.toneMappingExposure;\nconst toonOutlinePass = TSL.toonOutlinePass;\nconst transformDirection = TSL.transformDirection;\nconst transformNormal = TSL.transformNormal;\nconst transformNormalByInverseViewMatrix = TSL.transformNormalByInverseViewMatrix;\nconst transformNormalByViewMatrix = TSL.transformNormalByViewMatrix;\nconst transformNormalToView = TSL.transformNormalToView;\nconst transformedClearcoatNormalView = TSL.transformedClearcoatNormalView;\nconst transformedNormalView = TSL.transformedNormalView;\nconst transformedNormalWorld = TSL.transformedNormalWorld;\nconst transmission = TSL.transmission;\nconst transpose = TSL.transpose;\nconst triNoise3D = TSL.triNoise3D;\nconst triplanarTexture = TSL.triplanarTexture;\nconst triplanarTextures = TSL.triplanarTextures;\nconst trunc = TSL.trunc;\nconst uint = TSL.uint;\nconst uintBitsToFloat = TSL.uintBitsToFloat;\nconst uniform = TSL.uniform;\nconst uniformArray = TSL.uniformArray;\nconst uniformCubeTexture = TSL.uniformCubeTexture;\nconst uniformGroup = TSL.uniformGroup;\nconst uniformFlow = TSL.uniformFlow;\nconst uniformTexture = TSL.uniformTexture;\nconst unpackHalf2x16 = TSL.unpackHalf2x16;\nconst unpackSnorm2x16 = TSL.unpackSnorm2x16;\nconst unpackUnorm2x16 = TSL.unpackUnorm2x16;\nconst unpackRGBToNormal = TSL.unpackRGBToNormal;\nconst unpremultiplyAlpha = TSL.unpremultiplyAlpha;\nconst userData = TSL.userData;\nconst uv = TSL.uv;\nconst uvec2 = TSL.uvec2;\nconst uvec3 = TSL.uvec3;\nconst uvec4 = TSL.uvec4;\nconst varying = TSL.varying;\nconst varyingProperty = TSL.varyingProperty;\nconst vec2 = TSL.vec2;\nconst vec3 = TSL.vec3;\nconst vec4 = TSL.vec4;\nconst vectorComponents = TSL.vectorComponents;\nconst velocity = TSL.velocity;\nconst vertexColor = TSL.vertexColor;\nconst vertexIndex = TSL.vertexIndex;\nconst vertexStage = TSL.vertexStage;\nconst vibrance = TSL.vibrance;\nconst viewZToLogarithmicDepth = TSL.viewZToLogarithmicDepth;\nconst viewZToOrthographicDepth = TSL.viewZToOrthographicDepth;\nconst viewZToPerspectiveDepth = TSL.viewZToPerspectiveDepth;\nconst viewZToReversedOrthographicDepth = TSL.viewZToReversedOrthographicDepth;\nconst viewZToReversedPerspectiveDepth = TSL.viewZToReversedPerspectiveDepth;\nconst viewport = TSL.viewport;\nconst viewportCoordinate = TSL.viewportCoordinate;\nconst viewportDepthTexture = TSL.viewportDepthTexture;\nconst viewportLinearDepth = TSL.viewportLinearDepth;\nconst viewportMipTexture = TSL.viewportMipTexture;\nconst viewportOpaqueMipTexture = TSL.viewportOpaqueMipTexture;\nconst viewportResolution = TSL.viewportResolution;\nconst viewportSafeUV = TSL.viewportSafeUV;\nconst viewportSharedTexture = TSL.viewportSharedTexture;\nconst viewportSize = TSL.viewportSize;\nconst viewportTexture = TSL.viewportTexture;\nconst viewportUV = TSL.viewportUV;\nconst wgsl = TSL.wgsl;\nconst wgslFn = TSL.wgslFn;\nconst workgroupArray = TSL.workgroupArray;\nconst workgroupBarrier = TSL.workgroupBarrier;\nconst workgroupId = TSL.workgroupId;\nconst workingToColorSpace = TSL.workingToColorSpace;\nconst xor = TSL.xor;\n\n/*\n// Use this code to generate the export statements dynamically\n\nlet code = '';\n\nfor ( const key of Object.keys( THREE.TSL ) ) {\n\n\tcode += `export const ${ key } = TSL.${ key };\\n`;\n\n}\n\nlog( code );\n//*/\n\nexport { BRDF_GGX, BRDF_Lambert, BasicPointShadowFilter, BasicShadowFilter, Break, Const, Continue, DFGLUT, D_GGX, Discard, EPSILON, F_Schlick, Fn, HALF_PI, INFINITY, If, Loop, NodeAccess, NodeShaderStage, NodeType, NodeUpdateType, OnBeforeMaterialUpdate, OnBeforeObjectUpdate, OnMaterialUpdate, OnObjectUpdate, PCFShadowFilter, PCFSoftShadowFilter, PI, PI2, PointShadowFilter, Return, Schlick_to_F0, ShaderNode, Stack, Switch, TBNViewMatrix, TWO_PI, VSMShadowFilter, V_GGX_SmithCorrelated, Var, VarIntent, abs, acesFilmicToneMapping, acos, acosh, add, addMethodChaining, addNodeElement, agxToneMapping, all, alphaT, ambientOcclusion, and, anisotropy, anisotropyB, anisotropyT, any, append, array, asin, asinh, assign, atan, atanh, atomicAdd, atomicAnd, atomicFunc, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, attenuationColor, attenuationDistance, attribute, attributeArray, backgroundBlurriness, backgroundIntensity, backgroundRotation, batch, bentNormalView, billboarding, bitAnd, bitNot, bitOr, bitXor, bitangentGeometry, bitangentLocal, bitangentView, bitangentWorld, bitcast, blendBurn, blendColor, blendDodge, blendOverlay, blendScreen, blur, bool, buffer, bufferAttribute, builtin, builtinAOContext, builtinShadowContext, bumpMap, bvec2, bvec3, bvec4, bypass, cache, call, cameraFar, cameraIndex, cameraNear, cameraNormalMatrix, cameraPosition, cameraProjectionMatrix, cameraProjectionMatrixInverse, cameraViewMatrix, cameraViewport, cameraWorldMatrix, cbrt, cdl, ceil, checker, cineonToneMapping, clamp, clearcoat, clearcoatNormalView, clearcoatRoughness, clipSpace, code, color, colorSpaceToWorking, colorToDirection, compute, computeKernel, computeSkinning, context, convert, convertColorSpace, convertToTexture, cos, cosh, countLeadingZeros, countOneBits, countTrailingZeros, cross, cubeTexture, cubeTextureBase, dFdx, dFdy, dashSize, debug, decrement, decrementBefore, defaultBuildStages, defaultShaderStages, defined, degrees, deltaTime, densityFog, densityFogFactor, depth, depthPass, determinant, difference, diffuseColor, directPointLight, directionToColor, directionToFaceDirection, dispersion, distance, div, dot, drawIndex, dynamicBufferAttribute, element, emissive, equal, equirectDirection, equirectUV, exp, exp2, exponentialHeightFogFactor, expression, faceDirection, faceForward, faceforward, float, floatBitsToInt, floatBitsToUint, floor, fog, fract, frameGroup, frameId, frontFacing, fwidth, gain, gapSize, getConstNodeType, getCurrentStack, getDirection, getDistanceAttenuation, getGeometryRoughness, getNormalFromDepth, getParallaxCorrectNormal, getRoughness, getScreenPosition, getShIrradianceAt, getShadowMaterial, getShadowRenderObjectFunction, getTextureIndex, getViewPosition, globalId, glsl, glslFn, grayscale, greaterThan, greaterThanEqual, hash, highpModelNormalViewMatrix, highpModelViewMatrix, hue, increment, incrementBefore, instance, instanceIndex, instancedArray, instancedBufferAttribute, instancedDynamicBufferAttribute, instancedMesh, int, intBitsToFloat, interleavedGradientNoise, inverse, inverseSqrt, inversesqrt, invocationLocalIndex, invocationSubgroupIndex, ior, iridescence, iridescenceIOR, iridescenceThickness, ivec2, ivec3, ivec4, js, label, length, lengthSq, lessThan, lessThanEqual, lightPosition, lightProjectionUV, lightShadowMatrix, lightTargetDirection, lightTargetPosition, lightViewPosition, lightingContext, lights, linearDepth, linearToneMapping, localId, log, log2, logarithmicDepthToViewZ, luminance, mat2, mat3, mat4, matcapUV, materialAO, materialAlphaTest, materialAnisotropy, materialAnisotropyVector, materialAttenuationColor, materialAttenuationDistance, materialClearcoat, materialClearcoatNormal, materialClearcoatRoughness, materialColor, materialDispersion, materialEmissive, materialEnvIntensity, materialEnvRotation, materialIOR, materialIridescence, materialIridescenceIOR, materialIridescenceThickness, materialLightMap, materialLineDashOffset, materialLineDashSize, materialLineGapSize, materialLineScale, materialLineWidth, materialMetalness, materialNormal, materialOpacity, materialPointSize, materialReference, materialReflectivity, materialRefractionRatio, materialRotation, materialRoughness, materialSheen, materialSheenRoughness, materialShininess, materialSpecular, materialSpecularColor, materialSpecularIntensity, materialSpecularStrength, materialThickness, materialTransmission, max, maxMipLevel, mediumpModelViewMatrix, metalness, min, mix, mixElement, mod, modelDirection, modelNormalMatrix, modelPosition, modelRadius, modelScale, modelViewMatrix, modelViewPosition, modelViewProjection, modelWorldMatrix, modelWorldMatrixInverse, morphReference, mrt, mul, mx_aastep, mx_add, mx_atan2, mx_cell_noise_float, mx_contrast, mx_divide, mx_fractal_noise_float, mx_fractal_noise_vec2, mx_fractal_noise_vec3, mx_fractal_noise_vec4, mx_frame, mx_heighttonormal, mx_hsvtorgb, mx_ifequal, mx_ifgreater, mx_ifgreatereq, mx_invert, mx_modulo, mx_multiply, mx_noise_float, mx_noise_vec3, mx_noise_vec4, mx_place2d, mx_power, mx_ramp4, mx_ramplr, mx_ramptb, mx_rgbtohsv, mx_rotate2d, mx_rotate3d, mx_safepower, mx_separate, mx_splitlr, mx_splittb, mx_srgb_texture_to_lin_rec709, mx_subtract, mx_timer, mx_transform_uv, mx_unifiednoise2d, mx_unifiednoise3d, mx_worley_noise_float, mx_worley_noise_vec2, mx_worley_noise_vec3, negate, negateOnBackSide, neutralToneMapping, nodeArray, nodeImmutable, nodeObject, nodeObjectIntent, nodeObjects, nodeProxy, nodeProxyIntent, normalFlat, normalGeometry, normalLocal, normalMap, normalView, normalViewGeometry, normalWorld, normalWorldGeometry, normalize, not, notEqual, numWorkgroups, objectDirection, objectGroup, objectPosition, objectRadius, objectScale, objectViewPosition, objectWorldMatrix, oneMinus, or, orthographicDepthToViewZ, oscSawtooth, oscSine, oscSquare, oscTriangle, output, outputStruct, overloadingFn, overrideNode, overrideNodes, packHalf2x16, packNormalToRGB, packSnorm2x16, packUnorm2x16, parabola, parallaxDirection, parallaxUV, parameter, pass, passTexture, pcurve, perspectiveDepthToViewZ, pmremTexture, pointShadow, pointUV, pointWidth, positionGeometry, positionLocal, positionPrevious, positionView, positionViewDirection, positionWorld, positionWorldDirection, posterize, pow, pow2, pow3, pow4, premultiplyAlpha, property, radians, rand, range, rangeFog, rangeFogFactor, reciprocal, reference, referenceBuffer, reflect, reflectVector, reflectView, reflector, refract, refractVector, refractView, reinhardToneMapping, remap, remapClamp, renderGroup, renderOutput, rendererReference, replaceDefaultUV, rotate, rotateUV, roughness, round, rtt, sRGBTransferEOTF, sRGBTransferOETF, sample, sampler, samplerComparison, saturate, saturation, screen, screenCoordinate, screenDPR, screenSize, screenUV, select, setCurrentStack, setName, shaderStages, shadow, shadowPositionWorld, shapeCircle, sharedUniformGroup, sheen, sheenRoughness, shiftLeft, shiftRight, shininess, sign, sin, sinc, sinh, skinning, smoothstep, smoothstepElement, specularColor, specularF90, spherizeUV, split, spritesheetUV, sqrt, stack, step, stepElement, storage, storageBarrier, storageTexture, storageTexture3D, struct, sub, subBuild, subgroupAdd, subgroupAll, subgroupAnd, subgroupAny, subgroupBallot, subgroupBroadcast, subgroupBroadcastFirst, subgroupElect, subgroupExclusiveAdd, subgroupExclusiveMul, subgroupInclusiveAdd, subgroupInclusiveMul, subgroupIndex, subgroupMax, subgroupMin, subgroupMul, subgroupOr, subgroupShuffle, subgroupShuffleDown, subgroupShuffleUp, subgroupShuffleXor, subgroupSize, subgroupXor, tan, tangentGeometry, tangentLocal, tangentView, tangentWorld, tanh, texture, texture3D, textureBarrier, textureBicubic, textureBicubicLevel, textureCubeUV, textureLevel, textureLoad, textureSize, textureStore, thickness, time, toneMapping, toneMappingExposure, toonOutlinePass, transformDirection, transformNormal, transformNormalByInverseViewMatrix, transformNormalByViewMatrix, transformNormalToView, transformedClearcoatNormalView, transformedNormalView, transformedNormalWorld, transmission, transpose, triNoise3D, triplanarTexture, triplanarTextures, trunc, uint, uintBitsToFloat, uniform, uniformArray, uniformCubeTexture, uniformFlow, uniformGroup, uniformTexture, unpackHalf2x16, unpackRGBToNormal, unpackSnorm2x16, unpackUnorm2x16, unpremultiplyAlpha, userData, uv, uvec2, uvec3, uvec4, varying, varyingProperty, vec2, vec3, vec4, vectorComponents, velocity, vertexColor, vertexIndex, vertexStage, vibrance, viewZToLogarithmicDepth, viewZToOrthographicDepth, viewZToPerspectiveDepth, viewZToReversedOrthographicDepth, viewZToReversedPerspectiveDepth, viewport, viewportCoordinate, viewportDepthTexture, viewportLinearDepth, viewportMipTexture, viewportOpaqueMipTexture, viewportResolution, viewportSafeUV, viewportSharedTexture, viewportSize, viewportTexture, viewportUV, vogelDiskSample, wgsl, wgslFn, workgroupArray, workgroupBarrier, workgroupId, workingToColorSpace, xor };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"three.tsl-Dew9p5yF.mjs","names":[],"sources":["../../../../node_modules/three/build/three.tsl.js"],"sourcesContent":["/**\n * @license\n * Copyright 2010-2026 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nimport { TSL } from 'three/webgpu';\n\nconst BRDF_GGX = TSL.BRDF_GGX;\nconst BRDF_Lambert = TSL.BRDF_Lambert;\nconst BasicPointShadowFilter = TSL.BasicPointShadowFilter;\nconst BasicShadowFilter = TSL.BasicShadowFilter;\nconst Break = TSL.Break;\nconst Const = TSL.Const;\nconst Continue = TSL.Continue;\nconst DFGLUT = TSL.DFGLUT;\nconst D_GGX = TSL.D_GGX;\nconst Discard = TSL.Discard;\nconst EPSILON = TSL.EPSILON;\nconst F_Schlick = TSL.F_Schlick;\nconst Fn = TSL.Fn;\nconst INFINITY = TSL.INFINITY;\nconst If = TSL.If;\nconst Loop = TSL.Loop;\nconst NodeAccess = TSL.NodeAccess;\nconst NodeShaderStage = TSL.NodeShaderStage;\nconst NodeType = TSL.NodeType;\nconst NodeUpdateType = TSL.NodeUpdateType;\nconst PCFShadowFilter = TSL.PCFShadowFilter;\nconst PCFSoftShadowFilter = TSL.PCFSoftShadowFilter;\nconst PI = TSL.PI;\nconst PI2 = TSL.PI2;\nconst TWO_PI = TSL.TWO_PI;\nconst HALF_PI = TSL.HALF_PI;\nconst PointShadowFilter = TSL.PointShadowFilter;\nconst Return = TSL.Return;\nconst Schlick_to_F0 = TSL.Schlick_to_F0;\nconst ShaderNode = TSL.ShaderNode;\nconst Stack = TSL.Stack;\nconst Switch = TSL.Switch;\nconst TBNViewMatrix = TSL.TBNViewMatrix;\nconst VSMShadowFilter = TSL.VSMShadowFilter;\nconst V_GGX_SmithCorrelated = TSL.V_GGX_SmithCorrelated;\nconst Var = TSL.Var;\nconst VarIntent = TSL.VarIntent;\nconst abs = TSL.abs;\nconst acesFilmicToneMapping = TSL.acesFilmicToneMapping;\nconst acos = TSL.acos;\nconst acosh = TSL.acosh;\nconst add = TSL.add;\nconst addMethodChaining = TSL.addMethodChaining;\nconst addNodeElement = TSL.addNodeElement;\nconst agxToneMapping = TSL.agxToneMapping;\nconst all = TSL.all;\nconst alphaT = TSL.alphaT;\nconst ambientOcclusion = TSL.ambientOcclusion;\nconst and = TSL.and;\nconst anisotropy = TSL.anisotropy;\nconst anisotropyB = TSL.anisotropyB;\nconst anisotropyT = TSL.anisotropyT;\nconst any = TSL.any;\nconst append = TSL.append;\nconst array = TSL.array;\nconst asin = TSL.asin;\nconst asinh = TSL.asinh;\nconst assign = TSL.assign;\nconst atan = TSL.atan;\nconst atanh = TSL.atanh;\nconst atomicAdd = TSL.atomicAdd;\nconst atomicAnd = TSL.atomicAnd;\nconst atomicFunc = TSL.atomicFunc;\nconst atomicLoad = TSL.atomicLoad;\nconst atomicMax = TSL.atomicMax;\nconst atomicMin = TSL.atomicMin;\nconst atomicOr = TSL.atomicOr;\nconst atomicStore = TSL.atomicStore;\nconst atomicSub = TSL.atomicSub;\nconst atomicXor = TSL.atomicXor;\nconst attenuationColor = TSL.attenuationColor;\nconst attenuationDistance = TSL.attenuationDistance;\nconst attribute = TSL.attribute;\nconst attributeArray = TSL.attributeArray;\nconst backgroundBlurriness = TSL.backgroundBlurriness;\nconst backgroundIntensity = TSL.backgroundIntensity;\nconst backgroundRotation = TSL.backgroundRotation;\nconst batch = TSL.batch;\nconst bentNormalView = TSL.bentNormalView;\nconst billboarding = TSL.billboarding;\nconst bitAnd = TSL.bitAnd;\nconst bitNot = TSL.bitNot;\nconst bitOr = TSL.bitOr;\nconst bitXor = TSL.bitXor;\nconst bitangentGeometry = TSL.bitangentGeometry;\nconst bitangentLocal = TSL.bitangentLocal;\nconst bitangentView = TSL.bitangentView;\nconst bitangentWorld = TSL.bitangentWorld;\nconst bitcast = TSL.bitcast;\nconst blendBurn = TSL.blendBurn;\nconst blendColor = TSL.blendColor;\nconst blendDodge = TSL.blendDodge;\nconst blendOverlay = TSL.blendOverlay;\nconst blendScreen = TSL.blendScreen;\nconst blur = TSL.blur;\nconst bool = TSL.bool;\nconst buffer = TSL.buffer;\nconst bufferAttribute = TSL.bufferAttribute;\nconst bumpMap = TSL.bumpMap;\nconst builtin = TSL.builtin;\nconst builtinAOContext = TSL.builtinAOContext;\nconst builtinShadowContext = TSL.builtinShadowContext;\nconst bvec2 = TSL.bvec2;\nconst bvec3 = TSL.bvec3;\nconst bvec4 = TSL.bvec4;\nconst bypass = TSL.bypass;\nconst cache = TSL.cache;\nconst call = TSL.call;\nconst cameraFar = TSL.cameraFar;\nconst cameraIndex = TSL.cameraIndex;\nconst cameraNear = TSL.cameraNear;\nconst cameraNormalMatrix = TSL.cameraNormalMatrix;\nconst cameraPosition = TSL.cameraPosition;\nconst cameraProjectionMatrix = TSL.cameraProjectionMatrix;\nconst cameraProjectionMatrixInverse = TSL.cameraProjectionMatrixInverse;\nconst cameraViewMatrix = TSL.cameraViewMatrix;\nconst cameraViewport = TSL.cameraViewport;\nconst cameraWorldMatrix = TSL.cameraWorldMatrix;\nconst cbrt = TSL.cbrt;\nconst cdl = TSL.cdl;\nconst ceil = TSL.ceil;\nconst checker = TSL.checker;\nconst cineonToneMapping = TSL.cineonToneMapping;\nconst clamp = TSL.clamp;\nconst clearcoat = TSL.clearcoat;\nconst clearcoatNormalView = TSL.clearcoatNormalView;\nconst clearcoatRoughness = TSL.clearcoatRoughness;\nconst clipSpace = TSL.clipSpace;\nconst code = TSL.code;\nconst color = TSL.color;\nconst colorSpaceToWorking = TSL.colorSpaceToWorking;\nconst colorToDirection = TSL.colorToDirection;\nconst compute = TSL.compute;\nconst computeKernel = TSL.computeKernel;\nconst computeSkinning = TSL.computeSkinning;\nconst context = TSL.context;\nconst convert = TSL.convert;\nconst convertColorSpace = TSL.convertColorSpace;\nconst convertToTexture = TSL.convertToTexture;\nconst countLeadingZeros = TSL.countLeadingZeros;\nconst countOneBits = TSL.countOneBits;\nconst countTrailingZeros = TSL.countTrailingZeros;\nconst cos = TSL.cos;\nconst cosh = TSL.cosh;\nconst cross = TSL.cross;\nconst cubeTexture = TSL.cubeTexture;\nconst cubeTextureBase = TSL.cubeTextureBase;\nconst dFdx = TSL.dFdx;\nconst dFdy = TSL.dFdy;\nconst dashSize = TSL.dashSize;\nconst debug = TSL.debug;\nconst decrement = TSL.decrement;\nconst decrementBefore = TSL.decrementBefore;\nconst defaultBuildStages = TSL.defaultBuildStages;\nconst defaultShaderStages = TSL.defaultShaderStages;\nconst defined = TSL.defined;\nconst degrees = TSL.degrees;\nconst deltaTime = TSL.deltaTime;\nconst densityFog = TSL.densityFog;\nconst densityFogFactor = TSL.densityFogFactor;\nconst depth = TSL.depth;\nconst depthPass = TSL.depthPass;\nconst determinant = TSL.determinant;\nconst difference = TSL.difference;\nconst diffuseColor = TSL.diffuseColor;\nconst directPointLight = TSL.directPointLight;\nconst directionToColor = TSL.directionToColor;\nconst directionToFaceDirection = TSL.directionToFaceDirection;\nconst dispersion = TSL.dispersion;\nconst distance = TSL.distance;\nconst div = TSL.div;\nconst dot = TSL.dot;\nconst drawIndex = TSL.drawIndex;\nconst dynamicBufferAttribute = TSL.dynamicBufferAttribute;\nconst element = TSL.element;\nconst emissive = TSL.emissive;\nconst equal = TSL.equal;\nconst equirectDirection = TSL.equirectDirection;\nconst equirectUV = TSL.equirectUV;\nconst exp = TSL.exp;\nconst exp2 = TSL.exp2;\nconst exponentialHeightFogFactor = TSL.exponentialHeightFogFactor;\nconst expression = TSL.expression;\nconst faceDirection = TSL.faceDirection;\nconst faceForward = TSL.faceForward;\nconst faceforward = TSL.faceforward;\nconst float = TSL.float;\nconst floatBitsToInt = TSL.floatBitsToInt;\nconst floatBitsToUint = TSL.floatBitsToUint;\nconst floor = TSL.floor;\nconst fog = TSL.fog;\nconst fract = TSL.fract;\nconst frameGroup = TSL.frameGroup;\nconst frameId = TSL.frameId;\nconst frontFacing = TSL.frontFacing;\nconst fwidth = TSL.fwidth;\nconst gain = TSL.gain;\nconst gapSize = TSL.gapSize;\nconst getConstNodeType = TSL.getConstNodeType;\nconst getCurrentStack = TSL.getCurrentStack;\nconst getDirection = TSL.getDirection;\nconst getDistanceAttenuation = TSL.getDistanceAttenuation;\nconst getGeometryRoughness = TSL.getGeometryRoughness;\nconst getNormalFromDepth = TSL.getNormalFromDepth;\nconst interleavedGradientNoise = TSL.interleavedGradientNoise;\nconst vogelDiskSample = TSL.vogelDiskSample;\nconst getParallaxCorrectNormal = TSL.getParallaxCorrectNormal;\nconst getRoughness = TSL.getRoughness;\nconst getScreenPosition = TSL.getScreenPosition;\nconst getShIrradianceAt = TSL.getShIrradianceAt;\nconst getShadowMaterial = TSL.getShadowMaterial;\nconst getShadowRenderObjectFunction = TSL.getShadowRenderObjectFunction;\nconst getTextureIndex = TSL.getTextureIndex;\nconst getViewPosition = TSL.getViewPosition;\nconst globalId = TSL.globalId;\nconst glsl = TSL.glsl;\nconst glslFn = TSL.glslFn;\nconst grayscale = TSL.grayscale;\nconst greaterThan = TSL.greaterThan;\nconst greaterThanEqual = TSL.greaterThanEqual;\nconst hash = TSL.hash;\nconst highpModelNormalViewMatrix = TSL.highpModelNormalViewMatrix;\nconst highpModelViewMatrix = TSL.highpModelViewMatrix;\nconst hue = TSL.hue;\nconst increment = TSL.increment;\nconst incrementBefore = TSL.incrementBefore;\nconst instance = TSL.instance;\nconst instanceIndex = TSL.instanceIndex;\nconst instancedArray = TSL.instancedArray;\nconst instancedBufferAttribute = TSL.instancedBufferAttribute;\nconst instancedDynamicBufferAttribute = TSL.instancedDynamicBufferAttribute;\nconst instancedMesh = TSL.instancedMesh;\nconst int = TSL.int;\nconst intBitsToFloat = TSL.intBitsToFloat;\nconst inverse = TSL.inverse;\nconst inverseSqrt = TSL.inverseSqrt;\nconst inversesqrt = TSL.inversesqrt;\nconst invocationLocalIndex = TSL.invocationLocalIndex;\nconst invocationSubgroupIndex = TSL.invocationSubgroupIndex;\nconst ior = TSL.ior;\nconst iridescence = TSL.iridescence;\nconst iridescenceIOR = TSL.iridescenceIOR;\nconst iridescenceThickness = TSL.iridescenceThickness;\nconst ivec2 = TSL.ivec2;\nconst ivec3 = TSL.ivec3;\nconst ivec4 = TSL.ivec4;\nconst js = TSL.js;\nconst label = TSL.label;\nconst length = TSL.length;\nconst lengthSq = TSL.lengthSq;\nconst lessThan = TSL.lessThan;\nconst lessThanEqual = TSL.lessThanEqual;\nconst lightPosition = TSL.lightPosition;\nconst lightProjectionUV = TSL.lightProjectionUV;\nconst lightShadowMatrix = TSL.lightShadowMatrix;\nconst lightTargetDirection = TSL.lightTargetDirection;\nconst lightTargetPosition = TSL.lightTargetPosition;\nconst lightViewPosition = TSL.lightViewPosition;\nconst lightingContext = TSL.lightingContext;\nconst lights = TSL.lights;\nconst linearDepth = TSL.linearDepth;\nconst linearToneMapping = TSL.linearToneMapping;\nconst localId = TSL.localId;\nconst log = TSL.log;\nconst log2 = TSL.log2;\nconst logarithmicDepthToViewZ = TSL.logarithmicDepthToViewZ;\nconst luminance = TSL.luminance;\nconst mat2 = TSL.mat2;\nconst mat3 = TSL.mat3;\nconst mat4 = TSL.mat4;\nconst matcapUV = TSL.matcapUV;\nconst materialAO = TSL.materialAO;\nconst materialAlphaTest = TSL.materialAlphaTest;\nconst materialAnisotropy = TSL.materialAnisotropy;\nconst materialAnisotropyVector = TSL.materialAnisotropyVector;\nconst materialAttenuationColor = TSL.materialAttenuationColor;\nconst materialAttenuationDistance = TSL.materialAttenuationDistance;\nconst materialClearcoat = TSL.materialClearcoat;\nconst materialClearcoatNormal = TSL.materialClearcoatNormal;\nconst materialClearcoatRoughness = TSL.materialClearcoatRoughness;\nconst materialColor = TSL.materialColor;\nconst materialDispersion = TSL.materialDispersion;\nconst materialEmissive = TSL.materialEmissive;\nconst materialEnvIntensity = TSL.materialEnvIntensity;\nconst materialEnvRotation = TSL.materialEnvRotation;\nconst materialIOR = TSL.materialIOR;\nconst materialIridescence = TSL.materialIridescence;\nconst materialIridescenceIOR = TSL.materialIridescenceIOR;\nconst materialIridescenceThickness = TSL.materialIridescenceThickness;\nconst materialLightMap = TSL.materialLightMap;\nconst materialLineDashOffset = TSL.materialLineDashOffset;\nconst materialLineDashSize = TSL.materialLineDashSize;\nconst materialLineGapSize = TSL.materialLineGapSize;\nconst materialLineScale = TSL.materialLineScale;\nconst materialLineWidth = TSL.materialLineWidth;\nconst materialMetalness = TSL.materialMetalness;\nconst materialNormal = TSL.materialNormal;\nconst materialOpacity = TSL.materialOpacity;\nconst materialPointSize = TSL.materialPointSize;\nconst materialReference = TSL.materialReference;\nconst materialReflectivity = TSL.materialReflectivity;\nconst materialRefractionRatio = TSL.materialRefractionRatio;\nconst materialRotation = TSL.materialRotation;\nconst materialRoughness = TSL.materialRoughness;\nconst materialSheen = TSL.materialSheen;\nconst materialSheenRoughness = TSL.materialSheenRoughness;\nconst materialShininess = TSL.materialShininess;\nconst materialSpecular = TSL.materialSpecular;\nconst materialSpecularColor = TSL.materialSpecularColor;\nconst materialSpecularIntensity = TSL.materialSpecularIntensity;\nconst materialSpecularStrength = TSL.materialSpecularStrength;\nconst materialThickness = TSL.materialThickness;\nconst materialTransmission = TSL.materialTransmission;\nconst max = TSL.max;\nconst maxMipLevel = TSL.maxMipLevel;\nconst mediumpModelViewMatrix = TSL.mediumpModelViewMatrix;\nconst metalness = TSL.metalness;\nconst min = TSL.min;\nconst mix = TSL.mix;\nconst mixElement = TSL.mixElement;\nconst mod = TSL.mod;\nconst modelDirection = TSL.modelDirection;\nconst modelNormalMatrix = TSL.modelNormalMatrix;\nconst modelPosition = TSL.modelPosition;\nconst modelRadius = TSL.modelRadius;\nconst modelScale = TSL.modelScale;\nconst modelViewMatrix = TSL.modelViewMatrix;\nconst modelViewPosition = TSL.modelViewPosition;\nconst modelViewProjection = TSL.modelViewProjection;\nconst modelWorldMatrix = TSL.modelWorldMatrix;\nconst modelWorldMatrixInverse = TSL.modelWorldMatrixInverse;\nconst morphReference = TSL.morphReference;\nconst mrt = TSL.mrt;\nconst mul = TSL.mul;\nconst mx_aastep = TSL.mx_aastep;\nconst mx_add = TSL.mx_add;\nconst mx_atan2 = TSL.mx_atan2;\nconst mx_cell_noise_float = TSL.mx_cell_noise_float;\nconst mx_contrast = TSL.mx_contrast;\nconst mx_divide = TSL.mx_divide;\nconst mx_fractal_noise_float = TSL.mx_fractal_noise_float;\nconst mx_fractal_noise_vec2 = TSL.mx_fractal_noise_vec2;\nconst mx_fractal_noise_vec3 = TSL.mx_fractal_noise_vec3;\nconst mx_fractal_noise_vec4 = TSL.mx_fractal_noise_vec4;\nconst mx_frame = TSL.mx_frame;\nconst mx_heighttonormal = TSL.mx_heighttonormal;\nconst mx_hsvtorgb = TSL.mx_hsvtorgb;\nconst mx_ifequal = TSL.mx_ifequal;\nconst mx_ifgreater = TSL.mx_ifgreater;\nconst mx_ifgreatereq = TSL.mx_ifgreatereq;\nconst mx_invert = TSL.mx_invert;\nconst mx_modulo = TSL.mx_modulo;\nconst mx_multiply = TSL.mx_multiply;\nconst mx_noise_float = TSL.mx_noise_float;\nconst mx_noise_vec3 = TSL.mx_noise_vec3;\nconst mx_noise_vec4 = TSL.mx_noise_vec4;\nconst mx_place2d = TSL.mx_place2d;\nconst mx_power = TSL.mx_power;\nconst mx_ramp4 = TSL.mx_ramp4;\nconst mx_ramplr = TSL.mx_ramplr;\nconst mx_ramptb = TSL.mx_ramptb;\nconst mx_rgbtohsv = TSL.mx_rgbtohsv;\nconst mx_rotate2d = TSL.mx_rotate2d;\nconst mx_rotate3d = TSL.mx_rotate3d;\nconst mx_safepower = TSL.mx_safepower;\nconst mx_separate = TSL.mx_separate;\nconst mx_splitlr = TSL.mx_splitlr;\nconst mx_splittb = TSL.mx_splittb;\nconst mx_srgb_texture_to_lin_rec709 = TSL.mx_srgb_texture_to_lin_rec709;\nconst mx_subtract = TSL.mx_subtract;\nconst mx_timer = TSL.mx_timer;\nconst mx_transform_uv = TSL.mx_transform_uv;\nconst mx_unifiednoise2d = TSL.mx_unifiednoise2d;\nconst mx_unifiednoise3d = TSL.mx_unifiednoise3d;\nconst mx_worley_noise_float = TSL.mx_worley_noise_float;\nconst mx_worley_noise_vec2 = TSL.mx_worley_noise_vec2;\nconst mx_worley_noise_vec3 = TSL.mx_worley_noise_vec3;\nconst negate = TSL.negate;\nconst negateOnBackSide = TSL.negateOnBackSide;\nconst neutralToneMapping = TSL.neutralToneMapping;\nconst nodeArray = TSL.nodeArray;\nconst nodeImmutable = TSL.nodeImmutable;\nconst nodeObject = TSL.nodeObject;\nconst nodeObjectIntent = TSL.nodeObjectIntent;\nconst nodeObjects = TSL.nodeObjects;\nconst nodeProxy = TSL.nodeProxy;\nconst nodeProxyIntent = TSL.nodeProxyIntent;\nconst normalFlat = TSL.normalFlat;\nconst normalGeometry = TSL.normalGeometry;\nconst normalLocal = TSL.normalLocal;\nconst normalMap = TSL.normalMap;\nconst normalView = TSL.normalView;\nconst normalViewGeometry = TSL.normalViewGeometry;\nconst normalWorld = TSL.normalWorld;\nconst normalWorldGeometry = TSL.normalWorldGeometry;\nconst normalize = TSL.normalize;\nconst not = TSL.not;\nconst notEqual = TSL.notEqual;\nconst numWorkgroups = TSL.numWorkgroups;\nconst objectDirection = TSL.objectDirection;\nconst objectGroup = TSL.objectGroup;\nconst objectPosition = TSL.objectPosition;\nconst objectRadius = TSL.objectRadius;\nconst objectScale = TSL.objectScale;\nconst objectViewPosition = TSL.objectViewPosition;\nconst objectWorldMatrix = TSL.objectWorldMatrix;\nconst OnBeforeObjectUpdate = TSL.OnBeforeObjectUpdate;\nconst OnBeforeMaterialUpdate = TSL.OnBeforeMaterialUpdate;\nconst OnObjectUpdate = TSL.OnObjectUpdate;\nconst OnMaterialUpdate = TSL.OnMaterialUpdate;\nconst oneMinus = TSL.oneMinus;\nconst or = TSL.or;\nconst orthographicDepthToViewZ = TSL.orthographicDepthToViewZ;\nconst oscSawtooth = TSL.oscSawtooth;\nconst oscSine = TSL.oscSine;\nconst oscSquare = TSL.oscSquare;\nconst oscTriangle = TSL.oscTriangle;\nconst output = TSL.output;\nconst outputStruct = TSL.outputStruct;\nconst overloadingFn = TSL.overloadingFn;\nconst overrideNode = TSL.overrideNode;\nconst overrideNodes = TSL.overrideNodes;\nconst packHalf2x16 = TSL.packHalf2x16;\nconst packSnorm2x16 = TSL.packSnorm2x16;\nconst packUnorm2x16 = TSL.packUnorm2x16;\nconst packNormalToRGB = TSL.packNormalToRGB;\nconst parabola = TSL.parabola;\nconst parallaxDirection = TSL.parallaxDirection;\nconst parallaxUV = TSL.parallaxUV;\nconst parameter = TSL.parameter;\nconst pass = TSL.pass;\nconst passTexture = TSL.passTexture;\nconst pcurve = TSL.pcurve;\nconst perspectiveDepthToViewZ = TSL.perspectiveDepthToViewZ;\nconst pmremTexture = TSL.pmremTexture;\nconst pointShadow = TSL.pointShadow;\nconst pointUV = TSL.pointUV;\nconst pointWidth = TSL.pointWidth;\nconst positionGeometry = TSL.positionGeometry;\nconst positionLocal = TSL.positionLocal;\nconst positionPrevious = TSL.positionPrevious;\nconst positionView = TSL.positionView;\nconst positionViewDirection = TSL.positionViewDirection;\nconst positionWorld = TSL.positionWorld;\nconst positionWorldDirection = TSL.positionWorldDirection;\nconst posterize = TSL.posterize;\nconst pow = TSL.pow;\nconst pow2 = TSL.pow2;\nconst pow3 = TSL.pow3;\nconst pow4 = TSL.pow4;\nconst premultiplyAlpha = TSL.premultiplyAlpha;\nconst property = TSL.property;\nconst radians = TSL.radians;\nconst rand = TSL.rand;\nconst range = TSL.range;\nconst rangeFog = TSL.rangeFog;\nconst rangeFogFactor = TSL.rangeFogFactor;\nconst reciprocal = TSL.reciprocal;\nconst reference = TSL.reference;\nconst referenceBuffer = TSL.referenceBuffer;\nconst reflect = TSL.reflect;\nconst reflectVector = TSL.reflectVector;\nconst reflectView = TSL.reflectView;\nconst reflector = TSL.reflector;\nconst refract = TSL.refract;\nconst refractVector = TSL.refractVector;\nconst refractView = TSL.refractView;\nconst reinhardToneMapping = TSL.reinhardToneMapping;\nconst remap = TSL.remap;\nconst remapClamp = TSL.remapClamp;\nconst renderGroup = TSL.renderGroup;\nconst renderOutput = TSL.renderOutput;\nconst rendererReference = TSL.rendererReference;\nconst replaceDefaultUV = TSL.replaceDefaultUV;\nconst rotate = TSL.rotate;\nconst rotateUV = TSL.rotateUV;\nconst roughness = TSL.roughness;\nconst round = TSL.round;\nconst rtt = TSL.rtt;\nconst sRGBTransferEOTF = TSL.sRGBTransferEOTF;\nconst sRGBTransferOETF = TSL.sRGBTransferOETF;\nconst sample = TSL.sample;\nconst sampler = TSL.sampler;\nconst samplerComparison = TSL.samplerComparison;\nconst saturate = TSL.saturate;\nconst saturation = TSL.saturation;\nconst screen = TSL.screen;\nconst screenCoordinate = TSL.screenCoordinate;\nconst screenDPR = TSL.screenDPR;\nconst screenSize = TSL.screenSize;\nconst screenUV = TSL.screenUV;\nconst select = TSL.select;\nconst setCurrentStack = TSL.setCurrentStack;\nconst setName = TSL.setName;\nconst shaderStages = TSL.shaderStages;\nconst shadow = TSL.shadow;\nconst shadowPositionWorld = TSL.shadowPositionWorld;\nconst shapeCircle = TSL.shapeCircle;\nconst sharedUniformGroup = TSL.sharedUniformGroup;\nconst sheen = TSL.sheen;\nconst sheenRoughness = TSL.sheenRoughness;\nconst shiftLeft = TSL.shiftLeft;\nconst shiftRight = TSL.shiftRight;\nconst shininess = TSL.shininess;\nconst sign = TSL.sign;\nconst sin = TSL.sin;\nconst sinh = TSL.sinh;\nconst sinc = TSL.sinc;\nconst skinning = TSL.skinning;\nconst smoothstep = TSL.smoothstep;\nconst smoothstepElement = TSL.smoothstepElement;\nconst specularColor = TSL.specularColor;\nconst specularF90 = TSL.specularF90;\nconst spherizeUV = TSL.spherizeUV;\nconst split = TSL.split;\nconst spritesheetUV = TSL.spritesheetUV;\nconst sqrt = TSL.sqrt;\nconst stack = TSL.stack;\nconst step = TSL.step;\nconst stepElement = TSL.stepElement;\nconst storage = TSL.storage;\nconst storageBarrier = TSL.storageBarrier;\nconst storageTexture = TSL.storageTexture;\nconst storageTexture3D = TSL.storageTexture3D;\nconst struct = TSL.struct;\nconst sub = TSL.sub;\nconst subgroupAdd = TSL.subgroupAdd;\nconst subgroupAll = TSL.subgroupAll;\nconst subgroupAnd = TSL.subgroupAnd;\nconst subgroupAny = TSL.subgroupAny;\nconst subgroupBallot = TSL.subgroupBallot;\nconst subgroupBroadcast = TSL.subgroupBroadcast;\nconst subgroupBroadcastFirst = TSL.subgroupBroadcastFirst;\nconst subBuild = TSL.subBuild;\nconst subgroupElect = TSL.subgroupElect;\nconst subgroupExclusiveAdd = TSL.subgroupExclusiveAdd;\nconst subgroupExclusiveMul = TSL.subgroupExclusiveMul;\nconst subgroupInclusiveAdd = TSL.subgroupInclusiveAdd;\nconst subgroupInclusiveMul = TSL.subgroupInclusiveMul;\nconst subgroupIndex = TSL.subgroupIndex;\nconst subgroupMax = TSL.subgroupMax;\nconst subgroupMin = TSL.subgroupMin;\nconst subgroupMul = TSL.subgroupMul;\nconst subgroupOr = TSL.subgroupOr;\nconst subgroupShuffle = TSL.subgroupShuffle;\nconst subgroupShuffleDown = TSL.subgroupShuffleDown;\nconst subgroupShuffleUp = TSL.subgroupShuffleUp;\nconst subgroupShuffleXor = TSL.subgroupShuffleXor;\nconst subgroupSize = TSL.subgroupSize;\nconst subgroupXor = TSL.subgroupXor;\nconst tan = TSL.tan;\nconst tanh = TSL.tanh;\nconst tangentGeometry = TSL.tangentGeometry;\nconst tangentLocal = TSL.tangentLocal;\nconst tangentView = TSL.tangentView;\nconst tangentWorld = TSL.tangentWorld;\nconst texture = TSL.texture;\nconst texture3D = TSL.texture3D;\nconst textureBarrier = TSL.textureBarrier;\nconst textureBicubic = TSL.textureBicubic;\nconst textureBicubicLevel = TSL.textureBicubicLevel;\nconst textureCubeUV = TSL.textureCubeUV;\nconst textureLoad = TSL.textureLoad;\nconst textureSize = TSL.textureSize;\nconst textureLevel = TSL.textureLevel;\nconst textureStore = TSL.textureStore;\nconst thickness = TSL.thickness;\nconst time = TSL.time;\nconst toneMapping = TSL.toneMapping;\nconst toneMappingExposure = TSL.toneMappingExposure;\nconst toonOutlinePass = TSL.toonOutlinePass;\nconst transformDirection = TSL.transformDirection;\nconst transformNormal = TSL.transformNormal;\nconst transformNormalByInverseViewMatrix = TSL.transformNormalByInverseViewMatrix;\nconst transformNormalByViewMatrix = TSL.transformNormalByViewMatrix;\nconst transformNormalToView = TSL.transformNormalToView;\nconst transformedClearcoatNormalView = TSL.transformedClearcoatNormalView;\nconst transformedNormalView = TSL.transformedNormalView;\nconst transformedNormalWorld = TSL.transformedNormalWorld;\nconst transmission = TSL.transmission;\nconst transpose = TSL.transpose;\nconst triNoise3D = TSL.triNoise3D;\nconst triplanarTexture = TSL.triplanarTexture;\nconst triplanarTextures = TSL.triplanarTextures;\nconst trunc = TSL.trunc;\nconst uint = TSL.uint;\nconst uintBitsToFloat = TSL.uintBitsToFloat;\nconst uniform = TSL.uniform;\nconst uniformArray = TSL.uniformArray;\nconst uniformCubeTexture = TSL.uniformCubeTexture;\nconst uniformGroup = TSL.uniformGroup;\nconst uniformFlow = TSL.uniformFlow;\nconst uniformTexture = TSL.uniformTexture;\nconst unpackHalf2x16 = TSL.unpackHalf2x16;\nconst unpackSnorm2x16 = TSL.unpackSnorm2x16;\nconst unpackUnorm2x16 = TSL.unpackUnorm2x16;\nconst unpackRGBToNormal = TSL.unpackRGBToNormal;\nconst unpremultiplyAlpha = TSL.unpremultiplyAlpha;\nconst userData = TSL.userData;\nconst uv = TSL.uv;\nconst uvec2 = TSL.uvec2;\nconst uvec3 = TSL.uvec3;\nconst uvec4 = TSL.uvec4;\nconst varying = TSL.varying;\nconst varyingProperty = TSL.varyingProperty;\nconst vec2 = TSL.vec2;\nconst vec3 = TSL.vec3;\nconst vec4 = TSL.vec4;\nconst vectorComponents = TSL.vectorComponents;\nconst velocity = TSL.velocity;\nconst vertexColor = TSL.vertexColor;\nconst vertexIndex = TSL.vertexIndex;\nconst vertexStage = TSL.vertexStage;\nconst vibrance = TSL.vibrance;\nconst viewZToLogarithmicDepth = TSL.viewZToLogarithmicDepth;\nconst viewZToOrthographicDepth = TSL.viewZToOrthographicDepth;\nconst viewZToPerspectiveDepth = TSL.viewZToPerspectiveDepth;\nconst viewZToReversedOrthographicDepth = TSL.viewZToReversedOrthographicDepth;\nconst viewZToReversedPerspectiveDepth = TSL.viewZToReversedPerspectiveDepth;\nconst viewport = TSL.viewport;\nconst viewportCoordinate = TSL.viewportCoordinate;\nconst viewportDepthTexture = TSL.viewportDepthTexture;\nconst viewportLinearDepth = TSL.viewportLinearDepth;\nconst viewportMipTexture = TSL.viewportMipTexture;\nconst viewportOpaqueMipTexture = TSL.viewportOpaqueMipTexture;\nconst viewportResolution = TSL.viewportResolution;\nconst viewportSafeUV = TSL.viewportSafeUV;\nconst viewportSharedTexture = TSL.viewportSharedTexture;\nconst viewportSize = TSL.viewportSize;\nconst viewportTexture = TSL.viewportTexture;\nconst viewportUV = TSL.viewportUV;\nconst wgsl = TSL.wgsl;\nconst wgslFn = TSL.wgslFn;\nconst workgroupArray = TSL.workgroupArray;\nconst workgroupBarrier = TSL.workgroupBarrier;\nconst workgroupId = TSL.workgroupId;\nconst workingToColorSpace = TSL.workingToColorSpace;\nconst xor = TSL.xor;\n\n/*\n// Use this code to generate the export statements dynamically\n\nlet code = '';\n\nfor ( const key of Object.keys( THREE.TSL ) ) {\n\n\tcode += `export const ${ key } = TSL.${ key };\\n`;\n\n}\n\nlog( code );\n//*/\n\nexport { BRDF_GGX, BRDF_Lambert, BasicPointShadowFilter, BasicShadowFilter, Break, Const, Continue, DFGLUT, D_GGX, Discard, EPSILON, F_Schlick, Fn, HALF_PI, INFINITY, If, Loop, NodeAccess, NodeShaderStage, NodeType, NodeUpdateType, OnBeforeMaterialUpdate, OnBeforeObjectUpdate, OnMaterialUpdate, OnObjectUpdate, PCFShadowFilter, PCFSoftShadowFilter, PI, PI2, PointShadowFilter, Return, Schlick_to_F0, ShaderNode, Stack, Switch, TBNViewMatrix, TWO_PI, VSMShadowFilter, V_GGX_SmithCorrelated, Var, VarIntent, abs, acesFilmicToneMapping, acos, acosh, add, addMethodChaining, addNodeElement, agxToneMapping, all, alphaT, ambientOcclusion, and, anisotropy, anisotropyB, anisotropyT, any, append, array, asin, asinh, assign, atan, atanh, atomicAdd, atomicAnd, atomicFunc, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, attenuationColor, attenuationDistance, attribute, attributeArray, backgroundBlurriness, backgroundIntensity, backgroundRotation, batch, bentNormalView, billboarding, bitAnd, bitNot, bitOr, bitXor, bitangentGeometry, bitangentLocal, bitangentView, bitangentWorld, bitcast, blendBurn, blendColor, blendDodge, blendOverlay, blendScreen, blur, bool, buffer, bufferAttribute, builtin, builtinAOContext, builtinShadowContext, bumpMap, bvec2, bvec3, bvec4, bypass, cache, call, cameraFar, cameraIndex, cameraNear, cameraNormalMatrix, cameraPosition, cameraProjectionMatrix, cameraProjectionMatrixInverse, cameraViewMatrix, cameraViewport, cameraWorldMatrix, cbrt, cdl, ceil, checker, cineonToneMapping, clamp, clearcoat, clearcoatNormalView, clearcoatRoughness, clipSpace, code, color, colorSpaceToWorking, colorToDirection, compute, computeKernel, computeSkinning, context, convert, convertColorSpace, convertToTexture, cos, cosh, countLeadingZeros, countOneBits, countTrailingZeros, cross, cubeTexture, cubeTextureBase, dFdx, dFdy, dashSize, debug, decrement, decrementBefore, defaultBuildStages, defaultShaderStages, defined, degrees, deltaTime, densityFog, densityFogFactor, depth, depthPass, determinant, difference, diffuseColor, directPointLight, directionToColor, directionToFaceDirection, dispersion, distance, div, dot, drawIndex, dynamicBufferAttribute, element, emissive, equal, equirectDirection, equirectUV, exp, exp2, exponentialHeightFogFactor, expression, faceDirection, faceForward, faceforward, float, floatBitsToInt, floatBitsToUint, floor, fog, fract, frameGroup, frameId, frontFacing, fwidth, gain, gapSize, getConstNodeType, getCurrentStack, getDirection, getDistanceAttenuation, getGeometryRoughness, getNormalFromDepth, getParallaxCorrectNormal, getRoughness, getScreenPosition, getShIrradianceAt, getShadowMaterial, getShadowRenderObjectFunction, getTextureIndex, getViewPosition, globalId, glsl, glslFn, grayscale, greaterThan, greaterThanEqual, hash, highpModelNormalViewMatrix, highpModelViewMatrix, hue, increment, incrementBefore, instance, instanceIndex, instancedArray, instancedBufferAttribute, instancedDynamicBufferAttribute, instancedMesh, int, intBitsToFloat, interleavedGradientNoise, inverse, inverseSqrt, inversesqrt, invocationLocalIndex, invocationSubgroupIndex, ior, iridescence, iridescenceIOR, iridescenceThickness, ivec2, ivec3, ivec4, js, label, length, lengthSq, lessThan, lessThanEqual, lightPosition, lightProjectionUV, lightShadowMatrix, lightTargetDirection, lightTargetPosition, lightViewPosition, lightingContext, lights, linearDepth, linearToneMapping, localId, log, log2, logarithmicDepthToViewZ, luminance, mat2, mat3, mat4, matcapUV, materialAO, materialAlphaTest, materialAnisotropy, materialAnisotropyVector, materialAttenuationColor, materialAttenuationDistance, materialClearcoat, materialClearcoatNormal, materialClearcoatRoughness, materialColor, materialDispersion, materialEmissive, materialEnvIntensity, materialEnvRotation, materialIOR, materialIridescence, materialIridescenceIOR, materialIridescenceThickness, materialLightMap, materialLineDashOffset, materialLineDashSize, materialLineGapSize, materialLineScale, materialLineWidth, materialMetalness, materialNormal, materialOpacity, materialPointSize, materialReference, materialReflectivity, materialRefractionRatio, materialRotation, materialRoughness, materialSheen, materialSheenRoughness, materialShininess, materialSpecular, materialSpecularColor, materialSpecularIntensity, materialSpecularStrength, materialThickness, materialTransmission, max, maxMipLevel, mediumpModelViewMatrix, metalness, min, mix, mixElement, mod, modelDirection, modelNormalMatrix, modelPosition, modelRadius, modelScale, modelViewMatrix, modelViewPosition, modelViewProjection, modelWorldMatrix, modelWorldMatrixInverse, morphReference, mrt, mul, mx_aastep, mx_add, mx_atan2, mx_cell_noise_float, mx_contrast, mx_divide, mx_fractal_noise_float, mx_fractal_noise_vec2, mx_fractal_noise_vec3, mx_fractal_noise_vec4, mx_frame, mx_heighttonormal, mx_hsvtorgb, mx_ifequal, mx_ifgreater, mx_ifgreatereq, mx_invert, mx_modulo, mx_multiply, mx_noise_float, mx_noise_vec3, mx_noise_vec4, mx_place2d, mx_power, mx_ramp4, mx_ramplr, mx_ramptb, mx_rgbtohsv, mx_rotate2d, mx_rotate3d, mx_safepower, mx_separate, mx_splitlr, mx_splittb, mx_srgb_texture_to_lin_rec709, mx_subtract, mx_timer, mx_transform_uv, mx_unifiednoise2d, mx_unifiednoise3d, mx_worley_noise_float, mx_worley_noise_vec2, mx_worley_noise_vec3, negate, negateOnBackSide, neutralToneMapping, nodeArray, nodeImmutable, nodeObject, nodeObjectIntent, nodeObjects, nodeProxy, nodeProxyIntent, normalFlat, normalGeometry, normalLocal, normalMap, normalView, normalViewGeometry, normalWorld, normalWorldGeometry, normalize, not, notEqual, numWorkgroups, objectDirection, objectGroup, objectPosition, objectRadius, objectScale, objectViewPosition, objectWorldMatrix, oneMinus, or, orthographicDepthToViewZ, oscSawtooth, oscSine, oscSquare, oscTriangle, output, outputStruct, overloadingFn, overrideNode, overrideNodes, packHalf2x16, packNormalToRGB, packSnorm2x16, packUnorm2x16, parabola, parallaxDirection, parallaxUV, parameter, pass, passTexture, pcurve, perspectiveDepthToViewZ, pmremTexture, pointShadow, pointUV, pointWidth, positionGeometry, positionLocal, positionPrevious, positionView, positionViewDirection, positionWorld, positionWorldDirection, posterize, pow, pow2, pow3, pow4, premultiplyAlpha, property, radians, rand, range, rangeFog, rangeFogFactor, reciprocal, reference, referenceBuffer, reflect, reflectVector, reflectView, reflector, refract, refractVector, refractView, reinhardToneMapping, remap, remapClamp, renderGroup, renderOutput, rendererReference, replaceDefaultUV, rotate, rotateUV, roughness, round, rtt, sRGBTransferEOTF, sRGBTransferOETF, sample, sampler, samplerComparison, saturate, saturation, screen, screenCoordinate, screenDPR, screenSize, screenUV, select, setCurrentStack, setName, shaderStages, shadow, shadowPositionWorld, shapeCircle, sharedUniformGroup, sheen, sheenRoughness, shiftLeft, shiftRight, shininess, sign, sin, sinc, sinh, skinning, smoothstep, smoothstepElement, specularColor, specularF90, spherizeUV, split, spritesheetUV, sqrt, stack, step, stepElement, storage, storageBarrier, storageTexture, storageTexture3D, struct, sub, subBuild, subgroupAdd, subgroupAll, subgroupAnd, subgroupAny, subgroupBallot, subgroupBroadcast, subgroupBroadcastFirst, subgroupElect, subgroupExclusiveAdd, subgroupExclusiveMul, subgroupInclusiveAdd, subgroupInclusiveMul, subgroupIndex, subgroupMax, subgroupMin, subgroupMul, subgroupOr, subgroupShuffle, subgroupShuffleDown, subgroupShuffleUp, subgroupShuffleXor, subgroupSize, subgroupXor, tan, tangentGeometry, tangentLocal, tangentView, tangentWorld, tanh, texture, texture3D, textureBarrier, textureBicubic, textureBicubicLevel, textureCubeUV, textureLevel, textureLoad, textureSize, textureStore, thickness, time, toneMapping, toneMappingExposure, toonOutlinePass, transformDirection, transformNormal, transformNormalByInverseViewMatrix, transformNormalByViewMatrix, transformNormalToView, transformedClearcoatNormalView, transformedNormalView, transformedNormalWorld, transmission, transpose, triNoise3D, triplanarTexture, triplanarTextures, trunc, uint, uintBitsToFloat, uniform, uniformArray, uniformCubeTexture, uniformFlow, uniformGroup, uniformTexture, unpackHalf2x16, unpackRGBToNormal, unpackSnorm2x16, unpackUnorm2x16, unpremultiplyAlpha, userData, uv, uvec2, uvec3, uvec4, varying, varyingProperty, vec2, vec3, vec4, vectorComponents, velocity, vertexColor, vertexIndex, vertexStage, vibrance, viewZToLogarithmicDepth, viewZToOrthographicDepth, viewZToPerspectiveDepth, viewZToReversedOrthographicDepth, viewZToReversedPerspectiveDepth, viewport, viewportCoordinate, viewportDepthTexture, viewportLinearDepth, viewportMipTexture, viewportOpaqueMipTexture, viewportResolution, viewportSafeUV, viewportSharedTexture, viewportSize, viewportTexture, viewportUV, vogelDiskSample, wgsl, wgslFn, workgroupArray, workgroupBarrier, workgroupId, workingToColorSpace, xor };\n"],"x_google_ignoreList":[0],"mappings":"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"}