@heliguy-xyz/splat-viewer 1.0.0-rc.2 → 1.0.0-rc.3
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/web-component/SplatViewerCore.d.ts.map +1 -1
- package/dist/web-component/splat-viewer.esm.js +80 -20
- package/dist/web-component/splat-viewer.esm.min.js +1 -1
- package/dist/web-component/splat-viewer.js +80 -20
- package/dist/web-component/splat-viewer.min.js +1 -1
- package/dist/web-component/types/SplatViewerCore.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplatViewerCore.d.ts","sourceRoot":"","sources":["../../src/web-component/SplatViewerCore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SplatViewerCore.d.ts","sourceRoot":"","sources":["../../src/web-component/SplatViewerCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -140826,33 +140826,93 @@ class SplatViewerCore {
|
|
|
140826
140826
|
if (!this.app)
|
|
140827
140827
|
return;
|
|
140828
140828
|
const canvas = this.app.graphicsDevice.canvas;
|
|
140829
|
-
//
|
|
140829
|
+
// Ensure canvas and its parent fill available space by default (non-destructive)
|
|
140830
|
+
if (!canvas.style.display)
|
|
140831
|
+
canvas.style.display = 'block';
|
|
140832
|
+
if (!canvas.style.width)
|
|
140833
|
+
canvas.style.width = '100%';
|
|
140834
|
+
if (!canvas.style.height)
|
|
140835
|
+
canvas.style.height = '100%';
|
|
140836
|
+
if (canvas.parentElement) {
|
|
140837
|
+
const ps = canvas.parentElement.style;
|
|
140838
|
+
if (!ps.width)
|
|
140839
|
+
ps.width = '100%';
|
|
140840
|
+
if (!ps.height)
|
|
140841
|
+
ps.height = '100%';
|
|
140842
|
+
}
|
|
140843
|
+
// Helper: apply resolution and notify dependents
|
|
140844
|
+
const applyResolution = (width, height) => {
|
|
140845
|
+
if (canvas.width === width && canvas.height === height)
|
|
140846
|
+
return;
|
|
140847
|
+
canvas.width = width;
|
|
140848
|
+
canvas.height = height;
|
|
140849
|
+
this.app.resizeCanvas(width, height);
|
|
140850
|
+
if (this._orbit &&
|
|
140851
|
+
this._orbit.navigationCube &&
|
|
140852
|
+
typeof this._orbit.navigationCube.onCanvasResize === 'function') {
|
|
140853
|
+
this._orbit.navigationCube.onCanvasResize();
|
|
140854
|
+
}
|
|
140855
|
+
};
|
|
140856
|
+
// Fallback: compute from CSS box * devicePixelRatio
|
|
140830
140857
|
const updateResolution = () => {
|
|
140831
140858
|
const rect = canvas.getBoundingClientRect();
|
|
140832
140859
|
const pixelRatio = window.devicePixelRatio || 1;
|
|
140833
|
-
// Set canvas internal resolution to match display size * pixel ratio
|
|
140834
140860
|
const width = Math.floor(rect.width * pixelRatio);
|
|
140835
140861
|
const height = Math.floor(rect.height * pixelRatio);
|
|
140836
|
-
|
|
140837
|
-
|
|
140838
|
-
|
|
140839
|
-
|
|
140840
|
-
|
|
140841
|
-
|
|
140842
|
-
|
|
140843
|
-
|
|
140844
|
-
|
|
140845
|
-
|
|
140846
|
-
|
|
140862
|
+
applyResolution(width, height);
|
|
140863
|
+
};
|
|
140864
|
+
// Prefer ResizeObserver entry data (devicePixelContentBoxSize when available)
|
|
140865
|
+
const updateFromEntry = (entry) => {
|
|
140866
|
+
let width = null;
|
|
140867
|
+
let height = null;
|
|
140868
|
+
const dpcb = entry.devicePixelContentBoxSize;
|
|
140869
|
+
if (dpcb && dpcb.length > 0) {
|
|
140870
|
+
width = Math.ceil(dpcb[0].inlineSize);
|
|
140871
|
+
height = Math.ceil(dpcb[0].blockSize);
|
|
140872
|
+
}
|
|
140873
|
+
else {
|
|
140874
|
+
const cbs = entry.contentBoxSize;
|
|
140875
|
+
if (cbs && cbs.length > 0) {
|
|
140876
|
+
const pixelRatio = window.devicePixelRatio || 1;
|
|
140877
|
+
width = Math.ceil(cbs[0].inlineSize * pixelRatio);
|
|
140878
|
+
height = Math.ceil(cbs[0].blockSize * pixelRatio);
|
|
140847
140879
|
}
|
|
140848
140880
|
}
|
|
140881
|
+
if (width !== null && height !== null) {
|
|
140882
|
+
applyResolution(width, height);
|
|
140883
|
+
}
|
|
140884
|
+
else {
|
|
140885
|
+
updateResolution();
|
|
140886
|
+
}
|
|
140849
140887
|
};
|
|
140850
140888
|
// Initial resolution setup
|
|
140851
140889
|
updateResolution();
|
|
140852
140890
|
// Set up resize observer for automatic resolution updates
|
|
140853
140891
|
if (window.ResizeObserver) {
|
|
140854
|
-
this._resizeObserver = new ResizeObserver(() => {
|
|
140855
|
-
|
|
140892
|
+
this._resizeObserver = new ResizeObserver((entries) => {
|
|
140893
|
+
if (!entries || entries.length === 0) {
|
|
140894
|
+
updateResolution();
|
|
140895
|
+
return;
|
|
140896
|
+
}
|
|
140897
|
+
const canvasEntry = entries.find(e => e.target === canvas);
|
|
140898
|
+
if (canvasEntry) {
|
|
140899
|
+
updateFromEntry(canvasEntry);
|
|
140900
|
+
}
|
|
140901
|
+
else {
|
|
140902
|
+
// Fall back to the first entry if canvas wasn't explicitly included
|
|
140903
|
+
if (entries.length > 0) {
|
|
140904
|
+
const firstEntry = entries[0];
|
|
140905
|
+
if (firstEntry) {
|
|
140906
|
+
updateFromEntry(firstEntry);
|
|
140907
|
+
}
|
|
140908
|
+
else {
|
|
140909
|
+
updateResolution();
|
|
140910
|
+
}
|
|
140911
|
+
}
|
|
140912
|
+
else {
|
|
140913
|
+
updateResolution();
|
|
140914
|
+
}
|
|
140915
|
+
}
|
|
140856
140916
|
});
|
|
140857
140917
|
// Observe both the canvas and its parent container for resize events
|
|
140858
140918
|
this._resizeObserver.observe(canvas);
|
|
@@ -140860,11 +140920,11 @@ class SplatViewerCore {
|
|
|
140860
140920
|
this._resizeObserver.observe(canvas.parentElement);
|
|
140861
140921
|
}
|
|
140862
140922
|
}
|
|
140863
|
-
|
|
140864
|
-
|
|
140865
|
-
|
|
140866
|
-
|
|
140867
|
-
|
|
140923
|
+
// Additionally listen to window resize to handle viewport changes
|
|
140924
|
+
// (e.g., when resizing dev tools). This mirrors superSplat behavior
|
|
140925
|
+
// and ensures the canvas always matches the available space.
|
|
140926
|
+
window.addEventListener('resize', updateResolution);
|
|
140927
|
+
this._resizeHandler = updateResolution;
|
|
140868
140928
|
}
|
|
140869
140929
|
}
|
|
140870
140930
|
|