Releases: nerfstudio-project/viser
Releases · nerfstudio-project/viser
v1.0.10
v1.0.9
What's Changed
- Focal length improvements: Gaussian update synchronization, fix orbit crosshair scale by @brentyi in #573
- Fix docstring on camera position update behavior by @brentyi in #576
- Consistent shadow API for
add_mesh_trimesh()
, allow float input forreceive_shadow
by @brentyi in #578
Full Changelog: v1.0.8...v1.0.9
v1.0.8
v1.0.7
What's Changed
- BVH optimizations for instanced/batched meshes, fix rendering and display bugs by @brentyi in #558
- Fix
[0, 1]
<=>[0, 255]
conversion bug in RGBA picker component by @brentyi in #564 - Fix mesh mounting bottlenecks caused by hover outlines by @brentyi in #565
- Dirty flag for skinned meshes by @brentyi in #566
Full Changelog: v1.0.6...v1.0.7
v1.0.6
Fixes edge case when removing and re-adding clickable scene nodes.
Full Changelog: v1.0.5...v1.0.6
v1.0.5
Performance, dependency, and UI improvements.
What's Changed
- Remove opencv-python from strict dependencies, add imageio fallback by @brentyi in #537
- Fix batched mesh edge cases: off-by-one-frame,
client.get_render()
by @brentyi in #538 - Performance: optimize
add_box()
andadd_icosphere()
, docs on performance tips, refactor state management by @brentyi in #540 - Switch away from yarn, bump client dependency versions by @brentyi in #545
- Orbit crosshair, development flags UI, fix Javascript minification by @brentyi in #546
- Fix developer setting performance issues, RGBA encoding by @brentyi in #547
Full Changelog: v1.0.4...v1.0.5
v1.0.4
What's Changed
- Fix incorrect argument reference in build_client_entrypoint by @MosesEbere in #530
New Contributors
- @MosesEbere made their first contribution in #530
Full Changelog: v1.0.3...v1.0.4
v1.0.3
Same as 1.0.2
release, but fixed client metadata.
Full Changelog: v1.0.2...v1.0.3
v1.0.1
What's Changed
- Make
tyro
an examples-only dependency by @sea-bass in #516 - Add Python 3.13 to CI by @brentyi in #513
- Manually end event loop on exit to avoid nanobind reference leak warnings by @brentyi in #519
- Add
fixedDpr
debug flag by @brentyi in #520 - Update docs, add arXiv link by @brentyi in #523
- Fix RGBA regression for images, revisit media_type / format props by @brentyi in #512
Full Changelog: v1.0.0...v1.0.1
v1.0.0
First stable release of Viser. Thanks to everyone who helped 🙂
We also have a white paper coming soon™, please stay tuned for this!
New Features
Batched Mesh Rendering
- High-performance batched rendering for meshes and GLB files (#391, #438, #439, #449, #466, #467, #503, #504) - by @chungmin99
- Per-instance transformations, colors, and scales
- Automatic LOD (Level of Detail) for improved performance
Shadow Rendering
- Added shadow rendering support, with cascaded shadow maps for directional lights (#375, #397, #411, #412, #417) - by @beckyfeng08
Fast 2D Plotting
- Integrated uPlot for fast, real-time data visualization (#486) - by @slecleach
Collision Meshes for URDFs
Latency Compensation
API Changes
Breaking Changes
add_box()
andadd_icosphere()
now returnBoxHandle
andIcosphereHandle
instead ofMeshHandle
(#475)- Batched axes props now consistent with
add_batched_axes()
signature (#418)
Deprecations
- Most methods now require keyword arguments - positional arguments deprecated with warnings (#509)
- Warnings will be printed if the old API is used.
- Renamed APIs:
Additions
gui.add_html()
- render custom HTML content (#387)gui.add_text()
- now supports multiline text (#431) - by @zeroloveradd_point_cloud()
- addedprecision="float16"/"float32"
argument (#427) - by @ArthurAllshire- Transform controls callbacks:
on_drag_start
andon_drag_end
(#479) - File downloads with
save_immediately=
flag (#386) - Canvas size configuration support (#422) - by @zerolover
- Camera frustum variants option (#500)
add_box
andadd_icosphere
now have default arguments (#501)
Bug Fixes
This is a full list of merged PRs. Many of them address recent regressions, so it's not representative of bugs in prior releases.
Rendering & Display
- Fixed static analysis for button handles (#384)
- Fixed visibility toggle for directional lights and edge cases (#423, #434)
- Fixed uniform initialization in Gaussian splat shader (#447)
- Fixed point cloud shader compatibility for Firefox (#454)
- Fixed regression for broadcasted point cloud shape (#445)
- Fixed prop updates for batched meshes (#466)
- Fixed button rendering artifacts when varying
control_width
(#507)
Transform Controls & Scene Updates
- Fixed pose updates for re-added scene nodes (#490)
- Ensure transform control pose is updated after remounting (#492) - by @hongsukchoi
- Transform controls now flush update messages on drag end (#485)
Client/Server Communication
- Suppress key error when flushing disconnected clients (#440)
- Fixed slow image encoding in
_encode_image_binary()
(#494) - by @alberthli - Position notifications correctly when dummyWindowDimensions is set (#442)
- Fixed
gui.configure_theme(show_share_button=False)
(#426) - Improved file transfer robustness (#471)
- Client/server version consistency checking via WebSocket subprotocol (#441)
URDF & File Handling
- Fixed package name in error message (#410) - by @sea-bass
- Local import for
pyliblzfse
to avoid dependency issues (#498)
Performance Improvements
- Faster prop updates for meshes and point clouds (#388, #420)
- Faster GLB loading (#430)
- More efficient scene tree implementation (#478)
- Optimized control panel rendering (#484, #496, #497)
UI/UX Enhancements
- Redesigned control panel with improved organization (#484)
- Re-added visibility painting for scene tree table (#389)
- Minor GUI whitespace adjustments (#394)
- Support for non-literal colors in GUI components (#456)
- Added
dummyWindowDimensions=
anddummyWindowTitle=
search parameters (#402)
Infrastructure & Dependencies
- Upgraded to React 19, r3f v9, three r174, Mantine 7.17.2 (#409)
- Updated @react-three/drei to ^10.0.5 (#419, #425)
- Converted documentation from Markdown to RST (#421)
- Removed Google Analytics tag for privacy (#407) - by @kikislater
- Fixed Python 3.8 compatibility (#395)
- Upper-bounded dependency versions for stability (#502)
Examples & Documentation
- Added vertex selector to SMPL example (#433)
- Improved URDF documentation (#472)
- Reorganized examples and documentation (#474, #499, #506)
- Updated example code to avoid breaking pip installations (#446)
New Contributors
- @sea-bass made their first contribution in #410
- @kikislater made their first contribution in #407
- @zerolover made their first contribution in #422
- @ArthurAllshire made their first contribution in #427
- @slecleach made their first contribution in #486
- @hongsukchoi made their first contribution in #492
- @alberthli made their first contribution in #494