Files
vectorcraft/crates/three-d
Drew Dibble 2f8b4ddeca 3D: a tapered Extrude & Bevel wall is one face
Extruded type with a taper showed a row of light ticks along its walls,
and with a stroke a long light line down a wall (#7019).

A taper only scales each wall's far edge toward the center of the
bounds as it goes back: the scale is linear in depth, so without a
twist each wall stays a flat trapezoid, bevel bands included. The walls
were cut into 8 slices all the same, and at every joint between slices
a neighbor's seam painted a light tick onto the wall. Walls are now cut
into slices only for a twist, which bends them; the ticks and the long
line are gone from tapered, untwisted walls. Twisted walls and Inflate's
sides are sliced as before.

A tapered wall now draws like an untapered one, with three effects:
- A wall seen almost edge-on ends in one longer sliver instead of the
  last of its slices. With mitered seams that sliver's thorn is longer;
  round seam joins (#6980) keep it within half the seam's width.
- Its seam is as wide as an untapered wall's (the width follows the
  face's thickness, up to 0.75 pt), wider than a slice's was.
- It is sorted by one depth, like an untapered wall, so at a concave
  corner it can be drawn over a nearer face where the slices had
  happened to avoid that (#7023).

Test: solid::tests::a_tapered_wall_is_one_flat_face_and_a_twisted_one_is_sliced
checks that a tapered square's four walls are four flat faces, that a
taper adds no faces to a circle's walls, with bevels (both sides,
inside), in perspective or hollow, and that a twisted wall is still
sliced. With taper slicing it fails (32 wall faces for the square's 4,
608 for the circle's 76).

Docs: docs/three-d.md, docs/target-app-parity.md.
2026-11-12 20:14:43 -07:00
..