diff --git a/pointcloud/index.html b/pointcloud/index.html index 6040fa17..067abd2a 100644 --- a/pointcloud/index.html +++ b/pointcloud/index.html @@ -461,9 +461,15 @@ return faceMeshFrame() || syntheticFrame(); } + // Once auto mode confirms there is no /api/splats backend on this origin, + // set this flag so we stop hammering the network with 404 fetches every + // tick. Remote (?backend=) and live (?live=1) modes keep retrying so + // a transient outage doesn't permanently downgrade them. + var networkDisabled = false; + async function fetchCloud() { // Demo-only mode: never hit the network. - if (backendArg === "demo") { + if (backendArg === "demo" || networkDisabled) { transportMode = "demo"; handleData(pickDemoFrame()); return; @@ -480,6 +486,9 @@ '● OFFLINE
Live backend required (?live=1) but unreachable.
' + (err && err.message ? err.message : err) + ''; return; } + // Auto mode + first failure → assume this is a static host (Pages) + // and stop polling. Console stays clean; demo renders locally. + if (backendArg === "auto") networkDisabled = true; transportMode = "demo"; handleData(pickDemoFrame()); }