cad-editor/src/scene
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 2145ab8a66 feat(render): phase 0 — render-mode pick_list + 3-flag pipeline plumbing
Replaces the binary Wireframe/Solid toggle with a 7-mode dropdown
that maps onto acadrust's `ViewportRenderMode` enum: Wireframe 2D /
Wireframe 3D / Hidden Line / Flat Shaded / Gouraud Shaded / Flat
Shaded + Edges / Gouraud Shaded + Edges. Per-tab state lives on
`DocumentTab::render_mode`; the old `SetWireframe` message forwards
to `SetRenderMode` so the ribbon + WIREFRAME / SOLID command line
keep working.

`scene::render::render_mode_flags()` translates the mode into three
pipeline-facing booleans (`face3d_fill`, `mesh_fill`,
`show_3d_edges`); `mesh_fill` / `show_3d_edges` are stubs that the
upcoming phases will consume. `Primitive` carries the derived
`view_wireframe` plus the two new fields through to `prepare()`.

`Pipeline::upload_face3d` takes a `wireframe_only` flag that drops
3DFACE quad fills (built from `key_vertices`) while keeping the
`all_wires.fill_tris` channel — that channel carries text-LOD greek
rectangles and PolyfaceMesh face triangles which must stay visible
in wireframe mode. 3DFACE edges stay on regardless of mode.

Solid3D mesh wireframe rendering, Hidden Line z-prepass, and Flat /
Gouraud shader uniforms come in phases 1–4.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:08:37 +03:00
..
pipeline feat(render): phase 0 — render-mode pick_list + 3-flag pipeline plumbing 2026-05-27 00:08:37 +03:00
acad_to_truck.rs feat(mtext): integrate every inline format code in MTEXT renderer 2026-05-21 23:42:22 +03:00
block_cache.rs refactor(scene/mod.rs): pull entity-specific helpers into entities/ 2026-05-23 23:26:14 +03:00
camera.rs chore: rename H7CAD to Open CAD Studio 2026-05-23 17:16:15 +03:00
complex_lt.rs cargo fmt 2026-05-12 10:36:15 +03:00
cxf.rs feat(text): route every text-bearing entity through the run-aware MText pipeline 2026-05-22 05:53:01 +03:00
dispatch.rs first commit 2026-03-22 14:56:27 +03:00
grip.rs chore: rename H7CAD to Open CAD Studio 2026-05-23 17:16:15 +03:00
hatch_model.rs feat(hatch): rasterise PAT pattern lines for paper canvas + PDF 2026-05-22 06:52:20 +03:00
hatch_patterns.rs chore: rename H7CAD to Open CAD Studio 2026-05-23 17:16:15 +03:00
hit_test.rs fix(scene): keep low-LOD objects visible and selectable 2026-05-20 06:07:04 +03:00
image_model.rs perf(scene): extend viewport scissor to hatch / image / wipeout passes (Phase 1.4) 2026-05-15 23:13:16 +03:00
mesh_model.rs chore: drop dead scene/IO helpers + simplify XATTACH command state 2026-05-16 00:10:20 +03:00
mod.rs refactor(entities): Solid3D/Region/Body accessor trio in entities/solid3d.rs 2026-05-26 17:22:02 +03:00
object.rs first commit 2026-03-22 14:56:27 +03:00
paper_canvas.rs fix(paper): handle NaN sentinels when building hatch fill path 2026-05-26 18:22:52 +03:00
properties.rs refactor(entities): collocate ui_name + dxf_name into entities/names.rs 2026-05-26 17:18:47 +03:00
quadtree.rs chore(quadtree): silence dead-code warnings on planned API 2026-05-17 19:34:56 +03:00
render.rs feat(render): phase 0 — render-mode pick_list + 3-flag pipeline plumbing 2026-05-27 00:08:37 +03:00
selection.rs Split large files: ribbon widgets and scene render/selection 2026-03-22 23:07:43 +03:00
solid3d_tess.rs feat(scene): scale Solid3D / Region / Body tessellation by header FACETRES 2026-05-20 04:51:26 +03:00
tess_util.rs refactor(tess): rename LegacyTess → FallbackTess 2026-05-23 23:16:57 +03:00
tessellate.rs refactor(entities): Solid3D/Region/Body accessor trio in entities/solid3d.rs 2026-05-26 17:22:02 +03:00
transform.rs cargo fmt 2026-05-12 10:36:15 +03:00
truck_tess.rs perf(scene): zoom-adaptive arc tessellation for hatch boundary outlines 2026-05-16 07:55:46 +03:00
viewport_pane.rs feat(render): phase 0 — render-mode pick_list + 3-flag pipeline plumbing 2026-05-27 00:08:37 +03:00
wire_model.rs cargo fmt 2026-05-12 10:36:15 +03:00