mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
At 180° and 360° of twist, Extrude & Bevel and Inflate drew some wall strips in the wrong order, and a far strip showed through a near one. Each strip ran the whole length of an outline edge and was sorted by the depth of its center, while a twisted wall can cross it far from that center. The caps were sorted the same way. Twisted walls and bevels are now drawn in pieces about as long as a wall slice is wide (fewer near the 32,768-facet limit), and twisted bevel steps turn at most 6° each, as wall slices do. A cap, or Inflate's flat back, that faces the viewer is drawn after the walls, and edge-on pieces of a twisted wall keep their own depth. Pieces that face the viewer are drawn where their strip as a whole faces away, so a twisted solid seen from behind shows its walls' corners around the back cap. Untwisted solids give the same facets as on main. Over 80 twisted squares, the facet seen over a point lay up to 79.7 pt behind a nearer facet on main and now lies at most 5.0 pt behind. "Twisted" in 72 pt type, extruded with a 360° twist, takes 12,311 facets instead of 7,622 and 3.1 ms instead of 1.9 ms. Docs: docs/three-d.md.