Meeting Notes 2017 03 01 - LLNL-Collaboration/uiuc2016 GitHub Wiki
Attendees
Joe
Kenny
Huck
Xingrui
Tong
Progress Review
Mock up a detailed view of the components/data flow for the mesh viewer websocket test using Powerpoint or a similar application (something similar to the diagram in issue 4).
Posted the finished diagram of the mesh viewer workflow in Slack (found here).
Finalize the implementation of the C++ websocket server that sends Blueprint mesh data continuously over a websocket (issue #12).
Implemented a C++ websocket server that sends the Blueprint mesh converted from Ming's format (source here).
Add an option to the C++ websocket server executable that allows the path to the Blueprint JSON file to be specified.
Didn't implement this feature for this week; hardcoded the Blueprint websocket server to search at a particular relative path instead to avoid absolute path issues.
Verify that the entire workflow properly functions by hooking up the mesh viewer to receive mesh data from the C++ websocket server.
Verified that the workflow worked properly. This workflow can be replicated by checking out the latest commit from the LLNL-Collaboration/conduit repository and running the "relay/t_relay_blueprint_websocket" test executable.
Upcoming Tasks
Change the data communication between the server and client so that only mesh updates are sent after the initial mesh state is sent.
Update the C++ websocket server so that it sends the whole mesh on its first send and then only the updated position list on each successive send (e.g. update the positions so that some subset of the points move each frame).
Update the mesh viewer client so that it renders the entire mesh when it receives in on the first update from the server and then only renders vertex position changes for each successive update.
Add support for sending and rendering field data.
Write a quick script that takes the "blueprint_mesh.json" file and adds a new per-element field that uses the value of the element's index in the elements array as its field value.
Update the C++ websocket server so that it sends updated field data on each update frame (e.g. by incrementing each field's value by 1).
Implement rendering of field data in the mesh viewer through a simple color map.