@base2datadesign/viewer-kit 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine/ViewerEngine.d.ts +2 -0
- package/dist/engine/ViewerEngine.d.ts.map +1 -1
- package/dist/engine/ViewerEngine.js +9 -0
- package/dist/sky/scienceSky.d.ts.map +1 -1
- package/dist/sky/scienceSky.js +17 -0
- package/dist/systems/debugSystem.d.ts.map +1 -1
- package/dist/systems/debugSystem.js +18 -1
- package/dist/systems/environmentSystem.d.ts.map +1 -1
- package/dist/systems/environmentSystem.js +5 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerEngine.d.ts","sourceRoot":"","sources":["../../src/engine/ViewerEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,WAAW,EAAiB,sBAAsB,EAAE,mBAAmB,EAAmB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQrK,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IAE1D,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAU;IAEnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAuB;
|
|
1
|
+
{"version":3,"file":"ViewerEngine.d.ts","sourceRoot":"","sources":["../../src/engine/ViewerEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,WAAW,EAAiB,sBAAsB,EAAE,mBAAmB,EAAmB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQrK,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IAE1D,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAU;IAEnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,mBAAmB;IAkDxC,SAAS,IAAI,YAAY;IAkBzB,KAAK,IAAI,IAAI;IAgBb,IAAI,IAAI,IAAI;IAQZ,MAAM,IAAI,IAAI;IAYd,OAAO,IAAI,IAAI;IAef,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIjC,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAStD,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAwBjC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAe5C,cAAc,IAAI,WAAW;IAQvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC,WAAW,IAAI,cAAc;IAe7B,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,aAAa;CAKtB"}
|
|
@@ -23,6 +23,8 @@ export class ViewerEngine {
|
|
|
23
23
|
presetId;
|
|
24
24
|
running = false;
|
|
25
25
|
animationFrame = null;
|
|
26
|
+
lastWidth;
|
|
27
|
+
lastHeight;
|
|
26
28
|
constructor(options) {
|
|
27
29
|
this.container = options.container;
|
|
28
30
|
const basePresets = options.presets ?? DEFAULT_PRESETS;
|
|
@@ -55,6 +57,8 @@ export class ViewerEngine {
|
|
|
55
57
|
this.postFxSystem = new PostFxSystem(this.renderer, this.scene, this.camera);
|
|
56
58
|
this.debugSystem = new DebugSystem(this.scene);
|
|
57
59
|
this.usePostprocessing = options.usePostprocessing ?? true;
|
|
60
|
+
this.lastWidth = width;
|
|
61
|
+
this.lastHeight = height;
|
|
58
62
|
this.postFxSystem.resize(width, height);
|
|
59
63
|
this.applyPreset(this.presetId);
|
|
60
64
|
}
|
|
@@ -103,6 +107,8 @@ export class ViewerEngine {
|
|
|
103
107
|
resize() {
|
|
104
108
|
const width = this.container.clientWidth || 1;
|
|
105
109
|
const height = this.container.clientHeight || 1;
|
|
110
|
+
this.lastWidth = width;
|
|
111
|
+
this.lastHeight = height;
|
|
106
112
|
this.camera.aspect = width / height;
|
|
107
113
|
this.camera.updateProjectionMatrix();
|
|
108
114
|
this.renderer.setSize(width, height);
|
|
@@ -272,6 +278,9 @@ export class ViewerEngine {
|
|
|
272
278
|
? { ...preset.renderer, toneMappingExposure: exposureOverride }
|
|
273
279
|
: preset.renderer;
|
|
274
280
|
applyRendererConfig(this.renderer, rendererConfig);
|
|
281
|
+
// applyRendererConfig can change pixel ratio; keep drawing buffer in sync.
|
|
282
|
+
this.renderer.setSize(this.lastWidth, this.lastHeight);
|
|
283
|
+
this.postFxSystem.resize(this.lastWidth, this.lastHeight);
|
|
275
284
|
void this.environmentSystem.apply(preset);
|
|
276
285
|
this.lightingSystem.apply(preset);
|
|
277
286
|
this.postFxSystem.apply(this.usePostprocessing ? preset.postfx : undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scienceSky.d.ts","sourceRoot":"","sources":["../../src/sky/scienceSky.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"scienceSky.d.ts","sourceRoot":"","sources":["../../src/sky/scienceSky.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;AAmFF,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE5E"}
|
package/dist/sky/scienceSky.js
CHANGED
|
@@ -5,6 +5,23 @@ const SCIENCE_SKY_OPTIONS = [
|
|
|
5
5
|
label: "Preset Dome",
|
|
6
6
|
description: "Use the sky gradient defined by the active render preset.",
|
|
7
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
|
+
},
|
|
8
25
|
{
|
|
9
26
|
id: "canary-wharf",
|
|
10
27
|
label: "Canary Wharf",
|
|
@@ -1 +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;
|
|
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;AAoKjF,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,KAAK,EAAE,KAAK,CAAC,KAAK;IAI9B,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAwE3C,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,KAAK;CAmCd"}
|
|
@@ -4,10 +4,27 @@ const DEFAULT_EXTRAS = {
|
|
|
4
4
|
ground: true,
|
|
5
5
|
axes: true,
|
|
6
6
|
origin: true,
|
|
7
|
+
gridOpacity: 0.12,
|
|
8
|
+
gridDivisions: 80,
|
|
9
|
+
gridSize: 80,
|
|
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
|
+
},
|
|
7
24
|
};
|
|
8
25
|
const DEFAULT_GRID_SIZE = 80;
|
|
9
26
|
const DEFAULT_GRID_DIVISIONS = 80;
|
|
10
|
-
const DEFAULT_GRID_OPACITY = 0.
|
|
27
|
+
const DEFAULT_GRID_OPACITY = 0.12;
|
|
11
28
|
const DEFAULT_GRID_HEIGHT_OFFSET = 0.099;
|
|
12
29
|
const HDR_GROUND_SIZE = 60;
|
|
13
30
|
const AXIS_COLORS = {
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -180,6 +180,8 @@ export class EnvironmentSystem {
|
|
|
180
180
|
}
|
|
181
181
|
texture.mapping = THREE.EquirectangularReflectionMapping;
|
|
182
182
|
texture.colorSpace = THREE.LinearSRGBColorSpace;
|
|
183
|
+
texture.magFilter = THREE.LinearFilter;
|
|
184
|
+
texture.minFilter = THREE.LinearFilter;
|
|
183
185
|
texture.needsUpdate = true;
|
|
184
186
|
texture.center = new THREE.Vector2(0.5, 0.5);
|
|
185
187
|
if (typeof hdr.rotationY === "number") {
|
|
@@ -233,6 +235,9 @@ export class EnvironmentSystem {
|
|
|
233
235
|
texture.dispose();
|
|
234
236
|
return;
|
|
235
237
|
}
|
|
238
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
239
|
+
texture.magFilter = THREE.LinearFilter;
|
|
240
|
+
texture.minFilter = THREE.LinearFilter;
|
|
236
241
|
texture.needsUpdate = true;
|
|
237
242
|
this.applyRotationToScene(cube.rotation, cube.rotationY);
|
|
238
243
|
let environmentTexture = null;
|