diff --git a/api/og.sha b/api/og.sha index df01c9b..d9f8213 100644 --- a/api/og.sha +++ b/api/og.sha @@ -1 +1 @@ -51f9ffaa661399ba3ea9a65459ec5f995969ccb5407c0d6ada0a09c89fc1e51a +8a81160891246015bdef6063b3385ea00a60abb368da735c3f2f511437b6df8d diff --git a/billing/og.sha b/billing/og.sha index f2c9418..d1f585e 100644 --- a/billing/og.sha +++ b/billing/og.sha @@ -1 +1 @@ -02e0153705f4f4e86cacd1cbb8974aec050467ffcf0d4de9ee123d9d1ae5da21 +2b2ca14aab7e8cc4f2dcda8e8a70aa570bfb7ae897bdbc4f7e372eae8c673ae5 diff --git a/chat.css b/chat.css index e5bf5d8..501d2ec 100644 --- a/chat.css +++ b/chat.css @@ -211,11 +211,13 @@ html[data-chat-waiting]::after{content:"ask \00b7 " attr(data-chat-waiting);pos .rbchat-diagram-failed{margin:0;font-size:.85rem} /* An org chart's marks: Mermaid sets the host's token as an svg.label-icon before a person's name, sized to the text; a person's mark is the firm brightness and an agent's the mid, as the - Processes page draws them, and both beat the linked label's own color. An open position is a + Processes page draws them, and both beat the linked label's own color; a system's element mark + is the firm brightness too, since a system is a thing and not an agent. An open position is a dashed box with no fill, and the frame the agents of a group stand in is shaded. */ .rbchat-diagram-box svg .label-icon{width:1.15em;height:1.15em;vertical-align:-.2em;margin-right:.3em} .rbchat-diagram-box svg .rbchat-mark.human{color:var(--c-firm,var(--ink))!important} .rbchat-diagram-box svg .rbchat-mark.agent{color:var(--c-mid)!important} +.rbchat-diagram-box svg .rbchat-mark.element{color:var(--c-firm,var(--ink))!important} .rbchat-diagram-box svg .node.open rect{fill:none!important} .rbchat-diagram-box svg .cluster.agents rect{fill:var(--press)!important} .rbchat-diagram-reading{margin:.35rem .1rem 0;font-size:.8rem;line-height:1.4;color:var(--dim)} diff --git a/chat.js b/chat.js index 6f38dee..4354627 100644 --- a/chat.js +++ b/chat.js @@ -129,7 +129,7 @@ github: "{title} on GitHub", commit: "commit {sha}", modalClose: "Close \u00b7 Esc", ask: { from: "The link you opened asks:", label: "A question from the link you opened", send: "Send", edit: "Edit", discard: "Discard" }, - diagram: { concepts: "Concepts", process: "Process", neighborhood: "Connections", schema: "Meta-model", context: "Context map", aggregate: "Aggregate", flow: "Flow", lifecycle: "Lifecycle", organization: "Organization", reading: { context: "One-way arrows run from upstream to downstream; each arrow names the pattern between the two contexts.", aggregate: "The root holds what the diamonds join; the dashed arrows are the events it emits.", flow: "Solid arrows are commands sent to the aggregate, dashed arrows the events it emits; a box names the condition of each branch.", lifecycle: "Each arrow is a step from one state to the next, labeled with the command that takes it where there is one.", organization: "Solid arrows run from a lead to the leads below; a dashed line joins staff to the head they serve; a dashed box is an open position, beside a lead the search for a successor; agents stand in the shaded frame." }, expand: "Open full screen", shut: "Close full screen", zoomIn: "Zoom in", zoomOut: "Zoom out", fit: "Fit", fitTip: "Fit to the screen", failed: "The diagram could not be drawn; this is its source." }, + diagram: { concepts: "Concepts", process: "Process", neighborhood: "Connections", schema: "Meta-model", context: "Context map", aggregate: "Aggregate", flow: "Flow", lifecycle: "Lifecycle", organization: "Organization", system: "Landscape", holds: "Data held", reading: { context: "One-way arrows run from upstream to downstream; each arrow names the pattern between the two contexts.", aggregate: "The root holds what the diamonds join; the dashed arrows are the events it emits.", flow: "Solid arrows are commands sent to the aggregate, dashed arrows the events it emits; a box names the condition of each branch.", lifecycle: "Each arrow is a step from one state to the next, labeled with the command that takes it where there is one.", organization: "Solid arrows run from a lead to the leads below; a dashed line joins staff to the head they serve; a dashed box is an open position, beside a lead the search for a successor; agents stand in the shaded frame.", system: "Solid arrows run from the system the data comes from to the one that takes it, labeled with the interface, what is carried and how; a dotted line joins a system to what it runs on; a rounded box is a service the system provides; a cylinder is data it holds, by a heavy arrow where its copy leads, a solid one where it writes and a dotted one where it only reads.", holds: "Each cylinder is data kept of the concept named under it; a heavy arrow marks the system whose copy leads, a solid one a system that writes a copy of its own, a dotted one a system that only reads." }, expand: "Open full screen", shut: "Close full screen", zoomIn: "Zoom in", zoomOut: "Zoom out", fit: "Fit", fitTip: "Fit to the screen", failed: "The diagram could not be drawn; this is its source." }, refusal: { too_long: "That message is over 1,000 characters.", too_much: "The conversation has grown too long to send; start a new one.", @@ -177,7 +177,7 @@ github: "{title} auf GitHub", commit: "Commit {sha}", modalClose: "Schliessen \u00b7 Esc", ask: { from: "Der Link, den Sie geöffnet haben, enthält diese Frage:", label: "Eine Frage aus dem Link, den Sie geöffnet haben", send: "Senden", edit: "Bearbeiten", discard: "Verwerfen" }, - diagram: { concepts: "Konzepte", process: "Prozess", neighborhood: "Verbindungen", schema: "Meta-Modell", context: "Context Map", aggregate: "Aggregat", flow: "Ablauf", lifecycle: "Lebenszyklus", organization: "Organisation", reading: { context: "Einfache Pfeile laufen vom Upstream- zum Downstream-Kontext; jeder Pfeil nennt das Muster zwischen den beiden Kontexten.", aggregate: "Die Wurzel des Aggregats hält, was die Rauten verbinden; die gestrichelten Pfeile sind die Ereignisse, die sie auslöst.", flow: "Durchgezogene Pfeile sind Befehle an das Aggregat, gestrichelte die Ereignisse, die es auslöst; ein Kasten nennt die Bedingung jedes Zweigs.", lifecycle: "Jeder Pfeil ist ein Schritt von einem Zustand zum nächsten, beschriftet mit dem Befehl, der ihn auslöst, wo es einen gibt.", organization: "Durchgezogene Pfeile laufen von einer Führungskraft zu den Führungskräften darunter; eine gestrichelte Linie verbindet eine Stabsstelle mit der Leitung, der sie zuarbeitet; ein gestrichelter Kasten ist eine offene Stelle, neben einer Führungskraft die Suche nach ihrer Nachfolge; Software-Agenten stehen im farbig hinterlegten Rahmen." }, expand: "Im Vollbild öffnen", shut: "Vollbild schliessen", zoomIn: "Vergrössern", zoomOut: "Verkleinern", fit: "Einpassen", fitTip: "Auf den Bildschirm einpassen", failed: "Das Diagramm konnte nicht gezeichnet werden; dies ist seine Quelle." }, + diagram: { concepts: "Konzepte", process: "Prozess", neighborhood: "Verbindungen", schema: "Meta-Modell", context: "Context Map", aggregate: "Aggregat", flow: "Ablauf", lifecycle: "Lebenszyklus", organization: "Organisation", system: "Landschaft", holds: "Datenbestand", reading: { context: "Einfache Pfeile laufen vom Upstream- zum Downstream-Kontext; jeder Pfeil nennt das Muster zwischen den beiden Kontexten.", aggregate: "Die Wurzel des Aggregats hält, was die Rauten verbinden; die gestrichelten Pfeile sind die Ereignisse, die sie auslöst.", flow: "Durchgezogene Pfeile sind Befehle an das Aggregat, gestrichelte die Ereignisse, die es auslöst; ein Kasten nennt die Bedingung jedes Zweigs.", lifecycle: "Jeder Pfeil ist ein Schritt von einem Zustand zum nächsten, beschriftet mit dem Befehl, der ihn auslöst, wo es einen gibt.", organization: "Durchgezogene Pfeile laufen von einer Führungskraft zu den Führungskräften darunter; eine gestrichelte Linie verbindet eine Stabsstelle mit der Leitung, der sie zuarbeitet; ein gestrichelter Kasten ist eine offene Stelle, neben einer Führungskraft die Suche nach ihrer Nachfolge; Software-Agenten stehen im farbig hinterlegten Rahmen.", system: "Durchgezogene Pfeile laufen vom System, aus dem die Daten stammen, zum System, das sie übernimmt, beschriftet mit der Schnittstelle und mit dem, was übertragen wird und wie; eine gepunktete Linie verbindet ein System mit dem, worauf es läuft; ein abgerundeter Kasten ist ein Service, den das System bereitstellt; ein Zylinder ist ein Datenbestand, den es hält – mit einem dicken Pfeil, wo seine Kopie führend ist, einem durchgezogenen, wo es schreibt, und einem gepunkteten, wo es nur liest.", holds: "Jeder Zylinder ist ein Datenbestand zum darunter genannten Konzept; ein dicker Pfeil markiert das System, dessen Kopie führend ist, ein durchgezogener ein System, das eine eigene Kopie schreibt, ein gepunkteter ein System, das nur liest." }, expand: "Im Vollbild öffnen", shut: "Vollbild schliessen", zoomIn: "Vergrössern", zoomOut: "Verkleinern", fit: "Einpassen", fitTip: "Auf den Bildschirm einpassen", failed: "Das Diagramm konnte nicht gezeichnet werden; dies ist seine Quelle." }, refusal: { too_long: "Diese Nachricht ist länger als 1’000 Zeichen.", too_much: "Das Gespräch ist zu lang geworden, um es zu senden; beginnen Sie ein neues.", @@ -918,18 +918,25 @@ // The picture the one modal holds, its handle, and the zoom controls it carries in its head. var modalFig = null, modalHandle = null, zoomBar = null, zoomIn = null, zoomOut = null, zoomFit = null; - // The two natures' marks, lib/marks.mjs's own, which a test holds this copy to. The host writes - // `fak:fa-human` or `fak:fa-agent` before a person's name, and Mermaid swaps the token for the - // mark before it measures the label, so the box fits it. Registered once per Mermaid, whoever - // loaded it; each body is wrapped in a group whose class chat.css colors. + // The marks, lib/marks.mjs's own, which a test holds this copy to: the two natures', and the six + // ArchiMate elements a system's kind names, at the firm brightness. The host writes `fak:fa-human` + // or `fak:fa-agent` before a person's name and `fak:fa-` before a system's, and Mermaid + // swaps the token for the mark before it measures the label, so the box fits it. Registered once + // per Mermaid, whoever loaded it; each body is wrapped in a group whose class chat.css colors. var MARKS = { human: '', - agent: '' + agent: '', + "application-component": '', + node: '', + "system-software": '', + device: '', + equipment: '', + "communication-network": '' }; function withMarks(m){ if (m && typeof m.registerIconPacks === "function" && !m.rbMarks) { var icons = {}; - Object.keys(MARKS).forEach(function(k){ icons[k] = { body: '' + MARKS[k] + "" }; }); + Object.keys(MARKS).forEach(function(k){ icons[k] = { body: '' + MARKS[k] + "" }; }); m.registerIconPacks([{ name: "fak", icons: { prefix: "fak", width: 16, height: 16, icons: icons } }]); m.rbMarks = true; } diff --git a/model/og.sha b/model/og.sha index 5065e71..4a07cd5 100644 --- a/model/og.sha +++ b/model/og.sha @@ -1 +1 @@ -62621dc202a81b9f3eef57a00d2a07ddede86be2669fda1572b8b950df692ea9 +a56f9d8a0330f4bf1263d9a079589b755d59b70c87bc7333d1267d421a54257e diff --git a/og.sha b/og.sha index 953d3da..7f8202d 100644 --- a/og.sha +++ b/og.sha @@ -1 +1 @@ -26c61439f947f01b412a70d7a7c9ccd2e1c03f28a8fc87b7459b67f3bd91da2d +f198ed2f7abb8b5d3483171fd5b6e4f424d57103b74e4b0746323f6ffc731f5c diff --git a/package-lock.json b/package-lock.json index b8b3675..68454d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "companygraph-meta-model": "github:companygraph/meta-model#v0.88.0" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.146.0", + "@robertblust/design": "github:robertblust/design#v0.147.0", "companygraph-mcp-server": "github:companygraph/mcp-server#v0.62.0", "pdf-lib": "^1.17.1", "playwright": "^1.63.0", @@ -96,8 +96,8 @@ } }, "node_modules/@robertblust/design": { - "version": "0.146.0", - "resolved": "git+ssh://git@github.com/robertblust/design.git#ef83b97e393e49b26904e4b99b997f7ab041cd1b", + "version": "0.147.0", + "resolved": "git+ssh://git@github.com/robertblust/design.git#3b753d4f52955f692fe3029cd3187d16a437d06e", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index 268af97..16b4d39 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "pin:check": "node pin-check.mjs" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.146.0", + "@robertblust/design": "github:robertblust/design#v0.147.0", "companygraph-mcp-server": "github:companygraph/mcp-server#v0.62.0", "pdf-lib": "^1.17.1", "playwright": "^1.63.0", diff --git a/principles/og.sha b/principles/og.sha index 4c8fd55..b25d757 100644 --- a/principles/og.sha +++ b/principles/og.sha @@ -1 +1 @@ -305bbef0aa0366e829db71a0fdd70089eabaedd39aeffe2b47d804aa24b1cc39 +701606c27a0fc17be786b4c71a8cb0809e705a84445c166c6209c998a87d3e10 diff --git a/privacy/og.sha b/privacy/og.sha index db4b586..b241445 100644 --- a/privacy/og.sha +++ b/privacy/og.sha @@ -1 +1 @@ -f6d7a5f2d275ad749f91ca7bc4493064bf506e76b4b6f5137e5d02205ef42c0d +06ee2d61deda8cd7ad52dc834d659e2c1604c6191eca547f608702731d420270 diff --git a/problems/og.sha b/problems/og.sha index ef2054a..07c3d0c 100644 --- a/problems/og.sha +++ b/problems/og.sha @@ -1 +1 @@ -6d3e78d7f4c73c4cd538f3c0cc5e45c241d3c2394e1cfb30c4a824e77e5052f1 +c7e2a5f245d2fbfcdf0078937671e8f00048dce26277630693d6b9901b2b726d diff --git a/processes/og.sha b/processes/og.sha index 08e0f34..349c9fe 100644 --- a/processes/og.sha +++ b/processes/og.sha @@ -1 +1 @@ -7a0f3c3f1dd453f6028d2b9628558be9599ae1ad10a305044a56589d64f5c09a +6a6f4c4205f7c519ed2bf7d4c4f645efb0d42074013a70ec2df177dfa72e40a7 diff --git a/processes/pictures/answering.sha b/processes/pictures/answering.sha index a9b9aff..56f575d 100644 --- a/processes/pictures/answering.sha +++ b/processes/pictures/answering.sha @@ -1 +1 @@ -36c28e3a9af3515c5be560e9624c91141c16e421bd306706ba20317deedc0d48 +7dc6b54276daeafea6eed35f7d101da47758ab2b436cdd845c33176932ea9909 diff --git a/processes/pictures/contribution.sha b/processes/pictures/contribution.sha index b133601..f735a12 100644 --- a/processes/pictures/contribution.sha +++ b/processes/pictures/contribution.sha @@ -1 +1 @@ -39fbe2b63466e47740d5a0b18e0e7539b0ca1c1b772697a597a6e4dce4a052fa +33d3c66da218c8978a554b39d3517e80ba1e1558aea0b43196332dd593076c84 diff --git a/processes/pictures/deciding.sha b/processes/pictures/deciding.sha index 027e7c3..31a7711 100644 --- a/processes/pictures/deciding.sha +++ b/processes/pictures/deciding.sha @@ -1 +1 @@ -38fbc888caadf93f21afae94897af7ae56985f3c40064fde31ed04c7e282af06 +c6e6621c5b8192f1327eb4b7a0c1d5ada7e26b28111787b3925f3537f93a86ea diff --git a/processes/pictures/delivery.sha b/processes/pictures/delivery.sha index b8680ee..7ba3d92 100644 --- a/processes/pictures/delivery.sha +++ b/processes/pictures/delivery.sha @@ -1 +1 @@ -cd93b530078ab085dec3fd07ca7d4da66ab9d5bf81fa551353840562c7e1433d +6a6e06aa0eaba47199ef309fa97db0b7a723c9fe833b7c9fd6c872c41afab028 diff --git a/processes/pictures/feature-request.sha b/processes/pictures/feature-request.sha index faf32d7..251f0b1 100644 --- a/processes/pictures/feature-request.sha +++ b/processes/pictures/feature-request.sha @@ -1 +1 @@ -69b2ec4eec4dc11171187c708c60f0c447e3434b7548d80c8ebeab6a7425cef4 +c4eba458643112eb2876655be56af4b7206fcc1b7367b07d795190e244f4f568 diff --git a/processes/pictures/narrating.sha b/processes/pictures/narrating.sha index 8ed97bd..2ca813a 100644 --- a/processes/pictures/narrating.sha +++ b/processes/pictures/narrating.sha @@ -1 +1 @@ -048e6e882f2082f7259c87825cd3f7a5a4c78c12e53c9866f75069d6d0119b24 +527c0dd790ba7dc2fc0c18e2c835914de7e283581a8ed11b727d7c49b5df5c58 diff --git a/surfaces/og.sha b/surfaces/og.sha index e1f0daf..a93a27a 100644 --- a/surfaces/og.sha +++ b/surfaces/og.sha @@ -1 +1 @@ -3e1f1dd4434aab3436b5e62cf8546bcc2902f86d25109679f09f9c5986d1949f +46e0e491acf35ac3de7db370350add2e11177f120d5189fca76f10acebc13444 diff --git a/talks/intro/og.sha b/talks/intro/og.sha index 4ff79aa..5c280d7 100644 --- a/talks/intro/og.sha +++ b/talks/intro/og.sha @@ -1 +1 @@ -ce0fc93d958f918cffb3e9bc490bee4a4f2804d5d88d350e8036e71bb46fb8ac +1f9f6d049ed514c5f616368a23322b9126e805977dd0d5f7a143cb720e5ba474 diff --git a/talks/og.sha b/talks/og.sha index 951837d..910792c 100644 --- a/talks/og.sha +++ b/talks/og.sha @@ -1 +1 @@ -4a8276464058b68abd8dad5826ab61fdc61646b210ce507fe5841c249ad03a3e +a3859b2cb8729328f832c93bff6a73a553c240a18bee14738ac28f1c8088fc1a