— Dave DeSandro (@desandro) May 28, 2019
The goal of the project is to provide tools that allow working with 3D objects as easily as with vector illustrations. The engine was created under the impression of the old computer game Dogz, in which flat two-dimensional figures based on sprite graphics were used to form a 3D environment.
Models of 3D objects in Zdog are formed using a simple declarative API and are linked by snapping and grouping simple shapes, such as rectangles, circles, triangles, segments, arcs, polygons, and curves. In Zdog, rounded shapes are used, with no pronounced polygonal irregularities. Simple shapes are visualized into more complex three-dimensional representations, such as spheres, cylinders and cubes. From the point of view of the developer, spheres are defined as points, tori as circles, and capsules as thick lines.
The constituent elements of objects are processed taking into account their relative positions and fastening with invisible anchors. All dynamic properties, such as transforms, rotations, and scaling, are vector operations defined using a Vector object. Polygon grids are supported for features.