Palettes: reusable param groups composed by reference (use: <palette>) #305
Labels
No labels
bug
enhancement
needs-triage
ready-for-agent
ready-for-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/deckle#305
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Reusable groups of params a sidecar composes by reference: a palette file under
editor/palettes/holds a params list, and an element's or page type's params list saysuse: <palette>where it wants them. First case: a heading palette with the heading text and a select for the heading level, so a feature or the scaffold defines "a heading" once.Context
From a design discussion on 2026-10-15 about TCA-style sidecar extension. Sibling issues: engine capabilities for Access-tab fields, and class-wide overlays with a theme hook registry. Sidecar versioning (#302) is the groundwork: the
use:entry is a new shape in the params list the canonical serializer must own.Today every element declares its params inline (
scaffold/editor/elements/hero.yamldeclaresheadingand the shortcode hard-codes an h2). The link companions<name>Targetand<name>Titleare already an engine-owned param group in disguise.Design settled in the discussion
editor/palettes/<name>.yaml, loaded byinternal/sidecardirlike the others: the name rule, the strict decode, the language file beside it. A feature ships one like any file; it is listed in the receipt and removed with the feature. Feature palettes carry the feature's prefix.use: <palette>is an entry in theparams:(or page-typefields:) list and expands in place. Each expanded param's tab comes from the palette; order within a tab is list order, today's rule.as:prefix givingsubHeading) is decided in v1 even if not implemented.Open for triage
as:naming rule, and whether a heading palette may own the implicittitle.required,default,label,tab.ce/heading.htmlpartial, and which shipped elements adopt it (hero, cta, quote).harness sidecar: drafting ause:entry from a shortcode's call to the palette's partial.add-element,add-page-type,create-feature,redo-theme;internal/element/agentsdoc_test.goandscaffold/skills_test.go.Blocked by