{{description>Reference for all data types used in the Curvy Generator: what they carry, how they relate to each other, and how to create your own.}} ====== Data Types ====== Every module in the Curvy Generator exchanges data through its slots. This page describes all the data types those slots can carry. ===== Type Hierarchy ===== Types can inherit from each other. A slot that accepts a [[#Shape]] will also accept a [[#Path]], because Path extends Shape (it carries everything Shape does, plus more). This lets you connect modules flexibly without needing exact type matches. Inheritance tree:
Root ├── Shape │ └── Path │ └── Volume ├── Bounds │ ├── GameObject │ └── VMesh ├── VSubMesh └── Spots===== Type Reference ===== Short descriptions of each type, from a user perspective. ==== Shape ==== A 2D outline made of sample points. Used for example as the cross-section in extrusions. Carries: * **Positions** - the 2D points of the outline (on the X/Y plane only) * **Normals** - the outward direction at each point * **Material and UV settings** - what points belong to which material, and what UV to apply