mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
Extrude & Bevel and Inflate built one solid from the path, painted with the object's top fill or, without a fill, its top stroke. A filled and stroked object lost its stroke, and a stroked open path was extruded as the area it would enclose if it were closed. Each visible stroke now builds a solid from its outline in its own paint, beside the solid the top fill builds from the path, as Rotate already turns each stroke's outline. When the fill and the strokes are opaque with normal blending, the faces of all the solids are drawn in one back-to-front order; otherwise each solid is drawn on its own, in the order of the appearance. Under a light that is not white, a surface drawn as one composite or with an opacity mask is also drawn on its own. In that one order a flat cap turned toward the viewer is drawn after every other face, untwisted solids included, so the stroke's front cap covers the fill's walls inside it. The solids share one set of bounds, and with Perspective one eye sees every inflated solid. A stroke whose outline is past the 2,048-point limit is left out. Inflate's cells cut by a hole now pass only the nearby contours to the boolean. An inflated, outlined 72 pt "VectorCraft" takes about 8 ms instead of 34 ms, and 66 ms with a 3 pt stroke. Docs: docs/three-d.md (Fills and strokes), docs/target-app-parity.md.