0beb589f2c976386edc86fcfce500130c45cd6f0
Four bugs prevented viewports from working like AutoCAD model-space windows: 1. Dead-code double-click block: `!is_down2` was always false because `is_down2 = sel.left_down` is captured while the button is still held (before the selection block clears it). Changed to `is_down` so the double-click handler actually fires. 2. Inverted pan direction: pan_active_viewport used `-=` on the delta returned by screen_delta_to_world, which is the same delta that cam.pan *adds* to its target — causing reversed drag. Changed to `+=`. 3. Zoom not cursor-centered: zoom_active_viewport now accepts an optional paper-space cursor position and adjusts view_target so the model point under the cursor stays fixed (same as cam.zoom_about_point). 4. ESC did not exit MSPACE: CommandEscape now calls ExitViewport when active_viewport is set and no command is running. Also added MS/MSPACE and PSPACE command aliases, and MspaceCommand / PspaceCommand messages so MS auto-enters the first viewport. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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%