Nominal Appearance#
Code |
CG.011 |
|---|---|
Validator |
|
Applies to |
|
Requirement level |
MUST for electrical parts; SHOULD for |
Tags |
|
Summary#
Every component MUST carry a representative nominal appearance:
pcba:component:bodyColorNominal (a color3f), pcba:component:finishNominal (a
token: matte, gloss, metallic, other), and
pcba:component:materialClassNominal (a token: plastic, metal, ceramic,
solder, other).
Description#
The pipeline needs a representative appearance for each component so it can render a plausible known-good sample and randomize appearance for augmentation. These are nominal values — a reasonable, library-level description of the part’s look — not a photoreal specification; the augmentation stage handles photorealism.
pcba:component:bodyColorNominal— the nominal body colour as a linearcolor3f.pcba:component:finishNominal— the surface finish:matte,gloss,metallic, orother.pcba:component:materialClassNominal— the dominant material class of the body:plastic,metal,ceramic,solder, orother.
All three are MUST fields on electrical parts and SHOULD on fiducial / mechanical placements (author them when meaningful; they are not gated). They describe the component as a whole; per-surface material is captured separately by CG.012.
Fields#
Attribute |
Type |
Req |
Notes |
|---|---|---|---|
|
|
MUST |
Representative body colour (linear); not photoreal |
|
|
MUST |
|
|
|
MUST |
|
Why is it required?#
A representative appearance lets the pipeline render a plausible known-good sample without a full material library per part.
Nominal colour / finish / material give the augmentation stage a base to randomize from, keeping generated appearance in a realistic range.
Example#
def Xform "U7"
{
color3f pcba:component:bodyColorNominal = (0.05, 0.05, 0.05)
token pcba:component:finishNominal = "matte"
token pcba:component:materialClassNominal = "plastic"
}
How to comply#
Author all three nominal appearance attributes on every component.
Use library-level representative values; do not attempt a photoreal specification here.
Draw
finishNominalandmaterialClassNominalfrom the allowed token sets.
What the checker proves#
AppearanceChecker runs on electrical components only. It fails an absent bodyColorNominal,
and an absent, empty, or out-of-vocabulary finishNominal or materialClassNominal; a matching
pcba:prov: marker downgrades an absent field to a declared gap. It does not judge whether the
values are representative.