Releases: microsoft/scenepic
v1.1.1
v1.1.0
This minor release marks the first major Milestone release of Scenepic. This release addresses many of the long-standing issues in the v1.0.0 release and adds new features and functionality as well.
Features
- Text burning into individual video frames (for
VideoWriter
- Per-frame layer settings
- The dropdown menu visibility can be directly controlled via
UIParameters
- A
standalone
parameter has been added tosave_as_script
to enable the creation of standalone scripts. - The
status_bar_visibility
of aScene
can now be set (i.e. it is now possible to hide the status bar if desired.) - There is now a new camera control mode, "First Person", accessible by pressing Tab, which enables mouse-look and
wasdqe
movement controls. The old mode, now called "Focus", is still available as the default. - Font scale is now configurable on
VideoWriter
- There is now a "reset camera" button on the control bar so that users without a keyboard can reset camera position
- Can now update colors per frame for both meshes and instanced meshes
quaternion_multiply
adds the long-missing code to combine quaternion rotationsCamera.orbit
creates a sequence of orbiting cameras around a central point- Can specify text alignment and size for graph labels and values
- Can add vertical rules to separate out horizontal regions of the graph
save_html
can now separate out the script and library components (for easier testing of new Typescript library features)- Keyboard shortcuts for toggling layer visibility.
- Ability to pick the centroid of a mesh as a focus point by clicking on it while in focus point selection mode.
- Pan/zoom functionality to 2D canvases.
- Full pinch, zoom and rotate with two fingers is now supported
Improvements
- Added new
hello_scenepic.py
andhello_scenepic.cpp
example code - Added a clang-format pipeline and build targets
- Normalized C++ file format
- Stub files for all classes properly expose the docstrings in VS Code and other editors, thus making development in Python considerably easier.
- The missing methods for a variety of classes have been added to the python docs
- The version of pybind11 has been bumped to the latest release
- Notebooks that contain scenepic are now correctly displayed in Jupyter notebooks within VS Code
Bug Fixes
load_obj
now correctly loads normals when present in the OBJ fileMeshInfo
now exposes normals- C++ build typos now fixed
- Fixed erroneous pipeline triggers
- While transparent backgrounds were supported by the library, it was not exposed via the client APIs. This has been fixed via a 4D color parameter for
Shading
. - Coordinate axes bug
- Negative angle bug
- Mesh Update for instanced meshes
- Standalone scripts were missing a newline as a result of recent NPM changes. This is now added in manually in the script generation process.
- Dropdown menus will now correctly appear on top of canvases in the z-order
- Dropdown menus will align on the opposite side if not doing so would result appearing outside the viewbox
Deprecated
update_mesh_without_normals
has been deprecated in favor of the new methodupdate_mesh_positions
v1.0.19
v1.0.18
v1.0.17
v1.0.16
Point release fixing an issue with Jupyter rendering order.
Previously, when a Jupyter notebook containing Scenepic cells was
loaded after having been saved, the outputs would appear out
of order within the notebook. Also, the full library was written into
each cell, resulting in a lot of duplicate Javascript for notebooks
which included heavy use of the library. The new solution uses a few
elements to avoid this:
- The library is written as an external script file in the same directory
as the notebook. This has the advantage of making debugging the
Typescript library easier (this is a return to previous functionality). - The library is loaded once via a single
script
tag - Each cell is assigned a unique ID that is used by scenepic to target it
- When reloading a saved notebook, order is preserved due to the use of
the unique ids.
v1.0.15
v1.0.14
Point release adding additional graph features.
New Features:
- Can specify text alignment and size for graph labels and values
- Can add vertical rules to separate out horizontal regions of the graph
save_html
can now separate out the script and library components
(for easier testing of new Typescript library features)
v1.0.13
v1.0.12
Point release to add a new script for generating the example scripts used on
the documentation webpage.
Bug Fixes:
- Standalone scripts were missing a newline as a result of recent NPM changes.
This is now added in manually in the script generation process.