Skip to content

Changes from 0.1

Contents of DISL 0.4

This section lists every place where DISL 0.2 gives a meaning that DISL 0.1 left open or ambiguous, with the reason. Everything not listed keeps its 0.1 meaning, and no valid 0.1 specification becomes invalid. The constructs 0.2 adds are optional, and their absence is the 0.1 behaviour; they are not listed here.

# Change 0.1 said 0.2 says Reason Section
1 {cel} in a LocalizedText position Read as a locale map with the language tag cel, so the CEL source is shown as text. Every user-facing text position is a Message; an object with a cel key is CEL, and cel may not be a language tag. Specifications write {cel} in label positions meaning CEL; none means a locale called cel. 2.3
2 Order of gesture checks Constraint order is significant, but not what it means for gestures. Notation refusals, then the edit gate, then the built-ins in the order endpoints, containment, multiplicity, acyclic, axis bounds, facets, then declared rules in array order; the first refusal is shown. Hosts must show the same first refusal. 8.4
3 Reserved words in menus and drops Unstated. diagram and connection are reserved in contextMenus[].for, and canvas in a drop's on. New keywords for the empty-canvas and pending-connection menus and for drops. 7.2, 7.3
4 Handles on {attribute}-bound shape parameters 2.5 (two-way bindings) and 6.8 (handles write view data) disagree. The handle writes the attribute. Settles the contradiction the way a handle that edits the model needs. 6.8
5 Order of findings Unstated. Reader findings, then built-ins, then declared rules in array order; within a rule, model order, then forEach order. Findings are compared across hosts. 8.6
6 "Problems" The word for the results of rules. "Findings"; problems in forms is a deprecated alias of findings; the validator's JSON keys are unchanged. Many results are information or hints, and FBL uses "finding". 7.5, 8.6, 18
7 Natural id composition; prefix with cel Unstated. The composition is pinned (prefix, then the key attributes joined by |), and prefix does not apply to cel or derived results. Hosts must make the same id. 11.5, 11.5.1
8 Results of a derived relation expression Extra keys and default ids unstated. Extra keys are attribute values, id, sources and owner have defined meanings, and the default id is <Type>:<source.id>-><target.id> with #2, #3 for repeats. Needed for merging and lifting. 4.9
9 ancestors() order; a relation's owner Unstated. Nearest first; a relation's owner defaults to the nearest common ancestor of its ends, or the diagram. Lifting relationships to drawn ancestors, and edges owned by a scope. 12.2, 4.11.3
10 forEach in actions Unstated whether iterations see each other. Iterations run in order on the working state; the list is evaluated once. A hook that claims loops one by one. 9.4
11 String order Unstated. Unicode code point order; sorts are stable. Orderings must match across hosts. 12.1
12 acyclic on an abstract relation type; *OfType Unstated for subtypes. Covers the union of the type and its subtypes; a type name in *OfType and the graph functions includes subtypes. Ownership split over several relation types. 4.9, 8.7, 12.2
13 Arc bow side; curved without bendpoints Unstated. A positive curvature bows left of the direction of travel; curved without bendpoints is one quadratic curve. Arcs drew mirrored in two hosts. 6.10
14 Snap ties Unstated. Away from zero by default, as CEL math.round; the snap rule's ties overrides it. Timelines and hype cycles round halves away from zero. 5.10, 12.4
15 color().mix() and .alpha() Named, not defined. Defined as CSS Color 5 color-mix() in sRGB, written as #RRGGBBAA. Paints mixed from tokens must look alike everywhere. 12.4
16 Rulers How they are attached is unstated. Attached to the view by default (attach: "view"). Rulers stay at the edge of the pane. 5.13
17 What is drawn No single order. Viewpoint membership, derived elements, viewer filters, budgets, visible: false, in that order, exposed as diagram.drawn; a relation with an undrawn end is not drawn. Budgets, filters and legends must agree. 6.1

Referenced from