mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-14 07:46:07 +00:00
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.