-
released this
2026-05-27 07:32:33 +00:00 | 62 commits to main since this releaseAfter the v1.4.2/v1.4.3 viewer hotfixes, the default
target="supersplat"(remote editor at playcanvas.com) still produced an empty editor for users on modern browsers: HTTPS pages cannot fetch HTTP localhost resources (Mixed-Content blocking). The user could work around it with--with-supersplat; v1.4.4 just makes that the default.Changed
[viewer] targetdefault flipped to"supersplat-local". When the dist is built (bash scripts/setup_supersplat.sh— already part of repo setup),autosplat process/rescuefinish by starting both a local SuperSplat HTTP server and a local PLY server, openinghttp://127.0.0.1:3000?load=http://127.0.0.1:8765/scene.plyin the browser, and blocking until Ctrl-C. Everything is HTTP-on-localhost — no mixed-content blocking, no.plydownload dialog, no manual drag-and-drop.- Graceful fallback when the dist is missing. If
target="supersplat-local"buttarget/supersplat/dist/index.htmldoesn't exist, the viewer prints a clear console hint to run the setup script and falls back to a no-op (the existingautosplat doctorwarning already covers this).
Added
viewer._serve_local_and_block()— shared helper that wrapsserve_supersplat_local()+ browser-open + signal-handled block. Re-used by the auto-open path;cli.serve --with-supersplatkeeps its inline equivalent for now.
Tests
test_open_in_viewer_supersplat_local_no_browserrewritten to assert the dist-missing fallback (no browser, hint message).- New
test_open_in_viewer_supersplat_local_opens_local_servers_when_dist_presentverifies the dist-present path: fake dist withindex.html, both servers start, browser receives ahttp://127.0.0.1:*?load=http://127.0.0.1:*/scene.plyURL,stop_eventkeeps the test from blocking. test_load_default_config_parses_cleanlyupdated to expect the new default target.- 315 tests passing.
Real-world validation
First end-to-end smoke against
max_strasse.MP4— the same 5:35 drone pass that v1.2.0 left at 5/244 cameras and that v1.3.0 only rescued after a manual 4-clip cut.autosplat rescue max_strasse.MP4produced a 2.0 GB scene.ply with 490/493 cameras registered (99.4 %) in 5 h 36 min on M5, fully automatic. Pipeline trail in the logs:bisection.start duration_s=335.6 bisection.probe clip=0 cameras_registered=120 passed=true bisection.probe clip=1 cameras_registered=115 passed=true bisection.combine_start leaves=[0, 1] pipeline.adaptive_retry reason="low_camera_ratio: 0.03 < 0.5" matcher=sequential sfm.done cams=490 points=368582 quality_gate.passed ratio=0.9939 matcher=exhaustive train.done duration_s=8398 pipeline.done duration_s=20168Fly-through: YouTube. Updated hero asset in
docs/assets/max_strasse_autobisect_hero.*.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads