How mrnerf/lichtfeld-studio works
LichtFeld Studio is a native 3D Gaussian Splatting workstation. Its main user journey is to load a dataset or checkpoint, train or resume a scene, inspect and edit it interactively, then export a shareable result. The README also describes headless training, Python plugins and embedded Python, and MCP automation, so these appear as separate capabilities. The tree and excerpts support the application, image-loading, rendering, storage, and automation paths; several product-stage links are based on documented capabilities rather than inspected call sites.
Main entry points: application.cpp Application · training Training and resume · splat_exportable_storage.cpp Gaussian scene · mcp_operator_tools.cpp MCP tools
Components 19
Scene workflow
- Application
src/app/application.cpp - Image loader
src/io/pipelined_image_loader.cpp - Training and resume
src/training - Checkpoint format
src/core/checkpoint_format.cpp
Runtime and rendering
- Gaussian scene
src/core/splat_exportable_storage.cpp - SH value storage
src/training/sh_value_storage.cpp - Scene viewer
src/rendering/raster_rendering_engine.cpp - Vulkan rasterizer
src/rendering/rasterizer/vulkan/src/gs_pipeline.cpp - LOD uploads
src/visualizer/rendering/lod_upload_engine.cpp - Scene editing
src/visualizer
Automation and extension
- Embedded Python
src/python/lfs/py_pipeline.cpp - Python plugins
src/python - MCP tools
src/app/mcp_operator_tools.cpp - LLM client
src/mcp/llm_client.cpp
Export and delivery
- Export conversion
src/app/converter.cpp - PLY SOG SPZ HTML
src/app/converter.cpp
Other components
- User
- COLMAP dataset
- Local tools and agents
Connections 23
- User → Application: operates
- COLMAP dataset → Image loader: supplies images
- Application → Image loader: loads images
- Application → Training and resume: starts or resumes
- Checkpoint format → Training and resume: restores state
- Image loader → Training and resume: provides images
- Training and resume → Gaussian scene: updates splats
- Training and resume → SH value storage: stores SH values
- Gaussian scene → Scene viewer: provides scene
- Scene viewer → Vulkan rasterizer: renders with
- Gaussian scene → LOD uploads: uploads LOD data
- User → Scene editing: edits selection
- Scene editing → Gaussian scene: changes scene
- User → Export conversion: requests export
- Export conversion → Gaussian scene: reads scene
- Export conversion → PLY SOG SPZ HTML: writes formats
- User → Embedded Python: runs scripts
- Embedded Python → Scene editing: executes operations
- User → Python plugins: extends app
- Python plugins → Application: extends capabilities
- Local tools and agents → MCP tools: automates through
- MCP tools → Application: invokes tools
- MCP tools → LLM client: uses LLM client