API Reference — dna/layers/Descriptor
Archetype
Character archetype stored in the DNA descriptor.
Why this exists
DNA assets carry per-archetype rig data such as blend shape weights and joint ranges. Using a strongly-typed enum prevents raw integer or string mismatches at call sites and ensures only valid archetype identifiers reach the configuration system. The alien and other values extend coverage beyond human demographics to stylised and non-human characters.
Fields
| Name | Type | Description |
|---|---|---|
asian |
enumerator | Asian archetype. |
black |
enumerator | Black archetype. |
caucasian |
enumerator | Caucasian archetype. |
hispanic |
enumerator | Hispanic archetype. |
alien |
enumerator | Alien archetype. |
other |
enumerator | Any other archetype. |
Construction
dna::Archetype archetype = dna::Archetype::caucasian;
Relationships
Gender— declared alongside it in the same headerGender— companion demographic attribute defined in the same headerConfiguration— consuming header that imports this enum
Gender
Character gender stored in the DNA descriptor.
Why this exists
Separating gender from archetype avoids a combinatorial explosion of a single enum while keeping both demographic axes as first-class, type-safe identifiers. The other value handles non-binary and unspecified cases without requiring a nullable or sentinel type.
Fields
| Name | Type | Description |
|---|---|---|
male |
enumerator | Male. |
female |
enumerator | Female. |
other |
enumerator | Any other value. |
Construction
dna::Gender gender = dna::Gender::female;
Relationships
Archetype— declared alongside it in the same headerArchetype— companion enum defined in the same header; used together for full demographic identificationConfiguration— header imported alongside this definition