@treasuryspatial/viewer-kit 0.2.31

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 (80) hide show
  1. package/README.md +5 -0
  2. package/dist/camera.d.ts +28 -0
  3. package/dist/camera.d.ts.map +1 -0
  4. package/dist/camera.js +63 -0
  5. package/dist/engine/ViewerEngine.d.ts +41 -0
  6. package/dist/engine/ViewerEngine.d.ts.map +1 -0
  7. package/dist/engine/ViewerEngine.js +344 -0
  8. package/dist/engine/createViewer.d.ts +3 -0
  9. package/dist/engine/createViewer.d.ts.map +1 -0
  10. package/dist/engine/createViewer.js +7 -0
  11. package/dist/engine/types.d.ts +284 -0
  12. package/dist/engine/types.d.ts.map +1 -0
  13. package/dist/engine/types.js +1 -0
  14. package/dist/exports/download.d.ts +2 -0
  15. package/dist/exports/download.d.ts.map +1 -0
  16. package/dist/exports/download.js +10 -0
  17. package/dist/exports/three-export.d.ts +4 -0
  18. package/dist/exports/three-export.d.ts.map +1 -0
  19. package/dist/exports/three-export.js +25 -0
  20. package/dist/index.d.ts +18 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +12 -0
  23. package/dist/materials/architectural.d.ts +7 -0
  24. package/dist/materials/architectural.d.ts.map +1 -0
  25. package/dist/materials/architectural.js +187 -0
  26. package/dist/materials/catalogue-data.d.ts +149 -0
  27. package/dist/materials/catalogue-data.d.ts.map +1 -0
  28. package/dist/materials/catalogue-data.js +158 -0
  29. package/dist/materials/catalogue.d.ts +5 -0
  30. package/dist/materials/catalogue.d.ts.map +1 -0
  31. package/dist/materials/catalogue.js +23 -0
  32. package/dist/materials/presets.d.ts +21 -0
  33. package/dist/materials/presets.d.ts.map +1 -0
  34. package/dist/materials/presets.js +217 -0
  35. package/dist/materials/renderMetadata.d.ts +15 -0
  36. package/dist/materials/renderMetadata.d.ts.map +1 -0
  37. package/dist/materials/renderMetadata.js +64 -0
  38. package/dist/materials/types.d.ts +50 -0
  39. package/dist/materials/types.d.ts.map +1 -0
  40. package/dist/materials/types.js +1 -0
  41. package/dist/presets/defaults.d.ts +4 -0
  42. package/dist/presets/defaults.d.ts.map +1 -0
  43. package/dist/presets/defaults.js +45 -0
  44. package/dist/presets/sciencePresets.d.ts +7 -0
  45. package/dist/presets/sciencePresets.d.ts.map +1 -0
  46. package/dist/presets/sciencePresets.js +478 -0
  47. package/dist/sky/scienceSky.d.ts +10 -0
  48. package/dist/sky/scienceSky.d.ts.map +1 -0
  49. package/dist/sky/scienceSky.js +85 -0
  50. package/dist/systems/debugSystem.d.ts +12 -0
  51. package/dist/systems/debugSystem.d.ts.map +1 -0
  52. package/dist/systems/debugSystem.js +283 -0
  53. package/dist/systems/environmentSystem.d.ts +31 -0
  54. package/dist/systems/environmentSystem.d.ts.map +1 -0
  55. package/dist/systems/environmentSystem.js +277 -0
  56. package/dist/systems/lightingSystem.d.ts +15 -0
  57. package/dist/systems/lightingSystem.d.ts.map +1 -0
  58. package/dist/systems/lightingSystem.js +100 -0
  59. package/dist/systems/postfxSystem.d.ts +31 -0
  60. package/dist/systems/postfxSystem.d.ts.map +1 -0
  61. package/dist/systems/postfxSystem.js +220 -0
  62. package/dist/systems/rendererSystem.d.ts +4 -0
  63. package/dist/systems/rendererSystem.d.ts.map +1 -0
  64. package/dist/systems/rendererSystem.js +42 -0
  65. package/dist/uploads/grasshopper.d.ts +13 -0
  66. package/dist/uploads/grasshopper.d.ts.map +1 -0
  67. package/dist/uploads/grasshopper.js +182 -0
  68. package/dist/uploads/index.d.ts +8 -0
  69. package/dist/uploads/index.d.ts.map +1 -0
  70. package/dist/uploads/index.js +29 -0
  71. package/dist/uploads/mesh.d.ts +8 -0
  72. package/dist/uploads/mesh.d.ts.map +1 -0
  73. package/dist/uploads/mesh.js +109 -0
  74. package/dist/uploads/rhino3dm.d.ts +7 -0
  75. package/dist/uploads/rhino3dm.d.ts.map +1 -0
  76. package/dist/uploads/rhino3dm.js +33 -0
  77. package/dist/uploads/types.d.ts +68 -0
  78. package/dist/uploads/types.d.ts.map +1 -0
  79. package/dist/uploads/types.js +1 -0
  80. package/package.json +38 -0
