@miragon/wardley-renderer 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,11 +36,12 @@ Swap `NavigatedViewer` for `Modeler` to get the editable map (palette, context p
36
36
 
37
37
  ### Fonts
38
38
 
39
- The package ships no fonts and uses no CDN. Provide your own — recommended self-hosted via
40
- [`@fontsource`](https://fontsource.org/):
39
+ The package ships no fonts and uses no CDN. The canvas typeface is **Geist** (Miragon corporate
40
+ identity); provide it yourself — recommended self-hosted via [`@fontsource`](https://fontsource.org/)
41
+ (one variable file covers all weights):
41
42
 
42
43
  ```ts
43
- import '@fontsource-variable/spline-sans';
44
+ import '@fontsource-variable/geist/wght.css';
44
45
  ```
45
46
 
46
47
  Part of the [Wardley Maps](https://github.com/Miragon/wardley-maps-modeler) monorepo.
@@ -1,4 +1,4 @@
1
- /** Central rendering constants (geometry, colors, typography) — "Strategic Blueprint" aesthetic. */
1
+ /** Central rendering constants (geometry, colors, typography) — Miragon corporate identity. */
2
2
  /** Default plot area in diagram px (interior without axis margins). Changeable at runtime via
3
3
  * config.size. Width/height come from schema-model (single source, also used for migrations). */
4
4
  export declare const PLOT: {
@@ -15,11 +15,9 @@ export declare const PLOT_MIN: {
15
15
  };
16
16
  export declare const NODE_SIZE = 34;
17
17
  export declare const COMPONENT_RADIUS = 15;
18
- /** Inner ring for "evolving" (intermediate-event look). */
19
18
  export declare const COMPONENT_INNER_RADIUS = 12;
20
19
  export declare const ANCHOR_ICON_SIZE = 26;
21
20
  export declare const PIPELINE_HEIGHT = 30;
22
- /** Side length of the ■ anchor square drawn on the pipeline box's top edge. */
23
21
  export declare const PIPELINE_ANCHOR_SIZE = 16;
24
22
  export declare const NOTE_LINE_HEIGHT = 17;
25
23
  /**
@@ -31,32 +29,35 @@ export declare function noteMetrics(label: string): {
31
29
  width: number;
32
30
  height: number;
33
31
  };
32
+ /**
33
+ * Canvas colours — Miragon palette (blue = interactive/flow, green = accelerate/positive,
34
+ * red = movement/decelerate). Keys are the public contract; brand values come from the single source
35
+ * of truth in `theme/palette.ts` (`MIRAGON`). Referenced (not spread) so the literal-string types
36
+ * survive into the published `.d.ts`.
37
+ */
34
38
  export declare const COLORS: {
35
- readonly paper: "#fbfaf7";
36
- readonly ink: "#1b1b1a";
37
- readonly inkSoft: "#3a3a37";
38
- readonly axis: "#cdc7bb";
39
- readonly axisText: "#8c8475";
40
- readonly grid: "#ebe7de";
41
- readonly band: "rgba(27,27,26,0.022)";
42
- readonly stroke: "#1b1b1a";
43
- readonly componentFill: "#ffffff";
44
- readonly anchorFill: "#1b1b1a";
45
- readonly dependency: "#a9a296";
46
- readonly accent: "#0e7c74";
47
- readonly accentSoft: "rgba(14,124,116,0.12)";
48
- readonly flow: "#0e7c74";
49
- readonly movement: "#bf2f2a";
50
- readonly inertia: "#1b1b1a";
51
- readonly noteText: "#4a4640";
52
- readonly pipeline: "#1b1b1a";
53
- /** Fill of the annotation marker (also used in the palette icons). */
54
- readonly annotationFill: "#fff8e6";
55
- /** Background of the plot area (deliberately white, lighter than paper). */
56
- readonly plotBackground: "#ffffff";
57
- /** Accelerator / deaccelerator (own semantic constants — not flow/movement). */
58
- readonly accelerator: "#0e7c74";
59
- readonly deaccelerator: "#bf2f2a";
39
+ readonly paper: "#F9F7F7";
40
+ readonly ink: "#1D1D1D";
41
+ readonly inkSoft: "#5B5B5B";
42
+ readonly axis: "rgba(51,93,229,0.22)";
43
+ readonly axisText: "#6E7797";
44
+ readonly grid: "rgba(51,93,229,0.12)";
45
+ readonly band: "rgba(51,93,229,0.04)";
46
+ readonly stroke: "#1D1D1D";
47
+ readonly componentFill: "#FFFFFF";
48
+ readonly anchorFill: "#1D1D1D";
49
+ readonly dependency: "#9E9E9E";
50
+ readonly accent: "#335DE5";
51
+ readonly accentSoft: "rgba(51,93,229,0.12)";
52
+ readonly flow: "#335DE5";
53
+ readonly movement: "#C92A2A";
54
+ readonly inertia: "#1D1D1D";
55
+ readonly noteText: "#5B5B5B";
56
+ readonly pipeline: "#1D1D1D";
57
+ readonly annotationFill: "#FBF3E0";
58
+ readonly plotBackground: "#FFFFFF";
59
+ readonly accelerator: "#00C853";
60
+ readonly deaccelerator: "#C92A2A";
60
61
  };
61
62
  /**
62
63
  * Note color palette (bpmn.io-style mini picker; deliberately NOT a full color picker). Values are
@@ -67,37 +68,40 @@ export declare const COLORS: {
67
68
  export declare const NOTE_COLORS: readonly [{
68
69
  readonly id: "green";
69
70
  readonly name: "Green · good";
70
- readonly value: "#15803d";
71
+ readonly value: "#0B7A55";
71
72
  }, {
72
73
  readonly id: "amber";
73
74
  readonly name: "Amber · watch";
74
- readonly value: "#b45309";
75
+ readonly value: "#92610A";
75
76
  }, {
76
77
  readonly id: "red";
77
78
  readonly name: "Red · problem";
78
- readonly value: "#b91c1c";
79
+ readonly value: "#C92A2A";
79
80
  }, {
80
81
  readonly id: "blue";
81
82
  readonly name: "Blue · info";
82
- readonly value: "#1d4ed8";
83
+ readonly value: "#2B50D4";
83
84
  }, {
84
85
  readonly id: "teal";
85
86
  readonly name: "Teal";
86
- readonly value: "#0e7c74";
87
+ readonly value: "#0E8181";
87
88
  }, {
88
89
  readonly id: "purple";
89
90
  readonly name: "Purple · idea";
90
- readonly value: "#7e22ce";
91
+ readonly value: "#6A3DB8";
91
92
  }, {
92
93
  readonly id: "pink";
93
94
  readonly name: "Pink";
94
- readonly value: "#be185d";
95
+ readonly value: "#C2185B";
95
96
  }, {
96
97
  readonly id: "slate";
97
98
  readonly name: "Slate · neutral";
98
- readonly value: "#475569";
99
+ readonly value: "#4A4A4A";
99
100
  }];
100
- /** Colors of the attitude regions per kind (shared by renderer + palette icons). */
101
+ /**
102
+ * Colors of the attitude regions per kind (shared by renderer + palette icons). Miragon palette:
103
+ * pioneers = blue (explore), settlers = amber (stabilise), town planners = green (industrialise).
104
+ */
101
105
  export declare const ATTITUDE_COLORS: Record<string, {
102
106
  fill: string;
103
107
  stroke: string;
@@ -106,12 +110,12 @@ export declare const FONT: {
106
110
  /**
107
111
  * Set as the `font-family` attribute DIRECTLY on all SVG text elements (canvas labels,
108
112
  * axis/stage text and consequently the SVG export too) – not inherited from a CSS container.
109
- * In EVERY context it reaches for the self-hosted 'Spline Sans Variable' if the consumer provides
110
- * it; otherwise (e.g. an export SVG opened standalone) it falls back safely to a system sans.
111
- * The library does NOT ship the font – consumers must include it themselves
112
- * (e.g. via @fontsource-variable/spline-sans), see README.
113
+ * In EVERY context it reaches for the self-hosted 'Geist' (Miragon corporate typeface) if the
114
+ * consumer provides it; otherwise (e.g. an export SVG opened standalone) it falls back safely to a
115
+ * system sans. The library does NOT ship the font – consumers must self-host Geist themselves
116
+ * (e.g. via @fontsource-variable/geist), see README.
113
117
  */
114
- readonly family: "'Spline Sans Variable', 'Spline Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif";
118
+ readonly family: "'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif";
115
119
  readonly label: 13;
116
120
  readonly axis: 12;
117
121
  readonly stage: 12;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/draw/styles.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAIpG;kGACkG;AAClG,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAEX,eAAO,MAAM,QAAQ;;;CAAuC,CAAC;AAE7D,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAQnC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ7F;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;IAmBjB,sEAAsE;;IAEtE,4EAA4E;;IAE5E,gFAAgF;;;CAGxE,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASd,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAI5E,CAAC;AAEF,eAAO,MAAM,IAAI;IACf;;;;;;;OAOG;;;;;CAMK,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/draw/styles.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAK/F;kGACkG;AAClG,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAEX,eAAO,MAAM,QAAQ;;;CAAuC,CAAC;AAE7D,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ7F;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAuBT,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASd,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAI5E,CAAC;AAEF,eAAO,MAAM,IAAI;IACf;;;;;;;OAOG;;;;;CAKK,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { wardleyModelModule, WardleyElementFactory } from './model/index.js';
7
7
  export { evolutionGridModule, evolutionConstraintModule, EvolutionGrid, } from './evolution-grid/index.js';
8
8
  export { wardleyDrawModule, WardleyRenderer } from './draw/index.js';
9
9
  export { COLORS, PLOT } from './draw/styles.js';
10
+ export { MIRAGON } from './theme/index.js';
10
11
  export { ioModule, WardleyImporter, WardleyExporter, saveSVG, ROOT_ID } from './io/index.js';
11
12
  export { wardleyModelingModule, WardleyModeling } from './modeling/index.js';
12
13
  export type { EvolveOptions } from './modeling/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGvE,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGvE,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,iBAAiB,CAAC"}