Skip to content

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 01 May 21:38
· 410 commits to master since this release

Features

  • OverlayFrame: new frame section for renderer-native semantic overlays (labels, scalar bars, rulers, images)
  • Font atlas with bundled default font and FontHandle for user-supplied TTF fonts
  • LabelItem: native text labels anchored to world-space or screen-space positions. Supports setting position, connecting line, text and bg colour, padding and border radius, offset, opacity, max width (px), z order and font (family and size).
  • ScalarBarItem: native colour-legend overlay. References an uploaded ColormapId and renders a gradient strip with evenly-spaced tick labels and an optional title directly in the overlay pass. Supports both vertical and horizontal orientations, all four viewport corner anchors, configurable dimensions, margin, tick count, font, and label colour.
  • RulerItem: two-point measurement overlay. Renders a line between two world-space endpoints with a distance label at the segment midpoint. The line is clipped to the viewport boundary when one endpoint pans off-screen sideways and is only culled when an endpoint goes behind the camera. End caps are only drawn at endpoints within the viewport. Supports configurable line width, end caps, label format string (e.g. "{:.2} m"), font, font size, line colour, and label colour.
  • Pick pipeline: removed back-face culling so two-sided meshes are pickable from both sides

Breaking changes

  • AnnotationLabel, draw_annotation_labels, world_to_screen, and world_to_screen_from_frame are removed. Use LabelItem in OverlayFrame instead.
  • The old paint-back ScalarBar type is removed. Use ScalarBarItem in OverlayFrame instead.
  • The egui feature flag is removed. Applications that previously declared features = ["egui"] in their viewport-lib dependency should remove that entry.

Fixes

  • Scalar buffer attribute lookup: simplified vertex/face attribute resolution path

Examples

  • Showcase (34) for new internal labels.
  • Showcase (35) for overlays: scalarbar, rulers, items