@@ -0,0 +1,85 @@
1
+ const HDR_BASE = "https://assets.treasury.space/science/hdr/shared";
2
+ const SCIENCE_SKY_OPTIONS = [
3
+ {
4
+ id: "preset",
5
+ label: "Preset Dome",
6
+ description: "Use the sky gradient defined by the active render preset.",
7
+ },
8
+ {
9
+ id: "debug-cube",
10
+ label: "Debug Cubemap",
11
+ description: "Axis/orientation test (E/W/N/S/U/D)",
12
+ sky: {
13
+ mode: "cube",
14
+ cube: {
15
+ px: "/debug/skybox/px.png",
16
+ nx: "/debug/skybox/nx.png",
17
+ py: "/debug/skybox/py.png",
18
+ ny: "/debug/skybox/ny.png",
19
+ pz: "/debug/skybox/pz.png",
20
+ nz: "/debug/skybox/nz.png",
21
+ exposure: 1.0,
22
+ },
23
+ },
24
+ },
25
+ {
26
+ id: "canary-wharf",
27
+ label: "Canary Wharf",
28
+ description: "Golden-hour skyline reflections",
29
+ sky: {
30
+ mode: "hdr",
31
+ hdr: { src: `${HDR_BASE}/canary_wharf_4k.hdr`, exposure: 1.1 },
32
+ },
33
+ },
34
+ {
35
+ id: "kloofendal",
36
+ label: "Kloofendal Sky",
37
+ description: "Bright partly cloudy daylight",
38
+ sky: {
39
+ mode: "hdr",
40
+ hdr: { src: `${HDR_BASE}/kloofendal_48d_partly_cloudy_puresky_4k.hdr`, exposure: 1.0 },
41
+ },
42
+ },
43
+ {
44
+ id: "venetian-crossroads",
45
+ label: "Venetian Crossroads",
46
+ description: "Cool overcast reflections",
47
+ sky: {
48
+ mode: "hdr",
49
+ hdr: { src: `${HDR_BASE}/venetian_crossroads_4k.hdr`, exposure: 1.05 },
50
+ },
51
+ },
52
+ {
53
+ id: "rural-road",
54
+ label: "Rural Evening",
55
+ description: "Warm sunset horizon",
56
+ sky: {
57
+ mode: "hdr",
58
+ hdr: { src: `${HDR_BASE}/rural_evening_road_4k.hdr`, exposure: 1.2 },
59
+ },
60
+ },
61
+ {
62
+ id: "spruit-sunrise",
63
+ label: "Spruit Sunrise",
64
+ description: "Soft morning bounce",
65
+ sky: {
66
+ mode: "hdr",
67
+ hdr: { src: `${HDR_BASE}/spruit_sunrise_4k.hdr`, exposure: 1.08 },
68
+ },
69
+ },
70
+ {
71
+ id: "dikhololo-night",
72
+ label: "Dikhololo Night",
73
+ description: "Night sky with subtle fill",
74
+ sky: {
75
+ mode: "hdr",
76
+ hdr: { src: `${HDR_BASE}/dikhololo_night_4k.hdr`, exposure: 0.65 },
77
+ },
78
+ },
79
+ ];
80
+ export function listScienceSkyOptions() {
81
+ return SCIENCE_SKY_OPTIONS;
82
+ }
83
+ export function getScienceSkyOption(id) {
84
+ return SCIENCE_SKY_OPTIONS.find((option) => option.id === id);
85
+ }
@@ -0,0 +1,12 @@
1
+ import * as THREE from "three";
2
+ import type { RenderPresetDefinition } from "../engine/types";
3
+ export declare class DebugSystem {
4
+ private scene;
5
+ private objects;
6
+ constructor(scene: THREE.Scene);
7
+ apply(preset: RenderPresetDefinition, bounds?: THREE.Box3 | null): void;
8
+ dispose(): void;
9
+ private add;
10
+ private clear;
11
+ }
12
+ //# sourceMappingURL=debugSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugSystem.d.ts","sourceRoot":"","sources":["../../src/systems/debugSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAqB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAsKjF,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,KAAK,EAAE,KAAK,CAAC,KAAK;IAI9B,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI;IAuFvE,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,KAAK;CAmCd"}
@@ -0,0 +1,283 @@
1
+ import * as THREE from "three";
2
+ const DEFAULT_EXTRAS = {
3
+ grid: true,
4
+ ground: true,
5
+ axes: true,
6
+ origin: true,
7
+ gridOpacity: 0.12,
8
+ gridDivisions: 100,
9
+ gridSize: 100,
10
+ groundRoughness: 0.8,
11
+ groundMetalness: 0.05,
12
+ lightTarget: [0, 1.5, 0],
13
+ originHighlight: true,
14
+ originLineColor: 0x94a3b8,
15
+ originLineLength: 40,
16
+ originLineThickness: 0.06,
17
+ axisLabelScale: 0.35,
18
+ axesLabels: {
19
+ lowerCase: true,
20
+ upperCase: true,
21
+ offset: 0.4,
22
+ secondaryOffset: 0.5,
23
+ },
24
+ };
25
+ const DEFAULT_GRID_SIZE = 100;
26
+ const DEFAULT_GRID_DIVISIONS = 100;
27
+ const DEFAULT_GRID_OPACITY = 0.12;
28
+ const DEFAULT_GRID_HEIGHT_OFFSET = 0.02;
29
+ const DEFAULT_GROUND_OFFSET = -0.11;
30
+ const HDR_GROUND_SIZE = 30;
31
+ const HDR_GRID_SIZE = 30;
32
+ const AXIS_COLORS = {
33
+ x: 0xef4444,
34
+ y: 0x22c55e,
35
+ z: 0x3b82f6,
36
+ };
37
+ function createCanvasLabel(text, color) {
38
+ if (typeof document === "undefined")
39
+ return null;
40
+ const canvas = document.createElement("canvas");
41
+ const size = 128;
42
+ canvas.width = canvas.height = size;
43
+ const ctx = canvas.getContext("2d");
44
+ if (!ctx)
45
+ return null;
46
+ ctx.clearRect(0, 0, size, size);
47
+ ctx.font = 'bold 68px "IBM Plex Mono", monospace';
48
+ ctx.textAlign = "center";
49
+ ctx.textBaseline = "middle";
50
+ ctx.fillStyle = new THREE.Color(color).getStyle();
51
+ ctx.fillText(text, size / 2, size / 2 + 6);
52
+ const texture = new THREE.CanvasTexture(canvas);
53
+ texture.generateMipmaps = false;
54
+ texture.needsUpdate = true;
55
+ return texture;
56
+ }
57
+ function createAxisLabelSprite(text, color, scale) {
58
+ const texture = createCanvasLabel(text, color);
59
+ if (!texture)
60
+ return null;
61
+ const material = new THREE.SpriteMaterial({ map: texture, transparent: true, depthTest: false, depthWrite: false });
62
+ const sprite = new THREE.Sprite(material);
63
+ sprite.scale.set(scale, scale, scale);
64
+ sprite.renderOrder = 5;
65
+ return sprite;
66
+ }
67
+ function buildAxisHelper(extras) {
68
+ const group = new THREE.Group();
69
+ const length = 1.8;
70
+ const coneHeight = 0.25;
71
+ const coneRadius = 0.07;
72
+ const labelScale = extras.axisLabelScale ?? 0.35;
73
+ const labelConfig = extras.axesLabels ?? {};
74
+ const lowerEnabled = labelConfig.lowerCase !== false;
75
+ const upperEnabled = labelConfig.upperCase !== false;
76
+ const lowerOffset = labelConfig.offset ?? 0.35;
77
+ const upperOffset = lowerOffset + (labelConfig.secondaryOffset ?? 0.2);
78
+ const rhinoAxisMap = { x: "X", y: "Z", z: "Y" };
79
+ ["x", "y", "z"].forEach((axis) => {
80
+ const dir = new THREE.Vector3(axis === "x" ? 1 : 0, axis === "y" ? 1 : 0, axis === "z" ? 1 : 0);
81
+ const color = AXIS_COLORS[axis];
82
+ const lineGeometry = new THREE.BufferGeometry().setFromPoints([
83
+ new THREE.Vector3(0, 0, 0),
84
+ dir.clone().multiplyScalar(length),
85
+ ]);
86
+ const lineMaterial = new THREE.LineBasicMaterial({ color, linewidth: 2 });
87
+ const line = new THREE.Line(lineGeometry, lineMaterial);
88
+ group.add(line);
89
+ const cone = new THREE.Mesh(new THREE.ConeGeometry(coneRadius, coneHeight, 16), new THREE.MeshBasicMaterial({ color }));
90
+ cone.position.copy(dir.clone().multiplyScalar(length));
91
+ cone.lookAt(dir.clone().multiplyScalar(length + 0.5));
92
+ group.add(cone);
93
+ if (lowerEnabled) {
94
+ const lowerLabel = createAxisLabelSprite(axis, color, labelScale);
95
+ if (lowerLabel) {
96
+ lowerLabel.position.copy(dir.clone().multiplyScalar(length + lowerOffset));
97
+ group.add(lowerLabel);
98
+ }
99
+ }
100
+ if (upperEnabled) {
101
+ const rhinoAxis = rhinoAxisMap[axis];
102
+ const upperLabel = createAxisLabelSprite(rhinoAxis, color, labelScale * 1.1);
103
+ if (upperLabel) {
104
+ const offsetDir = dir.clone().multiplyScalar(length + upperOffset);
105
+ upperLabel.position.copy(offsetDir);
106
+ group.add(upperLabel);
107
+ }
108
+ }
109
+ });
110
+ return group;
111
+ }
112
+ function buildOriginCross(extras, gridSize, groundY) {
113
+ const group = new THREE.Group();
114
+ const length = extras.originLineLength ?? gridSize / 2;
115
+ const thickness = extras.originLineThickness ?? 0.06;
116
+ const color = extras.originLineColor ?? 0x94a3b8;
117
+ const material = new THREE.MeshBasicMaterial({ color, transparent: true, opacity: 0.9, depthWrite: false });
118
+ const yPos = groundY + thickness * 0.5;
119
+ const xLine = new THREE.Mesh(new THREE.BoxGeometry(length * 2, thickness, thickness), material);
120
+ xLine.position.y = yPos;
121
+ const zLine = new THREE.Mesh(new THREE.BoxGeometry(thickness, thickness, length * 2), material.clone());
122
+ zLine.position.y = yPos;
123
+ group.add(xLine, zLine);
124
+ const markerCount = 5;
125
+ const markerThickness = thickness * 0.5;
126
+ for (let i = 1; i <= markerCount; i += 1) {
127
+ const offset = i;
128
+ const tickXPos = offset;
129
+ const tickZPos = offset;
130
+ const xTick = new THREE.Mesh(new THREE.BoxGeometry(markerThickness, thickness * 0.75, thickness * 4), material.clone());
131
+ xTick.position.set(tickXPos, yPos, 0);
132
+ const xTickNeg = xTick.clone();
133
+ xTickNeg.position.x = -tickXPos;
134
+ const zTick = new THREE.Mesh(new THREE.BoxGeometry(thickness * 4, thickness * 0.75, markerThickness), material.clone());
135
+ zTick.position.set(0, yPos, tickZPos);
136
+ const zTickNeg = zTick.clone();
137
+ zTickNeg.position.z = -tickZPos;
138
+ group.add(xTick, xTickNeg, zTick, zTickNeg);
139
+ }
140
+ return group;
141
+ }
142
+ function adjustGridColor(groundHex) {
143
+ const base = new THREE.Color(groundHex);
144
+ const hsl = { h: 0, s: 0, l: 0 };
145
+ base.getHSL(hsl);
146
+ hsl.l = Math.min(1, hsl.l + 0.15);
147
+ const adjusted = new THREE.Color();
148
+ adjusted.setHSL(hsl.h, hsl.s, hsl.l);
149
+ return adjusted.getHex();
150
+ }
151
+ export class DebugSystem {
152
+ scene;
153
+ objects = [];
154
+ constructor(scene) {
155
+ this.scene = scene;
156
+ }
157
+ apply(preset, bounds) {
158
+ const extras = { ...DEFAULT_EXTRAS, ...(preset.sceneExtras ?? {}) };
159
+ this.clear();
160
+ const skyMode = preset.sky?.mode ?? "gradient";
161
+ const isHdr = skyMode === "hdr";
162
+ const groundEnabled = extras.ground !== false;
163
+ const gridEnabled = extras.grid !== false;
164
+ const axesEnabled = extras.axes !== false;
165
+ const originEnabled = extras.origin !== false;
166
+ const groundColor = extras.groundColor ?? 0x2c2f33;
167
+ const boundsSize = bounds && !bounds.isEmpty() ? bounds.getSize(new THREE.Vector3()) : null;
168
+ const modelSpan = boundsSize ? Math.max(boundsSize.x, boundsSize.z, 1) : null;
169
+ const groundScale = isHdr ? (extras.groundAutoScaleHdr ?? 1.25) : (extras.groundAutoScale ?? 2.5);
170
+ const gridScale = isHdr
171
+ ? (extras.gridAutoScaleHdr ?? extras.groundAutoScaleHdr ?? 1.25)
172
+ : (extras.gridAutoScale ?? extras.groundAutoScale ?? 2.5);
173
+ const groundSizeDefault = isHdr ? HDR_GROUND_SIZE : DEFAULT_GRID_SIZE;
174
+ const gridSizeDefault = isHdr ? HDR_GRID_SIZE : DEFAULT_GRID_SIZE;
175
+ const derivedGroundSize = modelSpan ? modelSpan * groundScale : groundSizeDefault;
176
+ const derivedGridSize = groundEnabled
177
+ ? (extras.groundSize ?? derivedGroundSize)
178
+ : modelSpan
179
+ ? modelSpan * gridScale
180
+ : gridSizeDefault;
181
+ const groundOffset = extras.groundOffset ?? DEFAULT_GROUND_OFFSET;
182
+ const gridHeightOffset = extras.gridHeightOffset ?? DEFAULT_GRID_HEIGHT_OFFSET;
183
+ if (groundEnabled) {
184
+ const size = extras.groundSize ?? derivedGroundSize;
185
+ const groundGeometry = new THREE.PlaneGeometry(size, size);
186
+ const groundMaterial = new THREE.MeshStandardMaterial({
187
+ color: groundColor,
188
+ roughness: extras.groundRoughness ?? (isHdr ? 0.6 : 0.8),
189
+ metalness: extras.groundMetalness ?? (isHdr ? 0.02 : 0.05),
190
+ toneMapped: false,
191
+ });
192
+ const ground = new THREE.Mesh(groundGeometry, groundMaterial);
193
+ ground.rotation.x = -Math.PI / 2;
194
+ ground.position.y = groundOffset;
195
+ ground.receiveShadow = true;
196
+ this.add(ground);
197
+ }
198
+ let lastGridPositionY = 0;
199
+ const gridSize = extras.gridSize ?? derivedGridSize;
200
+ if (gridEnabled) {
201
+ const gridPrimary = new THREE.Color(extras.gridColor ?? adjustGridColor(groundColor));
202
+ const gridSecondary = new THREE.Color(extras.gridColorSecondary ?? gridPrimary.getHex());
203
+ const gridDivisions = extras.gridDivisions ?? Math.max(1, gridSize);
204
+ const grid = new THREE.GridHelper(gridSize, gridDivisions, gridPrimary, gridSecondary);
205
+ const gridY = groundEnabled ? groundOffset + gridHeightOffset : -gridHeightOffset;
206
+ grid.position.y = gridY;
207
+ lastGridPositionY = grid.position.y;
208
+ const gridMaterial = grid.material;
209
+ const setTransparency = (mat) => {
210
+ mat.transparent = true;
211
+ mat.opacity = extras.gridOpacity ?? DEFAULT_GRID_OPACITY;
212
+ };
213
+ if (Array.isArray(gridMaterial)) {
214
+ gridMaterial.forEach((mat) => setTransparency(mat));
215
+ }
216
+ else if (gridMaterial) {
217
+ setTransparency(gridMaterial);
218
+ }
219
+ this.add(grid);
220
+ }
221
+ const originPlaneY = groundEnabled ? groundOffset : lastGridPositionY || -gridHeightOffset;
222
+ if (extras.originHighlight !== false) {
223
+ const originCross = buildOriginCross(extras, gridSize, originPlaneY);
224
+ this.add(originCross);
225
+ }
226
+ if (originEnabled) {
227
+ const originSize = extras.originSize ?? 0.1;
228
+ const originGeometry = new THREE.SphereGeometry(originSize, 16, 16);
229
+ const originMaterial = new THREE.MeshBasicMaterial({ color: extras.originColor ?? 0x666666 });
230
+ const origin = new THREE.Mesh(originGeometry, originMaterial);
231
+ origin.position.set(0, 0, 0);
232
+ this.add(origin);
233
+ }
234
+ if (axesEnabled) {
235
+ this.add(buildAxisHelper(extras));
236
+ }
237
+ }
238
+ dispose() {
239
+ this.clear();
240
+ }
241
+ add(object) {
242
+ this.scene.add(object);
243
+ this.objects.push(object);
244
+ }
245
+ clear() {
246
+ this.objects.forEach((object) => {
247
+ if (object.parent)
248
+ object.parent.remove(object);
249
+ if (object instanceof THREE.Mesh) {
250
+ object.geometry.dispose();
251
+ const material = object.material;
252
+ if (Array.isArray(material)) {
253
+ material.forEach((mat) => mat.dispose?.());
254
+ }
255
+ else {
256
+ material.dispose?.();
257
+ }
258
+ return;
259
+ }
260
+ if (object instanceof THREE.Line) {
261
+ object.geometry.dispose();
262
+ const material = object.material;
263
+ if (Array.isArray(material)) {
264
+ material.forEach((mat) => mat.dispose?.());
265
+ }
266
+ else {
267
+ material?.dispose?.();
268
+ }
269
+ return;
270
+ }
271
+ if (object instanceof THREE.Sprite) {
272
+ const material = object.material;
273
+ if (material) {
274
+ if (material.map) {
275
+ material.map.dispose?.();
276
+ }
277
+ material.dispose?.();
278
+ }
279
+ }
280
+ });
281
+ this.objects = [];
282
+ }
283
+ }
@@ -0,0 +1,31 @@
1
+ import * as THREE from "three";
2
+ import type { AssetResolver, RenderPresetDefinition } from "../engine/types";
3
+ export type EnvironmentState = {
4
+ mode: "none" | "gradient" | "hdr" | "cube";
5
+ backgroundEnabled: boolean;
6
+ lightingEnabled: boolean;
7
+ };
8
+ export declare class EnvironmentSystem {
9
+ private scene;
10
+ private renderer;
11
+ private assetResolver?;
12
+ private pmremGenerator;
13
+ private currentObjects;
14
+ private currentBackground;
15
+ private currentEnvironment;
16
+ private objectUrls;
17
+ private loadToken;
18
+ private state;
19
+ private fallbackGradient;
20
+ constructor(scene: THREE.Scene, renderer: THREE.WebGLRenderer, assetResolver?: AssetResolver);
21
+ getState(): EnvironmentState;
22
+ apply(preset: RenderPresetDefinition): Promise<void>;
23
+ dispose(): void;
24
+ private disposeCurrent;
25
+ private applyGradientSky;
26
+ private resolveAsset;
27
+ private applyHdrSky;
28
+ private applyCubeSky;
29
+ private applyRotationToScene;
30
+ }
31
+ //# sourceMappingURL=environmentSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentSystem.d.ts","sourceRoot":"","sources":["../../src/systems/environmentSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAA8C,MAAM,iBAAiB,CAAC;AAEzH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,kBAAkB,CAAkD;IAC5E,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,KAAK,CAAwF;IACrG,OAAO,CAAC,gBAAgB,CAMtB;gBAEU,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,aAAa;IAM5F,QAAQ,IAAI,gBAAgB;IAItB,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC1D,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,gBAAgB;YA6CV,YAAY;YAaZ,WAAW;YAwDX,YAAY;IAuD1B,OAAO,CAAC,oBAAoB;CAY7B"}