9a1211842d319840c3d639df1fc88ee3808d3562
Add two epoch-keyed caches to eliminate per-frame work in paper-space layouts: paper_sheet_cache — caches wires_for_block(layout_block) as Arc<Vec<WireModel>>. Previously paper_sheet_wires() re-tessellated all paper-space entities (title block, annotations, viewport borders) on every mouse-move frame. Now it is an O(1) Arc clone. entity_wires_arc() reuses the same cache so a geometry-change frame triggers only one tessellation pass even when both the GPU renderer and the Iced canvas are active. paper_projected_cache — caches projected+clipped wires per viewport handle. viewport_content_wires() now uses model_wires_for_viewport_arc() for the tessellation step (already O(1) via viewport_wire_cache) and stores the projection+clip result keyed by (vp_handle, epoch). Navigation frames (pan/zoom on the paper sheet) are O(N_viewports) Arc/slice copies instead of O(N_entities × N_points × N_viewports) tessellate+project work. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
H7CAD
A CAD application for 2D/3D drawing and design, built with Rust.
Features
- 2D drafting and 3D modeling
- DXF file import/export
- GPU-accelerated rendering via WebGPU
- Snap and annotation tools
- Modular ribbon interface (Home, Annotate, Insert, View, Manage)
Installation
Flatpak (Linux)
Download H7CAD.flatpak from the latest release, then:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install H7CAD.flatpak
flatpak run io.github.HakanSeven12.H7CAD
Build from Source
Requirements: Rust 1.75+
git clone https://github.com/HakanSeven12/H7CAD.git
cd H7CAD
cargo build --release
./target/release/H7CAD
License
GPL-3.0-only — see LICENSE
Description
OneBSpace rebrand of OpenCADStudio -> OneCAD Draft (2D drafting / 3D modeling studio) + native Odoo Documents integration (open/save/write-back). Member of the OneCAD family. Upstream: opencadstudio-upstream. Addon: one_cad_draft.
249 MiB
0 Stars
1 Watchers
0 Forks
Languages
Rust
70.8%
Fluent
27.8%
WGSL
0.5%
Python
0.3%
TypeScript
0.2%
Other
0.2%