Specification
Look System
kanonak.org
look@1.5.0
look
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 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.
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.
Direction
"ascending" or "descending". Defaults to "ascending".
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. Typical use: a publisher root view featuring the latest…
Footer
Site-wide footer content — optional text (license, copyright) plus a list of additional links.
Footer
Optional site-wide footer content.
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…
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…
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…
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`…
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 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 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…
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.
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…
Source
For property-reading bands (BadgeRow, PropertyList, PropertyTable, Markdown): the property whose value supplies the band's content. For resource-targeting…
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.
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 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` +…
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,…