This launcher installs and runs Robbyant's LingBot-Map, a streaming 3D reconstruction demo with a browser-based viser viewer.
The launcher is aimed at NVIDIA machines and installs the upstream CUDA 12.8 PyTorch stack (torch==2.9.1, torchvision==0.24.1). On Linux it follows the upstream default backend by installing FlashInfer. On Windows it falls back to --use_sdpa, because the official FlashInfer Python package is documented as Linux-only.
- Clones the upstream
lingbot-maprepository intoapp/ - Creates the app virtual environment in
app/env - Installs the upstream package with visualization dependencies
- Downloads the default
lingbot-map.ptcheckpoint intoapp/checkpoints/ - Prefetches the
skyseg.onnxsky-segmentation model intoapp/so--mask_skyruns do not stall after the viewer URL appears - Launches the upstream
demo.pyviewer on an automatically assigned Pinokio port - Adds a single-screen
Launchpadweb UI for examples, custom folders, custom videos, and model downloads - Exposes ready-to-run example scenes plus custom image-folder and video pickers
- Exposes explicit
Low VRAMpresets based on the upstream memory-saving flags and cache-window controls fromdemo.py
- Click
Install. - After install finishes, open
Launchpadfor the one-screen control UI, or use the classic nested sidebar menus if you prefer. - Use
Example Scenesto launch the bundled church, oxford, university, or loop samples. - If VRAM is tight, use the
Low VRAMsubmenu in each section instead of the standard run. - On Windows, prefer the
Low VRAM (SDPA Fallback)entries. They reduce frame count and also shrink the retained KV-cache window. - Use
Custom Imagesto point LingBot-Map at your own image folder. - Use
Custom Videoto select a local video file and run streaming reconstruction. - If you want the long-sequence checkpoint, open
Modelsand downloadlingbot-map-long.pt. Once it exists, theLong Video (Windowed, Lower VRAM)shortcut appears automatically.
- Linux installs FlashInfer and uses the upstream default backend. Windows uses the SDPA fallback.
- The Windows SDPA path now restores the more conservative April 17 launcher defaults for standard runs:
--num_scale_frames 2on scene/image launches, plus--keyframe_interval 6on loop/video-style launches. - The low-VRAM presets combine upstream knobs that reduce memory pressure:
--num_scale_frames 2,--keyframe_interval 6,--camera_num_iterations 1, and on SDPA runs a lower--kv_cache_sliding_window. - Upstream advertises its fast streaming path with paged KV cache attention. On Windows, where this launcher cannot use the official FlashInfer package, expect worse speed and higher VRAM than the Linux/FlashInfer path.
- The upstream viewer prints a local browser URL, and the launcher captures that URL to expose
Open Viewer. Launchpadis a local HTML control surface inside the launcher. Its buttons forward into the existing Pinokio scripts, so the new UI does not replace the underlying install/start/update/reset flows.- Outdoor examples use
--mask_skybecause the upstream repo recommends it for better visualization. - The launcher now downloads
skyseg.onnxduring install/update and also before launch if an older install is missing it, so sky masking does not start with a delayed in-app download afterOpen Viewerappears. - Reset removes the cloned
app/folder, including the environment, checkpoints, and cached example outputs created inside it.
LingBot-Map itself is a Python application rather than a REST API. The practical automation surface is the upstream demo.py command plus direct checkpoint downloads.
import { spawn } from "node:child_process";
spawn(
"python",
[
"demo.py",
"--model_path",
"checkpoints/lingbot-map.pt",
"--image_folder",
"example/church",
"--mask_sky",
"--port",
"8080"
],
{
cwd: "app",
stdio: "inherit"
}
);import subprocess
subprocess.Popen(
[
"python",
"demo.py",
"--model_path",
"checkpoints/lingbot-map.pt",
"--video_path",
r"C:\data\sequence.mp4",
"--fps",
"10",
"--port",
"8080",
],
cwd="app",
)curl -L -o app/checkpoints/lingbot-map.pt \
https://huggingface.co/robbyant/lingbot-map/resolve/main/lingbot-map.pt
curl http://127.0.0.1:8080/The first curl downloads the default checkpoint directly from Hugging Face. The second curl is a simple readiness probe for the viewer once demo.py is already running.
If you need the Windows fallback explicitly, add --use_sdpa. If you need lower VRAM on SDPA, also lower --kv_cache_sliding_window, for example --kv_cache_sliding_window 16.