Hakan SevenandClaude Sonnet 4.6 97dbd80c93 feat: render active MSPACE viewport as a true 3D widget in paper space
When a paper-space viewport is activated (double-click / MSPACE command),
it is now rendered through its own dedicated PaperViewportPipeline rather
than the CPU-projection approach used for inactive viewports.

Architecture:
- PaperSheet widget (full-canvas): renders paper entities + CPU-projected
  content of all viewports *except* the active one.
- PaperViewportPane widget (Fixed w×h, positioned at viewport screen rect):
  renders the active viewport with a true 3D camera derived from the
  viewport's view_direction/view_target/view_height.

PaperViewportPipeline is a newtype of Pipeline.  Having a distinct type
gives it its own Iced storage entry (keyed by TypeId), preventing the
shared prepare() overwrite that broke the earlier per-viewport approach.

Changes:
- render.rs: PaperViewportPipeline, PaperViewportPrimitive newtypes;
  build_active_viewport_primitive(); build_paper_sheet_primitive() now
  excludes active_viewport from CPU projection.
- viewport_pane.rs: PaperViewportPane<'a> with shader::Program impl.
- mod.rs: viewport_content_wires() gains exclude_vp parameter;
  viewport_screen_rect() is no longer dead code.
- view.rs: paper_canvas_view() overlays PaperViewportPane when MSPACE
  is active.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 03:19:15 +03:00
2026-03-22 20:27:23 +03:00
2026-04-22 22:23:00 +03:00
2026-04-22 22:23:00 +03:00
2026-03-22 14:53:51 +03:00

H7CAD

resim

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

S
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.
Readme GPL-3.0
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%