Logo
NeoArc Studio

Projection Sets

Projection sets group related projections as reusable templates and provide generic property slots for configurable, repeatable transformation patterns.

Reusable Projection Patterns

Projection sets group related projections that are commonly applied together. Instead of recreating the same property transformations for each new entity area, you define them once and apply the set. A set might include standard audit columns (created_at, updated_at, created_by), a soft-delete pattern (is_deleted, deleted_at), and a versioning pattern (version_number, previous_version_id). When applied to a projection, the set adds these properties with their transformations already configured.

Set Templates
Define a collection of property transformations as a reusable template. Common patterns like audit trails, soft deletes, and multi-tenancy columns become one-click additions.
Generic Slots
Set properties can define generic slots that resolve per-property when the set is applied. Each property resolves its slot independently rather than sharing a single type parameter.
Union Imports
Projections can union other projections to import entities by reference. Compose larger projection graphs from smaller, focused projections without duplicating definitions.
Apply and Customise
Apply a set to any projection, then override individual properties where needed. The set provides the baseline; you adjust the specifics for each target.

Generic Property Slots

Set properties can define generic slots that resolve per-property when the set is applied. This is not a shared type parameter where every property in the set resolves to the same type. Each property can resolve its generic slot independently. For example, a "history tracking" set might have a previous_value property with a generic slot. When applied to a string field, the slot resolves to varchar. When applied to a numeric field, the same slot resolves to integer. The resolution happens at the point of application, not at the point of set definition.

Projection Unions

Projections can union other projections to import entities by reference. This works similarly to SQL UNION or type library imports. A projection that defines shared reference data entities (countries, currencies, status codes) can be unioned into multiple downstream projections without duplicating those entity definitions. Changes to the source projection flow through to all consumers. This keeps entity definitions consistent across projection boundaries and reduces maintenance when shared structures change.