# viser-project/viser

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/viser-project-viser).**

2,633 stars · 199 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/viser-project/viser
- Homepage: https://viser.studio/main
- awesome-repositories: https://awesome-repositories.com/repository/viser-project-viser.md

## Topics

`python` `visualization` `web`

## Description

Viser is a Python 3D visualization framework and remote scene server that renders 3D primitives, point clouds, and meshes in a web browser. It functions as a server-client system that synchronizes scene state and camera poses to a web client via WebSockets.

The framework provides specialized capabilities for robotics and computer vision, including a URDF robot visualizer for loading robot models and joint states, as well as a GPU-accelerated Gaussian splatting viewer for high-fidelity volumetric rendering. It also supports the visualization of human body models and skinned meshes for pose analysis.

The system includes tools for building interactive web interfaces with GUI controls, command palettes, and embedded data visualizations. These interfaces allow for direct interaction with 3D scenes, including camera state management, object selection via ray-casting, and the ability to stream visualizations from remote servers over SSH.

## Tags

### Graphics & Multimedia

- [3D Scene Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/gpu-accelerated-ui-rendering/3d-scene-renderers.md) — Functions as a remote server that streams 3D primitives and spatial data to a web client for real-time inspection.
- [Remote 3D Scene Servers](https://awesome-repositories.com/f/graphics-multimedia/remote-3d-scene-servers.md) — Implements a backend system that synchronizes 3D scene state and camera poses to a web client via WebSockets.
- [Point Cloud Visualizers](https://awesome-repositories.com/f/graphics-multimedia/3d-model-visualizers/point-cloud-visualizers.md) — Renders point clouds, meshes, and coordinate frames to visualize complex spatial data and transformations. ([source](https://viser.studio/))
- [Primitive Rendering](https://awesome-repositories.com/f/graphics-multimedia/3d-primitive-generation/primitive-rendering.md) — Renders 3D shapes and objects in a web client to visualize spatial data for robotics and vision. ([source](https://viser.studio/examples/getting_started/))
- [Computer Vision Debugging Tools](https://awesome-repositories.com/f/graphics-multimedia/computer-vision-debugging-tools.md) — Allows for the inspection of point clouds and meshes to debug vision algorithms and spatial mapping.
- [Client Side Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/dom-web-rendering-strategies/client-side-rendering.md) — Offloads 3D scene composition and primitive rendering to the browser using a WebGL-based graphics library.
- [Gaussian Splatting Viewers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/3d-rendering-engines/browser-based-3d-visualizations/gaussian-splatting-viewers.md) — Provides a GPU-accelerated browser-based viewer for interactively exploring 3D Gaussian splatting models.
- [Spatial Object Manipulation](https://awesome-repositories.com/f/graphics-multimedia/immersive-interactive-systems/user-interaction/spatial-object-manipulation.md) — Provides synchronized 3D viewports and GUI controls to manipulate three-dimensional geometry.
- [Python 3D Visualization Frameworks](https://awesome-repositories.com/f/graphics-multimedia/python-3d-visualization-frameworks.md) — Offers a Python-based framework for rendering 3D primitives, point clouds, and meshes in a web browser.
- [Robot Model Visualizations](https://awesome-repositories.com/f/graphics-multimedia/robot-model-visualizations.md) — Provides interactive rendering of robot geometry and joint states via URDF files. ([source](https://viser.studio/))
- [Interactive Controllers](https://awesome-repositories.com/f/graphics-multimedia/spatial-data-analysis-tools/interactive-controllers.md) — Provides custom GUIs with sliders and buttons to programmatically adjust 3D geometry and camera viewpoints.
- [3D Viewpoint Control](https://awesome-repositories.com/f/graphics-multimedia/3d-viewpoint-control.md) — Allows programmatic management of camera perspectives, including position and orientation, for automated scene viewing. ([source](https://cdn.jsdelivr.net/gh/viser-project/viser@main/README.md))
- [Camera Interaction Controllers](https://awesome-repositories.com/f/graphics-multimedia/camera-systems/camera-interaction-controllers.md) — Tracks and controls camera poses in real-time to manage position and orientation. ([source](https://viser.studio/))

### Part of an Awesome List

- [Gaussian Splat Rendering](https://awesome-repositories.com/f/awesome-lists/ai/gaussian-splatting/gaussian-splat-rendering.md) — Provides a specialized GPU pipeline to render high-fidelity 3D scenes represented as 3D Gaussians.
- [URDF Parsing and Visualization](https://awesome-repositories.com/f/awesome-lists/devtools/robot-modeling/urdf-parsing-and-visualization.md) — Parses URDF files to construct and visualize kinematic chains and joint hierarchies for robot models.
- [Visualizers](https://awesome-repositories.com/f/awesome-lists/ai/3d-human-mesh-recovery/visualizers.md) — Renders skinned meshes and body models to analyze human anatomy and movement parameters.
- [Debugging Tools](https://awesome-repositories.com/f/awesome-lists/ai/robotics-simulators/debugging-tools.md) — Visualizes URDF robot models and joint states in a browser to analyze kinematic movements.

### Data & Databases

- [Three-Dimensional Visualizations](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/data-visualization/three-dimensional-visualizations.md) — Displays data in 3D space to analyze spatial relationships in robotics and computer vision. ([source](https://cdn.jsdelivr.net/gh/viser-project/viser@main/README.md))

### Development Tools & Productivity

- [3D Visualization Integrations](https://awesome-repositories.com/f/development-tools-productivity/python-api-integrations/3d-visualization-integrations.md) — Provides a programmatic Python interface to embed 3D rendering and interactive controls for technical data visualization. ([source](https://viser.studio/_sources/index.rst.txt))
- [Frameworks](https://awesome-repositories.com/f/development-tools-productivity/python-api-integrations/3d-visualization-integrations/frameworks.md) — Provides a server-client system for rendering 3D primitives, point clouds, and meshes in a web browser using Python.

### Hardware & IoT

- [Robotics Visualization Tools](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-integration/device-sensors/remote-sensor-queries/sensor-data-visualizers/robotics-visualization-tools.md) — Provides specialized tools for visualizing coordinate transforms, point clouds, and synchronized robotic data.

### Networking & Communication

- [Remote Procedure Call Bridges](https://awesome-repositories.com/f/networking-communication/remote-procedure-call-bridges.md) — Facilitates communication between the Python host and web client via serialized command messages to execute server-side logic.

### User Interface & Experience

- [3D Scene Interaction Handlers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/general-interaction-frameworks/interaction-models/event-driven-interaction-handlers/3d-scene-interaction-handlers.md) — Enables remote manipulation and interaction of 3D environments via a web client. ([source](https://cdn.jsdelivr.net/gh/viser-project/viser@main/README.md))
- [Interactive Interface Design](https://awesome-repositories.com/f/user-interface-experience/interactive-graphics/interactive-interface-design.md) — Facilitates the development of custom visual interfaces that respond to user input to control 3D scenes. ([source](https://viser.studio/examples/getting_started/))
- [GUI Widget Toolkits](https://awesome-repositories.com/f/user-interface-experience/gui-widget-toolkits.md) — Provides a toolkit of buttons, sliders, and modal dialogs to build interactive GUIs for scene control. ([source](https://cdn.jsdelivr.net/gh/viser-project/viser@main/README.md))

### Web Development

- [WebSocket State Synchronization](https://awesome-repositories.com/f/web-development/state-syncing-reactivity/websocket-state-synchronization.md) — Synchronizes real-time scene state and user interactions between the server and client using bidirectional WebSockets.
- [Web 3D Frameworks](https://awesome-repositories.com/f/web-development/web-3d-frameworks.md) — Provides a framework for building web-based interfaces with synchronized 3D viewports and interactive GUI controls.
- [Declarative UI Layouts](https://awesome-repositories.com/f/web-development/declarative-ui-layouts.md) — Provides a system for defining complex user interface structures on the server that map to client-side widgets.

### Artificial Intelligence & ML

- [Visualizers](https://awesome-repositories.com/f/artificial-intelligence-ml/foundation-models/3d-reconstruction/visualizers.md) — Provides capabilities to parse and visualize sparse reconstruction outputs and 3D scans from external tools. ([source](https://viser.studio/))
- [Visualizers](https://awesome-repositories.com/f/artificial-intelligence-ml/parametric-human-model-fitting/visualizers.md) — Displays human body models using pose parameters and skinned mesh deformation for anatomy analysis. ([source](https://viser.studio/))

### DevOps & Infrastructure

- [Remote Visualization Streaming](https://awesome-repositories.com/f/devops-infrastructure/remote-visualization-streaming.md) — Allows users to stream and interact with 3D scenes hosted on remote servers over SSH. ([source](https://cdn.jsdelivr.net/gh/viser-project/viser@main/README.md))

### Game Development

- [Object Selection Ray Casting](https://awesome-repositories.com/f/game-development/physics-engines/collision-detection/ray-and-shape-casting/object-selection-ray-casting.md) — Implements ray-casting from the camera through the cursor to enable precise selection and manipulation of 3D objects.
