From 0cecf21bd8700db6b85b818cfb1768a87df67c95 Mon Sep 17 00:00:00 2001 From: Malcolm Nixon Date: Tue, 7 Jul 2026 23:36:40 -0400 Subject: [PATCH 1/2] fix: remove asTreeDiagram from SysML2 view examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The asTreeDiagram render style produces narrow horizontal trees that exceed PDF page width. The default render (no directive) uses the package/folder-diagram style — roughly rectangular, with a folder tab and a members compartment — which fits document pages correctly. - Remove all 'render asTreeDiagram;' lines from the Views code example - Replace the 'render asTreeDiagram' reference in the Critical distinction paragraph with 'asInterconnectionDiagram' (a neutral alternative) - Add an explicit note explaining that the default style is preferred and why asTreeDiagram should be avoided Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/.github/standards/sysml2-modeling.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/.github/standards/sysml2-modeling.md b/src/.github/standards/sysml2-modeling.md index 60f7b96..852339c 100644 --- a/src/.github/standards/sysml2-modeling.md +++ b/src/.github/standards/sysml2-modeling.md @@ -127,25 +127,28 @@ Views control what gets rendered into diagrams for the design document. Use name package {SystemName} { view SoftwareStructureView { expose {SystemName}; // whole package: system + subsystems + units - render asTreeDiagram; } view {SystemName}View { expose {SystemName}System; // system def only, not expanded into subsystems - render asTreeDiagram; } view {SubsystemName}View { expose {SubsystemName}; // one subsystem def only - render asTreeDiagram; } } ``` +Omit the `render` directive to use the default package/folder-diagram style, which renders +as roughly rectangular blocks (folder tab in the top-left corner, members listed in a +compartment below) and fits document pages well. Specifying `render asTreeDiagram` overrides +this with a narrow horizontal tree that typically exceeds page width and produces poor PDF +output. + **Critical distinction** (do not confuse these — this cost significant trial-and-error to discover): `expose ;` is what scopes a rendered diagram's content (the union of the named element's containment subtree). `render ;` selects a rendering *style* (e.g. -`asTreeDiagram`) — it has **no effect on scope**. `expose` is only legal inside a named +`asInterconnectionDiagram`) — it has **no effect on scope**. `expose` is only legal inside a named `view Name { ... }` **usage**; it is a syntax/semantic error inside a `view def Name { ... }` **definition**. `expose` targets must be `::`-qualified or locally-resolvable names, not dotted member-access chains (`expose foo.bar;` is invalid — use `expose Bar;`). From 3812f3850535bc30022a124df8820b9afae03fa0 Mon Sep 17 00:00:00 2001 From: Malcolm Nixon Date: Tue, 7 Jul 2026 23:43:39 -0400 Subject: [PATCH 2/2] fix: drop unnecessary negative guidance on render directive Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/.github/standards/sysml2-modeling.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/.github/standards/sysml2-modeling.md b/src/.github/standards/sysml2-modeling.md index 852339c..c5558e1 100644 --- a/src/.github/standards/sysml2-modeling.md +++ b/src/.github/standards/sysml2-modeling.md @@ -139,12 +139,6 @@ package {SystemName} { } ``` -Omit the `render` directive to use the default package/folder-diagram style, which renders -as roughly rectangular blocks (folder tab in the top-left corner, members listed in a -compartment below) and fits document pages well. Specifying `render asTreeDiagram` overrides -this with a narrow horizontal tree that typically exceeds page width and produces poor PDF -output. - **Critical distinction** (do not confuse these — this cost significant trial-and-error to discover): `expose ;` is what scopes a rendered diagram's content (the union of the named element's containment subtree). `render ;` selects a rendering *style* (e.g.