v0.10.0
·
404 commits
to master
since this release
Features
- Voxel picking: clicking on a ray-marched volume now identifies the individual voxel that was hit, returning its position, the face normal the ray entered on, and the raw scalar value at that voxel. Only voxels within the visible threshold range are considered, matching what the renderer draws.
- Voxel selection highlighting: selected voxels are outlined as wireframe cubes, consistent with how face, vertex, and point selections are highlighted.
- Voxel region select: rubber-band box selection works on volumes, collecting all visible voxels whose centers project inside the selection rectangle.
- Sub-object highlight rendering: the renderer now owns a dedicated highlight pass for face fills, edge outlines, and vertex/point sprites
- Set
InteractionFrame::sub_selectionto aSubSelectionRefsnapshot each frame; no more manualPolylineItem/PointCloudItemhighlight geometry SubSelectionRef::newbundles the selection with per-node CPU mesh data, model matrices, and point cloud positions- Face fill: translucent triangle overlay with polygon-offset depth bias (no z-fighting)
- Edge outlines: billboard line segments with clip-space depth nudge
- Vertex/point sprites: billboard disc sprites
- Style parameters on
InteractionFrame:sub_highlight_face_fill_color,sub_highlight_edge_color,sub_highlight_edge_width_px,sub_highlight_vertex_size_px - Generation-counter dirty tracking: GPU buffers are only rebuilt when the selection version changes
- Works on both the HDR (
render/render_viewport) and LDR (prepare+paint/paint_to) render paths
- Set
Fixes
pick_rect: hits are now keyed byPickId(scene node id) instead ofmesh_id.index(), makingRectPickResult.hitsconsistent withPickHit.idfrom ray picks and withSubSelectionkey conventions- Sub-object face highlights now correctly handle parry3d backface hits: face indices >= n_triangles are wrapped to the canonical triangle index, fixing highlights on meshes whose winding makes dome/outer faces appear as backfaces to the ray caster (e.g. the hemisphere geometry)