sad-mcp 2.2.3 → 2.2.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sad-mcp",
3
- "version": "2.2.3",
3
+ "version": "2.2.5",
4
4
  "description": "MCP server for Software Analysis and Design course materials at BGU",
5
5
  "type": "module",
6
6
  "bin": {
@@ -243,6 +243,35 @@ endpoint = { x: cx + rx * Math.cos(angle), y: cy + ry * Math.sin(angle) };
243
243
 
244
244
  **No legend.** Do not add a legend bar to the diagram.
245
245
 
246
+ ### «include» / «extend» arrow template
247
+
248
+ Define markers once in `<defs>` using `<polyline>` (NOT `<polygon>` — polygon closes the triangle, producing a double-headed appearance):
249
+
250
+ ```svg
251
+ <defs>
252
+ <marker id="arrow-include" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
253
+ <polyline points="0 0, 9 3.5, 0 7" fill="none" stroke="#7c3aed" stroke-width="1.2"/>
254
+ </marker>
255
+ <marker id="arrow-extend" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
256
+ <polyline points="0 0, 9 3.5, 0 7" fill="none" stroke="#7c3aed" stroke-width="1.2"/>
257
+ </marker>
258
+ </defs>
259
+ ```
260
+
261
+ For each «include»/«extend» line, add a `<text>` with `data-label-for="{from-id} {to-id}"` — `fixLayout` reads this and repositions the label to the line midpoint automatically:
262
+
263
+ ```svg
264
+ <line data-conn-from="uc-a" data-conn-to="uc-b"
265
+ x1="0" y1="0" x2="0" y2="0"
266
+ stroke="#7c3aed" stroke-width="1.6" stroke-dasharray="6 4"
267
+ marker-end="url(#arrow-include)"/>
268
+ <text data-label-for="uc-a uc-b" x="0" y="0"
269
+ text-anchor="middle" font-size="9.5" fill="#7c3aed"
270
+ font-family="'IBM Plex Mono',monospace">«include»</text>
271
+ ```
272
+
273
+ **Never write `«include target»` or any annotation inside a UC ellipse group.**
274
+
246
275
  ---
247
276
 
248
277
  ## 6. Layout
@@ -760,6 +789,9 @@ Available wireframe classes (for §WF): `wf-screen`, `wf-heading`, `wf-row`, `wf
760
789
  <title>[System] — Use Case Diagram</title>
761
790
  <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Hebrew:wght@400;600&family=IBM+Plex+Mono:wght@400;700&display=swap" rel="stylesheet">
762
791
  <link href="https://themathbible.com/sad-mcp/uc-diagram-common.css" rel="stylesheet">
792
+ <!-- REQUIRED: uc-diagram-common.css sets display:flex on .diagram-part, which overrides
793
+ the browser's [hidden]{display:none}. This one-liner restores correct tab switching. -->
794
+ <style>[hidden] { display: none !important; }</style>
763
795
  </head>
764
796
  <body>
765
797
  <!-- Tab bar (only when split) -->