Skip to content

Web Viewer

The asset preprocessing project includes a FastAPI-based 3DGS web viewer for browsing processed scene assets in a browser.

Overview

  • WebGL 3DGS rendering โ€” Render scenes in-browser (e.g. GaussianSplats3D)
  • Dataset / scene browser โ€” Browse all scenes with compressed.splat
  • REST API โ€” Scene lists, metadata, splat files, thumbnails

Starting the Viewer

cd navarena-forge
python -m web_viewer.main --assets-dir /path/to/navarena_assets --port 41005

Arguments

Argument Description Default
--assets-dir V1 assets root directory /x2robot_v2/share/navarena-bench/navarena_assets
--host Bind address 0.0.0.0
--port Bind port 41005
--log-level Log level info

Display Condition

Only scenes that have compressed.splat appear in the list. Run the compress command first if you need web preview.

API Endpoints

List Datasets

GET /api/datasets

Response example:

[
  {"name": "x2robot", "scene_count": 42},
  {"name": "scenesplat", "scene_count": 15}
]

List Scenes

GET /api/datasets/{dataset}/scenes

Response example:

[
  {
    "scene_id": "17dc3367",
    "source": {},
    "map_info": {"resolution": 0.05},
    "splat_size_mb": 12.5,
    "has_labels": true,
    "has_nav_mask": true
  }
]

Scene Metadata

GET /api/scenes/{dataset}/{scene_id}/metadata

Returns full manifest.json.

Get compressed.splat

GET /api/scenes/{dataset}/{scene_id}/compressed.splat

For WebGL clients to load the 3DGS scene. URL ends with .splat for format auto-detection.

Thumbnail

GET /api/scenes/{dataset}/{scene_id}/thumbnail

Returns nav_mask.png as scene thumbnail.

labels.json

GET /api/scenes/{dataset}/{scene_id}/labels

Returns labels.json if present.

Frontend

Visit http://localhost:41005/ for:

  • Sidebar: dataset and scene list
  • Main area: WebGL 3DGS rendering
  • Scene metadata display
  • Orbit / pan / zoom controls

See also: Overview ยท CLI Commands