feat: BOX, SPHERE, CYLINDER primitives + EXTRUDE / REVOLVE commands

BOX, SPHERE, and CYLINDER build truck topology solids and tessellate
them into MeshModels stored alongside a Solid3D placeholder entity so
the GPU mesh pipeline renders them immediately.

EXTRUDE picks any closed 2D profile (Circle, LwPolyline, etc.),
attaches a planar face via try_attach_plane, and translational-sweeps
it (tsweep Face → Solid) along Z by the given height.

REVOLVE picks a profile, two axis points, and an angle (default 360°),
then rotational-sweeps the wire (rsweep) around the axis.

Three new CmdResult variants drive the operations:
  CommitSolid3D, ExtrudeEntity, RevolveEntity.

Scene::layer_color() added to retrieve the active layer's RGBA color.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-08 12:55:28 +03:00
1 parent a773a1a1f1
commit 549ae38459
7 files changed
+592 -1

No files matched your search

+1
View File
@@ -6,6 +6,7 @@ pub(crate) mod create_block;
mod cylinder;
pub(crate) mod insert_block;
mod open_obj;
pub(crate) mod solid3d_cmds;
mod sphere;
pub(crate) mod wblock;
pub(crate) mod xattach;