4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
nerfstudio/nerfactory/viewer/server
2022-09-21 17:56:18 -07:00
..
state Viewer refactor with state sync (#212) 2022-08-02 16:02:07 -05:00
__init__.py Rename repo to nerfactory (#204) 2022-07-25 13:52:20 -07:00
path.py Viewer refactor with state sync (#212) 2022-08-02 16:02:07 -05:00
README.md Viewer refactor with state sync (#212) 2022-08-02 16:02:07 -05:00
server.py Add codec to webrtc (#399) 2022-09-11 19:14:58 -07:00
subprocess.py Remove defaults from docstrings. (#480) 2022-09-19 10:04:25 -07:00
utils.py Export camera path (#398) 2022-09-13 11:33:58 -07:00
video_stream.py Hosting the viewer & webrtc logging (#271) 2022-08-14 00:15:34 -07:00
viewer_utils.py fix viewer checkpointing (#511) 2022-09-21 17:56:18 -07:00
visualizer.py Misc cleanup (#494) 2022-09-20 09:14:37 -07:00

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.