cad-editor/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 01d8b87db1 fix(solid3d): trim sphere caps and pierced cone legs
Sphere faces drew as complete balls. ACIS parametrises a sphere about
any pole, so a vessel's dished head is commonly bounded by a circle that
is no line of latitude in that frame, and a theta/phi bounding box of
such a boundary covers nearly the whole ball. Derive the window
analytically instead: when a face's loops are circles lying on the
sphere, re-pole the frame onto their common axis, where each seam is an
exact latitude at acos(d / R). One ring bounds a cap, two bound a zone;
the material side comes from the boundary winding, reusing the helper
the torus path already had.

Separately, the longitude wrap flag was resetting the colatitude window
to the whole meridian. A cap centred on the pole covers every longitude
while still ending at its seam, so that reset grew every cap back into a
ball. Trim the two angles independently and rename the flag theta_full
so the split reads at each use, including the silhouette generator,
which skipped the colatitude test the same way.

Cone faces took their height span from the first boundary loop alone. A
lateral face closed off by one rim and one pierce curve -- a pipe branch
meeting its run -- carries its two ends on different loops, so the tube
was sized to whichever came first and the leg above the junction went
undrawn. Read every loop.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 21:44:49 +03:00
..
app feat(insert): add docked block palette 2026-08-06 11:02:52 +03:00
entities refactor(render): unify scene rendering paths 2026-08-05 21:44:59 +03:00
io fix(update): delay notifications one hour 2026-08-04 13:00:33 +03:00
modules feat(insert): add docked block palette 2026-08-06 11:02:52 +03:00
plugin fix(plugins): harden marketplace loading 2026-07-30 16:34:07 +03:00
scene fix(solid3d): trim sphere caps and pierced cone legs 2026-08-06 21:44:49 +03:00
shaders feat(render): add scene environment pipeline 2026-08-05 23:42:18 +03:00
ui feat(insert): add docked block palette 2026-08-06 11:02:52 +03:00
cli.rs fix(renderer): add automatic compat fallback 2026-07-24 17:05:54 +03:00
command.rs fix(trim): handle lasso and box selection 2026-08-05 00:26:29 +03:00
config.rs feat(web): persist browser state 2026-07-29 00:44:00 +03:00
discussions.rs fix(plugins): trust platform certificates 2026-07-29 15:00:07 +03:00
i18n.rs feat(web): unify fonts and refine viewcube 2026-08-03 15:28:51 +03:00
lib.rs feat(locale): add Fluent translations 2026-08-02 18:53:38 +03:00
locale_catalog.rs feat(styles): overhaul style managers 2026-08-03 02:01:47 +03:00
main.rs feat(locale): add Fluent translations 2026-08-02 18:53:38 +03:00
network.rs fix(plugins): trust platform certificates 2026-07-29 15:00:07 +03:00
par.rs feat(wasm): sequential rayon shim for the web build 2026-06-16 17:11:20 +03:00
patreon.rs fix: normalize recent Patreon support 2026-08-04 12:17:21 +03:00
perf.rs perf(scene): make geometry edits incremental 2026-07-28 17:16:27 +03:00
snap.rs perf: expand spatial interaction indexing 2026-07-24 22:00:40 +03:00
sys.rs fix(linux): focus browser on external links 2026-07-30 21:07:31 +03:00
videos.rs fix(plugins): trust platform certificates 2026-07-29 15:00:07 +03:00