Stage 7 · Decorative grammar

Every Layer Is an Act of Craft

After structure and materials, a second grammar runs over the artefact, treating each component as a potential canvas. Decorative features feed the same unified classification as structural ones: an object can read as ritual because of its shape, because of its decoration or because of both.

Sixteen techniques, three families

The decorative BNF has three categories: surface treatments (polish, patina, roughening, scoring, engraving, relief, painting, glaze), applied elements (inlay, overlay, studs, wire-wrapping, gilding) and textile elements (wrapping, tassels, beading).

<decoration>        ::= <surface-treatment>* <applied-element>* <textile-element>*

<surface-treatment> ::= polish | patina | roughening | scoring
                      | engraving(<motif>)            [requires: holds an incised line]
                      | relief(<motif>)               [requires: formability ≥ 3]
                      | painting(<motif>, <pigment>)  [requires: solid surface]
                      | glaze(<colour>)               [requires: ceramic]

<applied-element>   ::= inlay(<material>, <motif>)      [requires: engravable surface]
                      | overlay(<material>, <coverage>) [requires: rigid surface]
                      | studs(<material>, <pattern>)
                      | wire-wrapping(<material>, <pattern>)
                      | gilding(<precious-metal>)

<textile-element>   ::= wrapping(<material>, <pattern>) | tassels | beading(<material>)

The families are three different relationships between decoration and object:

The <material> arguments in the BNF are doing real work: seven of the sixteen techniques bring a material of their own, on top of whatever the component is made of.

Each technique also declares a substrate prerequisite, resolved against the material property axes from stage 6:

Technique choice and imagery are independent signals

A culture's preference for techniques (techniqueAffinities) is deliberately separate from its motif vocabulary and from its material affinities. A culture can engrave beasts, engrave without beasts, depict beasts without engraving or do neither; those four combinations only exist if the two signals vary independently, so the type system keeps them apart. On top of affinity sits a one-directional material-access gate: a culture with no suitable material in plentiful, favoured supply has the technique suppressed however much it "likes" it, but favouring a suitable material never forces the technique.

The wire-wrapping defect The gate originally checked only a technique's substrate. Wire-wrapping's substrate is the grippable form it wraps, which is fine; the metal wire is a material the technique introduces, and that side went unchecked. A sampling pass found the result: metal-free cultures produced more metal wirework than anywhere else in the world. The gate now checks both what a technique sits on and what it brings with it. Semantic bugs like this pass every type check and every unit test written from the same mental model; the Explorer page covers the harness that caught it.

How much, versus how well

The spec described a 2×2 of craft skill against decorative emphasis, controlling recursion depth. Measured against the real pipeline, its two middle corners ("technically refined but sparse", "abundant but simple") proved unsatisfiable by any single volume scalar, because they differ in kind rather than magnitude. The shipped design splits the axes into two mechanisms:

Craft keeps one legitimate indirect effect on volume: high-craft cultures build more complex objects, and more parts means more canvases.

Grades get a second pass once materials are known, because execution difficulty is material-sensitive: engraving iron and engraving gold no longer score identically. Classification later reads mean decorative grade as a quality signal independent of quantity, so a sparse, superb object can outrank a busy, clumsy one.

component: bronze flat-broad panel (the canvas) layer: engraving · motif: coiled-beast · grade 0.78 layer: inlay · material: silver · grade 0.61 substrate check: bronze holds an incised line ✓ grade = craft × technique difficulty × material fit introduced material: gated on availability, weighted like stage 6
Two flat layers on one canvas. Nesting (sublayers) is scheduled work; the temporal story is already legible from the motif vocabularies.

Motifs, borrowed and otherwise

Motif-carrying layers draw from the producing culture's motif vocabulary, weighted 1, plus motifs borrowed through any cultural-exchange relationship active in the production year, weighted by that window's exchange intensity. Introduced materials for techniques like inlay are constrained to per-technique tag sets and weighted by the same affinity × technology × scarcity product as structural assignment. An artefact bearing Culture B's motifs might be B's work, or A's work under heavy exchange, and the sequence of layers (base engraving in one vocabulary, later inlay in another) hints at reworking without any flag saying so.

Deliberate gaps

Layers currently ship flat: sublayers is always empty, and decoration-on-decoration is a scheduled task rather than an accident. Substrate enforcement strips candidate layers whose component's actual material fails the prerequisite, except for the three form-substrate techniques (wire-wrapping, wrapping, beading), which pass through unstripped because nothing in the pipeline can yet answer a geometry question about a component; stripping on a check that cannot run would delete three techniques from every artefact on no evidence. The module JSDoc lists each gap, its owner and its reasoning.

Where it lives src/lib/engine/generation/decoration.ts (expandDecoration, assignDecorativeDetails, enforceSubstrates, gradeDecorativeLayers) · catalogue and difficulty tables: src/lib/data/decorations.ts · Spec: doc 05 §8