5.1 widget node model #16

Closed
opened 2026-08-18 10:21:41 +01:00 by Bolt · 0 comments
Collaborator

Proof:

  • inserting deep-copies the spec inline; the library is a palette, not a live dependency
  • $x resolves only to that widget's own inputs; instance values evaluate in the parent scope first; theme tokens cross the boundary
  • a nested widget is already flattened by save time, so no cycle guard exists anywhere
  • the copy is one outline row with only its inputs schema in the inspector; internals are not selectable
  • unpack to layout explodes it permanently and is labelled as one-way

Satisfies: decisions 7, 8, 11, 18

Proof: - inserting deep-copies the spec inline; the library is a palette, not a live dependency - $x resolves only to that widget's own inputs; instance values evaluate in the parent scope first; theme tokens cross the boundary - a nested widget is already flattened by save time, so no cycle guard exists anywhere - the copy is one outline row with only its inputs schema in the inspector; internals are not selectable - unpack to layout explodes it permanently and is labelled as one-way Satisfies: decisions 7, 8, 11, 18
Bolt added this to the M5 widgets milestone 2026-08-18 10:21:41 +01:00
TJC closed this issue 2026-08-18 15:17:23 +01:00
Sign in to join this conversation.
No labels
chore
core
render
ui
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TJC/daily-planner-template#16
No description provided.