sad-mcp 2.3.2 → 2.3.3
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
|
@@ -5,7 +5,7 @@ Source lectures: שיעורים 6-7 תרשים מחלקות.pptx, ניתוץ ש
|
|
|
5
5
|
## Elements Taught
|
|
6
6
|
|
|
7
7
|
- **Classes** — three compartments: name, attributes, operations
|
|
8
|
-
- **Enumerations** — `«enumeration»` stereotype; use when: closed list, textual values, ≤~20 items. Do NOT use for open-ended or numeric choices
|
|
8
|
+
- **Enumerations** — `«enumeration»` stereotype; use when: closed list, textual values, ≤~20 items. Do NOT use for open-ended or numeric choices. Draw as an **unconnected box** next to the class that uses it — no dependency or association line to the class.
|
|
9
9
|
- **Packages (חבילה)** — grouping mechanism for related classes; taught as an organizational concept
|
|
10
10
|
- **Abstract classes / interfaces** — not explicitly covered in lectures; avoid adding unless user asks
|
|
11
11
|
|
|
@@ -69,7 +69,7 @@ Source lectures: שיעורים 6-7 תרשים מחלקות.pptx, ניתוץ ש
|
|
|
69
69
|
- Strict LEFT/CENTER/RIGHT zone layout — lectures don't prescribe this
|
|
70
70
|
- Interactive composition-toggle panel — not a teaching concept
|
|
71
71
|
- Enumerations placed only in a "RIGHT zone" — not explicitly taught
|
|
72
|
-
-
|
|
72
|
+
- Enumerations are drawn as **unconnected boxes** next to their using class — the course does **not** draw a dependency (or any) line from a class to an enum; the attribute type reference is the only link (instructor rule, 2026)
|
|
73
73
|
- Association class connected to midpoint — taught in principle but not the dashed-line-to-midpoint rule specifically
|
|
74
74
|
|
|
75
75
|
### Rules lectures teach that SKILL.md omits or misrepresents
|
|
@@ -66,6 +66,7 @@ Two common false positives:
|
|
|
66
66
|
- Use enumerations when: closed list, textual values, ≤~20 items, will not change often
|
|
67
67
|
- Do NOT use for open-ended, numeric, or frequently changing value sets
|
|
68
68
|
- Place enumerations adjacent to the class that uses them, not in a fixed zone
|
|
69
|
+
- **Do NOT connect an enumeration to a class with any line** (no dependency, no association). The attribute type reference (`status : RegistrationStatus`) is the only link. `type: 'dep'` in RELS is not used.
|
|
69
70
|
|
|
70
71
|
### Packages (חבילה)
|
|
71
72
|
- Draw as a tabbed rectangle enclosing related classes
|
|
@@ -83,11 +84,11 @@ Two common false positives:
|
|
|
83
84
|
| Aggregation | Solid | Hollow diamond at whole | "has-a", part can exist independently |
|
|
84
85
|
| Composition | Solid | Filled diamond at whole | Part cannot exist without whole |
|
|
85
86
|
| Generalization | Solid | Hollow triangle at parent | True is-a; subtypes have different attributes/ops |
|
|
86
|
-
| Dependency | Dashed | Open arrow | **
|
|
87
|
+
| Dependency | Dashed | Open arrow | **Not used in this course's class diagrams.** Enumerations are NOT connected to their using class by any line (see §2 / §3 CRITICAL). Never draw a dependency between two regular classes either — use a plain association. |
|
|
87
88
|
|
|
88
89
|
> **CRITICAL — domain diagram association rules:**
|
|
89
90
|
> - Plain association (──): the default for every class-to-class relationship. No arrowheads.
|
|
90
|
-
> - Dependency (---→):
|
|
91
|
+
> - Dependency (---→): **not used at all.** Enumerations are drawn as unconnected boxes placed next to their using class — no line of any kind. The attribute type reference (`status : RegistrationStatus`) is the only link. Do not draw a dependency between two regular classes either.
|
|
91
92
|
> - Directed association (──→): never in a domain or analysis diagram.
|
|
92
93
|
|
|
93
94
|
**Multiplicity at both ends of every association**: `1`, `0..1`, `1..*`, `0..*`. Never leave one end unlabeled.
|
|
@@ -484,7 +485,7 @@ When in doubt, use the male form.
|
|
|
484
485
|
- [ ] Hebrew names use male form
|
|
485
486
|
- [ ] **No raw SVG class boxes** — class boxes are rendered by `svgBox()` from `CLASSES` data, not hand-written SVG
|
|
486
487
|
- [ ] **No arrowheads on plain associations** — `type: 'assoc'` in RELS produces no marker; directed association never appears in domain/analysis diagrams
|
|
487
|
-
- [ ] **
|
|
488
|
+
- [ ] **No dependency lines at all** — enumerations are unconnected boxes placed near their using class (no `type: 'dep'`); dependency is not used in this course's class diagrams, and never between two regular classes
|
|
488
489
|
- [ ] **`<html>` has no `dir="rtl"`** — SVG coordinates are LTR; page language does not affect SVG rendering
|
|
489
490
|
- [ ] **`boxH()` / `boxW()` from §9d engine used** — never hardcode box dimensions in data or SVG
|
|
490
491
|
- [ ] **Attribute/operation rows: `text-anchor="start"` at `x = box.x + 6`** — enforced by engine; do not override
|