4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 10:34:29 +08:00
nerfstudio/nerfactory/viewer/server
evonneng e516e668b9
[wip] added throttle so viewer doesnt crash (#411)
* added throttle so viewer doesnt crash

* fix rendering bug

* lint
2022-09-12 18:32:09 -07:00
..
state
__init__.py
path.py
README.md
server.py Add codec to webrtc (#399) 2022-09-11 19:14:58 -07:00
subprocess.py Kill the training script if the viewer ports are conflicting with other processes (#352) 2022-09-07 12:32:31 -07:00
utils.py
video_stream.py
viewer_utils.py [wip] added throttle so viewer doesnt crash (#411) 2022-09-12 18:32:09 -07:00
visualizer.py

Python Kernel and Client Viewer App communication

The purpose of this document is to explain how to communicate from Python with the Client Viewer app. We will eventually move this into the read the docs.

  • Python Kernel (nerfactory code)
  • Bridge Server
  • Client Viewer App

We have two types of components that we want to keep state updated in both locations.

  • Widgets
    • The widgets are used to keep track of the
  • SceneNode
    • The scene nodes are used to represent the three.js objects. The properties relevant to these objects are the following: "object", "transform", "properties".

Checklist

  • Currently using request-reply (REQ, REP with zmq). I.e., Python Kernel -> Bridge Server <-> Client Viewer App. We want a way to update the Python Kernel when the Bridge Server is updated. This requries some form of binding with callbacks. When the Bridge Server is updated, we want to update the binded Python variable. We can take inspiration from ipywidgets.