Meeting Notes 2017 03 15 - LLNL-Collaboration/uiuc2016 GitHub Wiki
Attendees
Joe
Kenny
Ming
Cyrus
Huck
Xingrui
Tong
Progress Review
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).
Updated the code to send minimal updates for positions and topologies on each update after the initialization.
Update the mesh viewer client so that it renders the entire mesh when it receives it on the first update from the server and then only renders vertex position changes for each successive update.
Updated the mesh viewer code so that it properly interprets update messages and adjusts the mesh rendering appropriate based on these updates.
Revise the mesh viewer client code so that it recalculates the bounding box of the rendering view when new mesh positions are received from the server.
Added the MeshViewer._computeView function to the mesh viewer code, which properly adjusts the view when rendering updated versions of the mesh.
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.
Unable to complete this task for this week, but will use HDF5 example files going forward to have more complete Blueprint mesh examples with fields.
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).
Unable to complete this task for this week.
Implement rendering of field data in the mesh viewer through a simple color map.
Added the capability to render a front-end computed field in the mesh viewer with a random color map.
Upcoming Tasks
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 only sends updated position and field data on each update frame by sending the whole new array for each quantity.
Implement rendering of field data in the mesh viewer through a linear color map (see here and here for examples).
Attempt to render more complete mesh examples using Conduit's example meshes.
Change the C++ Blueprint server implementation to send out mesh updates for a Conduit example mesh (which can be retrieved by calling conduit::blueprint::mesh::examples::braid("quads", 20, 20, 1, node)) instead of the translated version of Ming's mesh .
Add an update function that arbitrarily perturbs the example mesh's positions and fields to verify that the update functionality works with the more complex Conduit example mesh.