Layer
Purpose
One layer of a stack — a domain with its own vocabulary, holding the drafts that speak it. In the published trees a layer is what a crate's drafts describe: convene's "core" is Anne and Laura's comms domain, its "mix" is the team's transport domain, and this site's "atlas" is the layer you are reading now. Within a layer every name is spoken for exactly once — two drafts bearing the same name would leave a mention with no honest target, so the layer refuses them.
Attributes
- name: is
Textthat the layer goes by - drafts: is every
Draftthat it holds
Invariants
- No two drafts bear the same name — a layer holding two drafts of the same name is rejected.
Operations
named
Reports the Draft, if any, bearing a given name Text — nothing when no draft here bears it.
Result: the Draft, if any
Scenarios
A layer holds its drafts
Given: a Draft named "Cell" and a Draft named "Tumbler", both of the layer "mix" When: a Layer named "mix" is created with them Then: it is accepted, and named "Cell" yields the Cell draft while named "Tumbler" yields the Tumbler draft
An unknown name reaches nothing
Given: a Layer named "mix" holding a Draft named "Cell" When: named is performed with "Seal" Then: nothing is yielded