4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
nerfstudio/nerfactory/viewer/server
Ethan Weber 2cca012ad8
Clickable viewer deployment (#308)
* first commit for clickable web viewer

* pylint ignore

* functional clickable viewer with updated docs

* fixed logging
2022-08-29 22:50:57 -07:00
..
state Viewer refactor with state sync (#212) 2022-08-02 16:02:07 -05:00
__init__.py
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 Clickable viewer deployment (#308) 2022-08-29 22:50:57 -07:00
subprocess.py Clickable viewer deployment (#308) 2022-08-29 22:50:57 -07:00
utils.py Viewer refactor with state sync (#212) 2022-08-02 16:02:07 -05:00
video_stream.py Hosting the viewer & webrtc logging (#271) 2022-08-14 00:15:34 -07:00
viewer_utils.py Clickable viewer deployment (#308) 2022-08-29 22:50:57 -07:00
visualizer.py Viewer refactor with state sync (#212) 2022-08-02 16:02:07 -05: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.