mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-12 02:45:34 +08:00
* initial commit for viewer refactor * updating name change to nerfactory * adding headers * making the rendering fix which broke from a merge * things are starting to work. removing old commands now * removed prints * cleanup * updating state works now even for nested dictionaries * updating state in redux. listening for state changes. trying to draw three.js now * added drawing functionality. need to fix translation of frustums and image planes * images and frustums drawn correctly * fixing lint * github actions * back to npm * fixing eslint * remove package.json from root * new favicon * some viewer cleanup * notebook * fixed camera drawings speed to avoid redraw * trying to get Leva to update * quick fix * synced config panel * adding notebook * fixing output print error
1.0 KiB
1.0 KiB
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".
- The scene nodes are used to represent the three.js objects. The properties relevant to these objects are the following:
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.