Specification
Look System
kanonak.org
look@1.18.0
look
Alpha Path
`/`-separated path resolving to the Beta distribution's alpha (α) shape parameter, e.g. "wv.confidence/est.betaAlpha".
Axis Max
Optional fixed upper bound for the Timeline trajectory chart's Y axis. When omitted, the axis autoscales to the data.
Axis Min
Optional fixed lower bound for the Timeline trajectory chart's Y axis. When omitted, the axis autoscales to the data. Declare alongside axisMax to pin an…
Badge Path
Optional `/`-separated path resolved on each referenced resource to a short badge value shown on its detail row (e.g. "wv.evidenceStrength"). Only used when…
Badge Row
Renders type references as clickable badges with tooltips drawn from each target's rdfs.comment. `source` is the property holding the type references…
Badges Property
Optional property whose value is a list of type references to render as clickable badges with tooltips. urlForm is "*" so badges always link to the latest…
Band
Abstract base for all bands. A band is a semantic building block of a View — it reads properties off the input resource and renders one region of the page.…
Bands
Ordered list of bands that compose this view. Render order matches list order.
Beta Path
`/`-separated path resolving to the Beta distribution's beta (β) shape parameter, e.g. "wv.confidence/est.betaBeta".
Brand
The Publisher resource this kit is for. The rendered brand name comes from the Publisher's rdfs.label; the brand link points to `/` (the publisher's own root).
Cell As
Optional band class to render each cell with. When absent, cells render their value via the universal value-walker.
Cell Max
Maximum value for normalized cell renderers.
Cell Min
Minimum value for normalized cell renderers (e.g., BarMeter).
Chip Row
Inline labeled chips, one per property in `chips`. Each chip shows the property's label and the input's value for that property. Chips with no value on the…
Chips
List of property references; each becomes a labeled chip showing the property's label and the input's value.
Counts
List of count-entries to display.
Details
A generic, recursive property sheet for the page instance — the nice default detail view for any resource. Walks every statement (skipping the meta ones…
Direction
"ascending" or "descending". Defaults to "ascending".
Display Label
The property whose value supplies a resource's display name. A class declares it to say its instances' label comes from a domain-specific property (e.g.…
Display Summary
The property whose value supplies a resource's one-line summary. The summary companion to displayLabel, resolved the same way through the type cascade; the…
Distribution
A small SVG of a Beta probability density computed from the page instance's statistics — so a confidence reads as a shape, not just a number. `alphaPath` and…
Entries
List of property references; each property's references render as a labeled cross-reference group. Group label derives from the property's rdfs.label. urlForm…
Equals
The value the property must equal for the condition to match.
Eyebrow Property
Optional property whose value supplies the small uppercase text above the title. Typically `rdf:type`.
Featured Resource
Embed a specific resource's full view inline. `source` is a direct reference to the resource; its own cascaded look bands are rendered inside the page,…
Figure
Embeds a resource's SemanticSvg at full tier as a page figure. With no slots it shows the page instance's own svg — a resource's visual identity displayed on…
Footer
Site-wide footer content — optional text (license, copyright) plus a list of additional links.
Footer
Optional site-wide footer content.
Heading
The literal section name shown by a SectionHeading band.
Hero
Page header band. Renders a title (typically the resource's rdfs.label), optionally preceded by an eyebrow tag (rdf:type or similar), followed by a subtitle…
Horizon
Renders a structured condition tree off the page instance — typically an invalidationCondition: the typed AND/OR/Threshold/Event/Sequenced grammar that defines…
Hue By
For the metric-series bands: an optional `/`-separated path from each tracked sub-resource to a numeric hue (0..360) used to theme that series. When absent or…
Icon
For Hero: when true, the resource's own chip-tier SemanticSvg is shown as a small glyph beside the title block, so the identity icon and the heading (eyebrow /…
Instance Variant
A conditional override that fires when an instance matches a WhenCondition. Used to swap tokens (or, rarely, the entire view) based on instance state — e.g., a…
Label Path
Optional `/`-separated path used to render each referenced resource's display text (instead of its rdfs.label) in a ReferenceList. Switches the band from…
Lane By
Optional `/`-separated path resolved on each plotted resource to a category value; the TimePlot splits points into one lane per distinct value and colors them…
Limit
Maximum number of results. Omit for unlimited.
Links
Optional list of additional links in the footer.
Lower Path
Optional `/`-separated path (same syntax as metricPath) to a per-point lower bound. When both lowerPath and upperPath resolve, the trajectory chart draws a…
Markdown
Prose section rendered as Markdown. `source` is a string-valued property whose content is processed through the SDK's CommonMark renderer.
Metric Path
For the metric-series bands: a `/`-separated path resolved from each tracked sub-resource to the numeric value plotted. Each step matches a statement by…
Nav
Ordered list of nav entries shown in the chrome.
Nav Group
An ordered list of navigation entries rendered as a `<nav>` block. `entries` is a list of NavLink references (or any rdfs.Resource — direct references render…
Nav Link
A single entry in a publisher's navigation. References a target resource (typically a package or named resource); the rendered label comes from `rdfs.label`…
Note
An optional one-line description shown under a SectionHeading.
Of Class
The class to query for instances of.
Order By
Optional property to order results by. Property's value must be comparable (numbers, strings, dates).
Package Contents
The default package listing. On a Package self-resource page, it enumerates every other resource sharing the package's namespace (the package's members) and…
Package View
The content of a package page (`/{package}` or `/{package}/{version}`). Bound to a Package resource via `derivation.look`. Aggregation bands (ResourceGrid,…
Property
The property of the input instance to test.
Property List
Definition-list rendering of one property's contents. `source` is the property to read (typically an embedded or list-of-embeddeds). The list title defaults to…
Property Table
Table rendering for a list of dict-keyed embeddeds. Each row is one embedded; columns are the union of predicate names across the embeddeds. Optional `cellAs`…
Publisher Kit
Publisher-wide configuration: brand, navigation, footer, default tokens, and the publisher's root view. The kit's chrome (brand / nav / footer) wraps every…
Publisher Packages
A grid of the publisher's packages — the latest version of each — as cards (SemanticSvg + label + truncated comment) linking to each bare `/{package}`…
Publisher View
The content of the publisher root URL (`/`). Set as the `rootView` slot of a PublisherKit.
Reference List
Labeled groups of cross-references. `entries` is a list of properties; each property's references are rendered as a labeled group. Each link's label comes from…
Referenced By
The inverse of ReferenceList — incoming references. Lists every resource in the catalog that points AT the page instance, rendered as a card grid (the…
Resource Count
Per-class count aggregates. `counts` is a list of ResourceCountEntry resources, each scoping to one class. Labels come from each class's rdfs.label; the count…
Resource Count Entry
One entry in a ResourceCount band. `source` references the class to count. The label is derived from the class's rdfs.label.
Resource Grid
Grid of resource cards. `source` is a ResourceQuery selecting which resources to include. Each card renders the resource's own derivation.look in `compact`…
Resource Query
Declarative resource selector — class, optional orderBy property, optional direction (ascending / descending), optional limit. v0.1 keeps the DSL intentionally…
Resource View
The content of a resource page. Bound to a class via `derivation.look`; every instance of the class renders its resource URL through this view.
Root View
The PublisherView rendered at the publisher's root URL (`/`). Distinct from chrome — this is the content area beneath the nav.
Section Heading
A subtle labeled section break placed between content bands. `heading` is the section name and `note` an optional one-line description. One of the few bands…
Section Nav
An in-page table of contents: a row of anchor links to every SectionHeading on the page, in document order, letting a reader jump straight to a section. Takes…
Semantic SVG
A single responsive SVG with four nested visibility tiers — tier-chip (rendered at <60px wide), tier-icon (60-160), tier-card (160-400), and tier-full (>=400).…
Semantic SVG
The class-level or instance-level SemanticSvg declaration. Renderers asking for a resource's SVG walk the type cascade looking for this property, and the…
Size
For Figure: how large to render the embedded SemanticSvg — "small", "medium", or "large". Because the SemanticSvg is responsive, the width also selects which…
Skip
Optional list of properties for a Details band to omit — typically a property already surfaced elsewhere (e.g. the one used as the Hero title), to avoid…
Source
For property-reading bands (BadgeRow, PropertyList, PropertyTable, Markdown): the property whose value supplies the band's content. For resource-targeting…
Stat
One cell in a StatRow: a `statLabel` (the displayed key) and a `statPath` (resolved against the page instance for the value).
Stat Label
The displayed key for a Stat cell (e.g. "μ", "95% CI low").
Stat Path
The `/`-separated path (same DSL as metricPath) resolved against the page instance to produce this stat's value. Reaches into embeddeds — e.g.…
Stat Row
A strip of labeled stats read off the page instance. `stats` is a list of Stat specs; each resolves a `statPath` (the `/`-separated path DSL, reaching into…
Stats
Ordered list of Stat cells rendered by a StatRow.
Subtitle Property
Optional property whose value supplies a subtitle paragraph below the title. Typically `rdfs.comment`.
Target
The resource this nav link points to. Range is rdfs.Resource — typically a Package (for `/snapshot`) or a named resource (for `/snapshot/view`). The rendered…
Text
Literal footer text (license info, copyright). One of the few places in the look vocabulary where a literal string is appropriate — there's no canonical…
Tier Card SVG
Raw SVG fragment for 160-400px renders — ResourceGrid card thumbnails. Same placeholder + CSS-variable rules as tierChip.
Tier Chip SVG
Raw SVG fragment shown when the resource's SVG is rendered at <60px wide — favicon, tree node, breadcrumb dot. Placed inside the `<g class="tier-chip">` group.…
Tier Full SVG
Raw SVG fragment for >=400px renders — hero figures, embed cards. Same placeholder + CSS-variable rules as tierChip.
Tier Icon SVG
Raw SVG fragment for 60-160px renders — sidebar tiles, hover previews. Same placeholder + CSS-variable rules as tierChip.
Time Plot
Plots the referenced resources held by `source` on a horizontal time axis — `orderBy` is the date property read on each. With `laneBy` (a path to a category…
Timeline
A chronological view of a versioned series. `source` is the class whose instances are placed on the time axis; `orderBy` is the date/datetime property to sort…
Title Property
Property whose value supplies the Hero's headline text. Typically `rdfs.label`. The renderer reads input[title] and emits the value.
Track
For the metric-series bands (Timeline trajectory mode, VersionDiff): the property on each source instance that holds the sub-resources to follow across the…
Upper Path
Optional `/`-separated path to a per-point upper bound, paired with lowerPath to shade an envelope on the trajectory chart. Example:…
URL Form
Operator controlling how this property's reference values render as URLs. Four valid values, matching Kanonak's version-compatibility operators: - "*" : any…
Value Label
Optional short prefix shown before each series' value in the trajectory chart legend (e.g. "μ" to render "μ=0.74"). Domain-specific framing the publisher…
Variants
Optional list of conditional overrides. Each variant's WhenCondition is evaluated against the input instance; matching variants layer their token / look…
Version Delta
A visual of how a metric changed from the previous version of THIS resource — the same canonical key at the highest version below the current. `metricPath` is…
Version Diff
A compact per-key change view over a versioned series — the "trend rows" companion to the Timeline trajectory chart. Takes the same inputs (`source` +…
Via
For ReferencedBy: the single incoming property to scan for. Only resources that reference the page instance THROUGH this predicate are listed. When absent, any…
View
Abstract base for the three view types — ResourceView, PackageView, PublisherView. A view is an ordered list of Bands plus optional InstanceVariant rules.…
When
The predicate that gates this variant. When the condition matches the input instance, the variant's token / look overrides apply.
When Condition
A predicate matching an instance's property value. v0.1 supports only equality matching (property + equals). More complex predicates (numeric thresholds,…