Skip to content

Changes from 0.3

Contents of DISL 0.8

DISL 0.4 (draft, 2026-10-09) adds the constructs listed below, approved by the product owner with the Agent activity diagram's design on 2026-10-09 (its language decisions L1 to L7, and L9 ruled in chat the same day); each is optional, and its absence is the 0.3 behaviour. Every valid 0.3 specification is a valid 0.4 specification with the same meaning, apart from the clarifications in the second table.

Construct Section Schema
paths on a uri attribute: a path, absolute or relative to the file, as well as a URI (L6) 4.2 Attribute.paths
groupBy on a compartment, with a collapse default per value (L1) 6.9 Compartment.groupBy, $defs/GroupBy
A declared collapse state is the default; a stored state wins and is stored only while it differs (L2) 6.9, 11.6 –
itemOrder on a compartment (L9) 6.9 Compartment.itemOrder
itemLink on a compartment; a badge with onClick is focusable and activatable (L6) 6.9 Compartment.itemLink
persist on a canvas filter, and the view kind filters in view.store (L3) 6.13.1, 11.6 Filter.persist, $defs/ViewKind
The standard context entries pin, unpin and unpinAll; pinned on the view action; a drag pins under respect: "pinned" (L4) 7.3, 9.4, 10.4 ContextTool.kind, Action.view.pinned
groups on the view action, and the view kind groups (L1, L2) 9.4, 11.6 Action.view.groups, $defs/ViewKind
The open action (L6) 9.4 Action.open
force with tiers, and the properties its result must have (L5) 10.4 LayoutConfig.force, $defs/ForceLayout
view.bind: stored view data kept in entries of a format binding's body (L7) 11.6 Persistence.view.bind, $defs/ViewBind
# Change 0.3 said 0.4 says Reason Section
1 A view action on stored view data Changes viewer state only: never persisted, never undone. A change to a stored kind (pinned, groups, a kept filter) is an edit: written, undone with its operation, refused in read-only mode. Viewer state keeps the 0.3 rule. Locking a position and folding a group are kept in the file and undone like any edit. 9.4
2 A compartment's collapsed The collapse state, persisted in view data. The default of the state; the stored state wins, and is stored only while it differs from the default. A group nobody touched follows the specification, and the file stays small. 6.9
3 Where view data of a format binding lives In the registration (FBL section 8.3). In the registration, unless view.bind binds a kind into the body. A file agents write carries the user's arrangement with it. 11.2, 11.6

DISL 0.4 needs no change to FBL: a bound view kind is an ordinary entry of the body (FBL section 5), planned, undone and reloaded as any other. The worked example work-board.dis, with its binding ../fbl/work-board.fbl, uses every construct of the first table.

Referenced from