Every module in the Curvy Generator exchanges data through its slots. This page describes all the data types those slots can carry.
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
Short descriptions of each type, from a user perspective.
A 2D outline made of sample points. Used for example as the cross-section in extrusions.
Carries:
Extends Shape
A 3D curve made of sample points. Used for example as the spine along which shapes are extruded or objects are placed.
Carries everything Shape carries, plus:
The result of extruding a Shape along a Path. Contains the full 3D surface data needed to build a mesh.
Carries everything Path carries, plus:
A bounding box. Used to know the size of a mesh or GameObject, so other modules (like Volume Spots) can place objects without overlap.
Carries:
Extends Bounds
A reference to a Unity GameObject or Prefab, along with an optional local TRS offset.
Carries everything Bounds carries, plus:
Extends Bounds
Mesh data ready to be turned into a Unity Mesh. One VMesh can contain multiple submeshes (one per material).
Carries everything Bounds carries, plus:
One submesh within a VMesh. Each submesh is associated to one material slot on the final Unity mesh.
Carries:
A list of placement points. Each spot tells a module where to place an object and which object from the input array to use.
Carries, per spot: