Create a Voxel Model Variant
Overview
Section titled “Overview”Add a variant to an existing static voxel-model asset-generation version
(asset_kind = "voxel-model", one model sculpted from opaque voxels into a
[voxel] volume).
Creating a Voxel Model Variant
is the full procedure.
A variant varies the brief the model sculpts toward: a tighter palette, a
stricter operation budget, an added technique or rule. It may also declare its
own [voxel] table, which replaces the case’s volume for runs of that variant.
The asset_kind is version-level, and an asset-generation case declares no
references, so resolution rejects a reference on the case or on any variant.
- Choose a consistent slug (
symmetric) and display name (Mirror-Symmetric) naming the constraint the variant imposes. Favour one a reviewer can observe in the regenerated model. - Write
specs/<slug>.mdas an additive brief, stated as a delta against the common brief (“same subject and volume, except …”) with precise, testable terms such as exact colors, an operation cap, or the required technique. It may reference the common specs. It may not reference another variant’s spec. - Create
variants/<slug>.toml, a standalone TOML file whose top-level keys are the variant’s fields, and add its path to thevariantslist intest-case.toml. The first entry in that list is the default variant.
slug = "symmetric"name = "Mirror-Symmetric"description = "Same subject and volume, built left/right symmetric using the mirror op."spec = [{ source = "specs/symmetric.md" }]A spec entry’s dest defaults to its source with any trailing .hbs removed.
Spec entries are additive on the common specs, and within one variant two seeded
entries may not share a dest. An asset-generation case is judged on one
overall rating, so a variant declares no [[review_item]].
Varying the volume
Section titled “Varying the volume”A variant that declares a [voxel] table runs at that volume in place of the
case’s. Declare width, height, depth and background exactly as the case
does. A brief that has to state its dimensions reads them from the
spec-template context as
{{voxel.width}}, {{voxel.height}}, {{voxel.depth}} and the inclusive
maximum index on each axis, so one .hbs brief serves every size.
Validate
Section titled “Validate”tcab seed --test-case <slug> --version <version> --variant <new-variant>tcab prompt --test-case <slug> --version <version> --variant <new-variant>Seed and render the new variant, then repeat for the existing variants to confirm nothing else changed, the brief resolves self-contained, and each variant’s effective volume is the one you intended.