@cda/adapter-xma 0.4.3 → 0.6.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/LICENSE +21 -0
- package/README.md +54 -20
- package/dist/cjs/diagnostics/diagnostics.d.ts.map +1 -0
- package/dist/cjs/diagnostics/diagnostics.js +23 -0
- package/dist/cjs/diagnostics/diagnostics.js.map +1 -0
- package/dist/cjs/diagnostics/errors.d.ts.map +1 -0
- package/dist/cjs/diagnostics/errors.js +24 -0
- package/dist/cjs/diagnostics/errors.js.map +1 -0
- package/dist/cjs/geometry/bendpoints.d.ts.map +1 -0
- package/dist/cjs/geometry/bendpoints.js +51 -0
- package/dist/cjs/geometry/bendpoints.js.map +1 -0
- package/dist/cjs/geometry/geometry.d.ts +75 -0
- package/dist/cjs/geometry/geometry.d.ts.map +1 -0
- package/dist/cjs/geometry/geometry.js +77 -0
- package/dist/cjs/geometry/geometry.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/infrastructure/assert.d.ts +10 -0
- package/dist/cjs/infrastructure/assert.d.ts.map +1 -0
- package/dist/cjs/infrastructure/assert.js +18 -0
- package/dist/cjs/infrastructure/assert.js.map +1 -0
- package/dist/cjs/infrastructure/id-allocator.d.ts.map +1 -0
- package/dist/cjs/infrastructure/id-allocator.js +59 -0
- package/dist/cjs/infrastructure/id-allocator.js.map +1 -0
- package/dist/cjs/infrastructure/xml-writer.d.ts.map +1 -0
- package/dist/cjs/infrastructure/xml-writer.js +94 -0
- package/dist/cjs/infrastructure/xml-writer.js.map +1 -0
- package/dist/cjs/mapping/element-mapping.d.ts.map +1 -0
- package/dist/cjs/mapping/element-mapping.js +117 -0
- package/dist/cjs/mapping/element-mapping.js.map +1 -0
- package/dist/cjs/mapping/generic-relationship-mapping.d.ts.map +1 -0
- package/dist/cjs/mapping/generic-relationship-mapping.js +71 -0
- package/dist/cjs/mapping/generic-relationship-mapping.js.map +1 -0
- package/dist/cjs/mapping/relationship-mapping.d.ts.map +1 -0
- package/dist/cjs/mapping/relationship-mapping.js +697 -0
- package/dist/cjs/mapping/relationship-mapping.js.map +1 -0
- package/dist/cjs/mapping/scheme-mapping.d.ts.map +1 -0
- package/dist/cjs/mapping/scheme-mapping.js +42 -0
- package/dist/cjs/mapping/scheme-mapping.js.map +1 -0
- package/dist/{mapping → cjs/mapping}/visual-mapping.d.ts +8 -0
- package/dist/cjs/mapping/visual-mapping.d.ts.map +1 -0
- package/dist/cjs/mapping/visual-mapping.js +51 -0
- package/dist/cjs/mapping/visual-mapping.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/serializer/document-writer.d.ts.map +1 -0
- package/dist/cjs/serializer/document-writer.js +143 -0
- package/dist/cjs/serializer/document-writer.js.map +1 -0
- package/dist/{serializer → cjs/serializer}/graphical-writer.d.ts +8 -6
- package/dist/cjs/serializer/graphical-writer.d.ts.map +1 -0
- package/dist/cjs/serializer/graphical-writer.js +521 -0
- package/dist/cjs/serializer/graphical-writer.js.map +1 -0
- package/dist/cjs/serializer/profile-values.d.ts.map +1 -0
- package/dist/cjs/serializer/profile-values.js +28 -0
- package/dist/cjs/serializer/profile-values.js.map +1 -0
- package/dist/cjs/serializer/relationship-writer.d.ts.map +1 -0
- package/dist/cjs/serializer/relationship-writer.js +109 -0
- package/dist/cjs/serializer/relationship-writer.js.map +1 -0
- package/dist/cjs/serializer/rtf.d.ts.map +1 -0
- package/dist/cjs/serializer/rtf.js +67 -0
- package/dist/cjs/serializer/rtf.js.map +1 -0
- package/dist/cjs/serializer/semantic-writer.d.ts.map +1 -0
- package/dist/cjs/serializer/semantic-writer.js +170 -0
- package/dist/cjs/serializer/semantic-writer.js.map +1 -0
- package/dist/cjs/serializer/serialize-xma.d.ts.map +1 -0
- package/dist/cjs/serializer/serialize-xma.js +113 -0
- package/dist/cjs/serializer/serialize-xma.js.map +1 -0
- package/dist/{serializer → cjs/serializer}/view-writer.d.ts +6 -0
- package/dist/cjs/serializer/view-writer.d.ts.map +1 -0
- package/dist/cjs/serializer/view-writer.js +239 -0
- package/dist/cjs/serializer/view-writer.js.map +1 -0
- package/dist/esm/diagnostics/diagnostics.d.ts +20 -0
- package/dist/esm/diagnostics/diagnostics.d.ts.map +1 -0
- package/dist/esm/diagnostics/diagnostics.js.map +1 -0
- package/dist/esm/diagnostics/errors.d.ts +13 -0
- package/dist/esm/diagnostics/errors.d.ts.map +1 -0
- package/dist/esm/diagnostics/errors.js.map +1 -0
- package/dist/esm/geometry/bendpoints.d.ts +33 -0
- package/dist/esm/geometry/bendpoints.d.ts.map +1 -0
- package/dist/{geometry → esm/geometry}/bendpoints.js +6 -2
- package/dist/esm/geometry/bendpoints.js.map +1 -0
- package/dist/esm/geometry/geometry.d.ts +75 -0
- package/dist/esm/geometry/geometry.d.ts.map +1 -0
- package/dist/{geometry → esm/geometry}/geometry.js +25 -6
- package/dist/esm/geometry/geometry.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/infrastructure/assert.d.ts +10 -0
- package/dist/esm/infrastructure/assert.d.ts.map +1 -0
- package/dist/esm/infrastructure/assert.js +15 -0
- package/dist/esm/infrastructure/assert.js.map +1 -0
- package/dist/esm/infrastructure/id-allocator.d.ts +34 -0
- package/dist/esm/infrastructure/id-allocator.d.ts.map +1 -0
- package/dist/esm/infrastructure/id-allocator.js.map +1 -0
- package/dist/esm/infrastructure/xml-writer.d.ts +20 -0
- package/dist/esm/infrastructure/xml-writer.d.ts.map +1 -0
- package/dist/{infrastructure → esm/infrastructure}/xml-writer.js +37 -2
- package/dist/esm/infrastructure/xml-writer.js.map +1 -0
- package/dist/esm/mapping/element-mapping.d.ts +31 -0
- package/dist/esm/mapping/element-mapping.d.ts.map +1 -0
- package/dist/esm/mapping/element-mapping.js.map +1 -0
- package/dist/esm/mapping/generic-relationship-mapping.d.ts +18 -0
- package/dist/esm/mapping/generic-relationship-mapping.d.ts.map +1 -0
- package/dist/esm/mapping/generic-relationship-mapping.js.map +1 -0
- package/dist/esm/mapping/relationship-mapping.d.ts +47 -0
- package/dist/esm/mapping/relationship-mapping.d.ts.map +1 -0
- package/dist/esm/mapping/relationship-mapping.js.map +1 -0
- package/dist/esm/mapping/scheme-mapping.d.ts +38 -0
- package/dist/esm/mapping/scheme-mapping.d.ts.map +1 -0
- package/dist/esm/mapping/scheme-mapping.js.map +1 -0
- package/dist/esm/mapping/visual-mapping.d.ts +32 -0
- package/dist/esm/mapping/visual-mapping.d.ts.map +1 -0
- package/dist/{mapping → esm/mapping}/visual-mapping.js +8 -0
- package/dist/esm/mapping/visual-mapping.js.map +1 -0
- package/dist/esm/serializer/document-writer.d.ts +40 -0
- package/dist/esm/serializer/document-writer.d.ts.map +1 -0
- package/dist/{serializer → esm/serializer}/document-writer.js +5 -0
- package/dist/esm/serializer/document-writer.js.map +1 -0
- package/dist/esm/serializer/graphical-writer.d.ts +29 -0
- package/dist/esm/serializer/graphical-writer.d.ts.map +1 -0
- package/dist/{serializer → esm/serializer}/graphical-writer.js +213 -54
- package/dist/esm/serializer/graphical-writer.js.map +1 -0
- package/dist/esm/serializer/profile-values.d.ts +8 -0
- package/dist/esm/serializer/profile-values.d.ts.map +1 -0
- package/dist/esm/serializer/profile-values.js.map +1 -0
- package/dist/esm/serializer/relationship-writer.d.ts +41 -0
- package/dist/esm/serializer/relationship-writer.d.ts.map +1 -0
- package/dist/{serializer → esm/serializer}/relationship-writer.js +4 -1
- package/dist/esm/serializer/relationship-writer.js.map +1 -0
- package/dist/esm/serializer/rtf.d.ts +9 -0
- package/dist/esm/serializer/rtf.d.ts.map +1 -0
- package/dist/{serializer → esm/serializer}/rtf.js +14 -0
- package/dist/esm/serializer/rtf.js.map +1 -0
- package/dist/esm/serializer/semantic-writer.d.ts +51 -0
- package/dist/esm/serializer/semantic-writer.d.ts.map +1 -0
- package/dist/{serializer → esm/serializer}/semantic-writer.js +24 -0
- package/dist/esm/serializer/semantic-writer.js.map +1 -0
- package/dist/esm/serializer/serialize-xma.d.ts +29 -0
- package/dist/esm/serializer/serialize-xma.d.ts.map +1 -0
- package/dist/{serializer → esm/serializer}/serialize-xma.js +40 -1
- package/dist/esm/serializer/serialize-xma.js.map +1 -0
- package/dist/esm/serializer/view-writer.d.ts +33 -0
- package/dist/esm/serializer/view-writer.d.ts.map +1 -0
- package/dist/esm/serializer/view-writer.js +236 -0
- package/dist/esm/serializer/view-writer.js.map +1 -0
- package/package.json +20 -9
- package/dist/diagnostics/diagnostics.d.ts.map +0 -1
- package/dist/diagnostics/diagnostics.js.map +0 -1
- package/dist/diagnostics/errors.d.ts.map +0 -1
- package/dist/diagnostics/errors.js.map +0 -1
- package/dist/geometry/bendpoints.d.ts.map +0 -1
- package/dist/geometry/bendpoints.js.map +0 -1
- package/dist/geometry/geometry.d.ts +0 -48
- package/dist/geometry/geometry.d.ts.map +0 -1
- package/dist/geometry/geometry.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/infrastructure/id-allocator.d.ts.map +0 -1
- package/dist/infrastructure/id-allocator.js.map +0 -1
- package/dist/infrastructure/xml-writer.d.ts.map +0 -1
- package/dist/infrastructure/xml-writer.js.map +0 -1
- package/dist/mapping/element-mapping.d.ts.map +0 -1
- package/dist/mapping/element-mapping.js.map +0 -1
- package/dist/mapping/generic-relationship-mapping.d.ts.map +0 -1
- package/dist/mapping/generic-relationship-mapping.js.map +0 -1
- package/dist/mapping/relationship-mapping.d.ts.map +0 -1
- package/dist/mapping/relationship-mapping.js.map +0 -1
- package/dist/mapping/scheme-mapping.d.ts.map +0 -1
- package/dist/mapping/scheme-mapping.js.map +0 -1
- package/dist/mapping/visual-mapping.d.ts.map +0 -1
- package/dist/mapping/visual-mapping.js.map +0 -1
- package/dist/serializer/document-writer.d.ts.map +0 -1
- package/dist/serializer/document-writer.js.map +0 -1
- package/dist/serializer/graphical-writer.d.ts.map +0 -1
- package/dist/serializer/graphical-writer.js.map +0 -1
- package/dist/serializer/profile-values.d.ts.map +0 -1
- package/dist/serializer/profile-values.js.map +0 -1
- package/dist/serializer/relationship-writer.d.ts.map +0 -1
- package/dist/serializer/relationship-writer.js.map +0 -1
- package/dist/serializer/rtf.d.ts.map +0 -1
- package/dist/serializer/rtf.js.map +0 -1
- package/dist/serializer/semantic-writer.d.ts.map +0 -1
- package/dist/serializer/semantic-writer.js.map +0 -1
- package/dist/serializer/serialize-xma.d.ts.map +0 -1
- package/dist/serializer/serialize-xma.js.map +0 -1
- package/dist/serializer/view-writer.d.ts.map +0 -1
- package/dist/serializer/view-writer.js +0 -145
- package/dist/serializer/view-writer.js.map +0 -1
- /package/dist/{diagnostics → cjs/diagnostics}/diagnostics.d.ts +0 -0
- /package/dist/{diagnostics → cjs/diagnostics}/errors.d.ts +0 -0
- /package/dist/{geometry → cjs/geometry}/bendpoints.d.ts +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{infrastructure → cjs/infrastructure}/id-allocator.d.ts +0 -0
- /package/dist/{infrastructure → cjs/infrastructure}/xml-writer.d.ts +0 -0
- /package/dist/{mapping → cjs/mapping}/element-mapping.d.ts +0 -0
- /package/dist/{mapping → cjs/mapping}/generic-relationship-mapping.d.ts +0 -0
- /package/dist/{mapping → cjs/mapping}/relationship-mapping.d.ts +0 -0
- /package/dist/{mapping → cjs/mapping}/scheme-mapping.d.ts +0 -0
- /package/dist/{serializer → cjs/serializer}/document-writer.d.ts +0 -0
- /package/dist/{serializer → cjs/serializer}/profile-values.d.ts +0 -0
- /package/dist/{serializer → cjs/serializer}/relationship-writer.d.ts +0 -0
- /package/dist/{serializer → cjs/serializer}/rtf.d.ts +0 -0
- /package/dist/{serializer → cjs/serializer}/semantic-writer.d.ts +0 -0
- /package/dist/{serializer → cjs/serializer}/serialize-xma.d.ts +0 -0
- /package/dist/{diagnostics → esm/diagnostics}/diagnostics.js +0 -0
- /package/dist/{diagnostics → esm/diagnostics}/errors.js +0 -0
- /package/dist/{index.js → esm/index.js} +0 -0
- /package/dist/{infrastructure → esm/infrastructure}/id-allocator.js +0 -0
- /package/dist/{mapping → esm/mapping}/element-mapping.js +0 -0
- /package/dist/{mapping → esm/mapping}/generic-relationship-mapping.js +0 -0
- /package/dist/{mapping → esm/mapping}/relationship-mapping.js +0 -0
- /package/dist/{mapping → esm/mapping}/scheme-mapping.js +0 -0
- /package/dist/{serializer → esm/serializer}/profile-values.js +0 -0
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildGraphicalModule = buildGraphicalModule;
|
|
4
|
+
const xml_writer_js_1 = require("../infrastructure/xml-writer.js");
|
|
5
|
+
const id_allocator_js_1 = require("../infrastructure/id-allocator.js");
|
|
6
|
+
const assert_js_1 = require("../infrastructure/assert.js");
|
|
7
|
+
const visual_mapping_js_1 = require("../mapping/visual-mapping.js");
|
|
8
|
+
const geometry_js_1 = require("../geometry/geometry.js");
|
|
9
|
+
const bendpoints_js_1 = require("../geometry/bendpoints.js");
|
|
10
|
+
/**
|
|
11
|
+
* Converts a diagram object's/note's `bounds` into a `Rect`, re-checking
|
|
12
|
+
* completeness explicitly rather than trusting it across the function
|
|
13
|
+
* boundary from view-writer's earlier validation pass via an unchecked
|
|
14
|
+
* cast. `bounds` is only ever incomplete here if that invariant is somehow
|
|
15
|
+
* violated — in which case this reports the same `missing-bounds`
|
|
16
|
+
* diagnostic view-writer would have, instead of emitting `NaN`/`null`
|
|
17
|
+
* arithmetic into the output.
|
|
18
|
+
*/
|
|
19
|
+
function resolveDrawableBounds(bounds, diagnostics, entityId, entityType) {
|
|
20
|
+
if (!(0, geometry_js_1.hasCompleteBounds)(bounds)) {
|
|
21
|
+
diagnostics.error({
|
|
22
|
+
code: 'missing-bounds',
|
|
23
|
+
message: `"${entityId}" has incomplete geometry (x/y/width/height) and cannot be positioned in XMA.`,
|
|
24
|
+
entityId,
|
|
25
|
+
entityType,
|
|
26
|
+
});
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return (0, geometry_js_1.toRect)(bounds);
|
|
30
|
+
}
|
|
31
|
+
function colorElement(name, rgb, id) {
|
|
32
|
+
const attrs = [['id', String(id)]];
|
|
33
|
+
if (name !== null) {
|
|
34
|
+
attrs.push(['name', name]);
|
|
35
|
+
}
|
|
36
|
+
// Only regular styled colors carry r/g/b; a bare default (e.g. relationship line color) omits them — confirmed shape.
|
|
37
|
+
// A zero-valued channel is itself omitted rather than written as "0" —
|
|
38
|
+
// confirmed against the sabsa fixture's one explicit connection lineColor
|
|
39
|
+
// override (#ff0000): its MM_Color is `mm_r="255"` alone, g/b entirely
|
|
40
|
+
// absent, not `mm_g="0" mm_b="0"`. Same omit-when-zero convention already
|
|
41
|
+
// confirmed for bounds x/y in geometry.ts.
|
|
42
|
+
if (rgb) {
|
|
43
|
+
if (rgb.r !== 0)
|
|
44
|
+
attrs.push(['mm_r', String(rgb.r)]);
|
|
45
|
+
if (rgb.g !== 0)
|
|
46
|
+
attrs.push(['mm_g', String(rgb.g)]);
|
|
47
|
+
if (rgb.b !== 0)
|
|
48
|
+
attrs.push(['mm_b', String(rgb.b)]);
|
|
49
|
+
}
|
|
50
|
+
return (0, xml_writer_js_1.element)('MM_Diagram:MM_Color', attrs);
|
|
51
|
+
}
|
|
52
|
+
function rectElement(id, rect) {
|
|
53
|
+
const scaled = (0, geometry_js_1.scaleRect)(rect);
|
|
54
|
+
return (0, xml_writer_js_1.element)('MM_Rect', [
|
|
55
|
+
['name', 'mm_rect'],
|
|
56
|
+
['x', String(scaled.x)],
|
|
57
|
+
['y', String(scaled.y)],
|
|
58
|
+
['w', String(scaled.width)],
|
|
59
|
+
['h', String(scaled.height)],
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Resolves a node's effective fill/line/font, applying explicit Archi
|
|
64
|
+
* styling only where mechanically lossless (a direct hex RGB copy, a
|
|
65
|
+
* verbatim font-name substitution into the same structural slot, or the
|
|
66
|
+
* confirmed font-size formula) — per v0.1 policy, everything else explicit
|
|
67
|
+
* (bold/italic, line width, font color) is diagnosed as an unsupported
|
|
68
|
+
* style override rather than guessed.
|
|
69
|
+
*/
|
|
70
|
+
function resolveNodeVisuals(style, defaultFill, diagnostics, entityId, entityType) {
|
|
71
|
+
let fill = defaultFill;
|
|
72
|
+
let line = visual_mapping_js_1.DEFAULT_LINE_COLOR;
|
|
73
|
+
let fontName = visual_mapping_js_1.DEFAULT_FONT_NAME;
|
|
74
|
+
let fontSize = visual_mapping_js_1.DEFAULT_FONT_SIZE;
|
|
75
|
+
// Never reassigned: alpha has zero fixture evidence, so it's diagnosed
|
|
76
|
+
// (see below) rather than applied — fillOpacity always stays the default.
|
|
77
|
+
const fillOpacity = visual_mapping_js_1.DEFAULT_OPACITY;
|
|
78
|
+
if (style) {
|
|
79
|
+
if (style.fillColor !== null) {
|
|
80
|
+
const parsed = (0, visual_mapping_js_1.parseArchiHexColor)(style.fillColor);
|
|
81
|
+
if (parsed) {
|
|
82
|
+
fill = parsed;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
diagnostics.warning({
|
|
86
|
+
code: 'unsupported-style-fill-color',
|
|
87
|
+
message: `Fill color "${style.fillColor}" is not a recognized hex color and was not applied.`,
|
|
88
|
+
entityId,
|
|
89
|
+
entityType,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (style.lineColor !== null) {
|
|
94
|
+
const parsed = (0, visual_mapping_js_1.parseArchiHexColor)(style.lineColor);
|
|
95
|
+
if (parsed) {
|
|
96
|
+
line = parsed;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
diagnostics.warning({
|
|
100
|
+
code: 'unsupported-style-line-color',
|
|
101
|
+
message: `Line color "${style.lineColor}" is not a recognized hex color and was not applied.`,
|
|
102
|
+
entityId,
|
|
103
|
+
entityType,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (style.fontName !== null) {
|
|
108
|
+
fontName = style.fontName;
|
|
109
|
+
}
|
|
110
|
+
if (style.alpha !== null) {
|
|
111
|
+
// Not applied: zero occurrences of an explicit `alpha` in any of the
|
|
112
|
+
// four reference fixtures — no evidence for how (or whether) it maps
|
|
113
|
+
// to `mm_fillOpacity`, so per v0.1 policy this is diagnosed like every
|
|
114
|
+
// other unconfirmed style override, not guessed.
|
|
115
|
+
diagnostics.warning({
|
|
116
|
+
code: 'unsupported-style-alpha',
|
|
117
|
+
message: 'Explicit fill opacity (alpha) has no confirmed XMA representation and was not applied (default used).',
|
|
118
|
+
entityId,
|
|
119
|
+
entityType,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (style.fontColor !== null) {
|
|
123
|
+
diagnostics.warning({
|
|
124
|
+
code: 'unsupported-style-font-color',
|
|
125
|
+
message: 'Explicit font color has no confirmed XMA representation and was not applied.',
|
|
126
|
+
entityId,
|
|
127
|
+
entityType,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (style.fontSize !== null) {
|
|
131
|
+
// `mm_fontSize = floor(pt) * 20` — confirmed by both data points in
|
|
132
|
+
// the agile-manifesto fixture: an 11.25pt override -> mm_fontSize=220,
|
|
133
|
+
// a 14.25pt override -> mm_fontSize=280.
|
|
134
|
+
fontSize = Math.floor(style.fontSize) * 20;
|
|
135
|
+
}
|
|
136
|
+
if (style.fontStyle !== null && (style.fontStyle.bold || style.fontStyle.italic)) {
|
|
137
|
+
diagnostics.warning({
|
|
138
|
+
code: 'unsupported-style-font-style',
|
|
139
|
+
message: 'Explicit bold/italic font style has no confirmed XMA representation and was not applied.',
|
|
140
|
+
entityId,
|
|
141
|
+
entityType,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
if (style.lineWidth !== null) {
|
|
145
|
+
diagnostics.warning({
|
|
146
|
+
code: 'unsupported-style-line-width',
|
|
147
|
+
message: 'Explicit line width has no confirmed XMA representation and was not applied.',
|
|
148
|
+
entityId,
|
|
149
|
+
entityType,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return { fill, line, fontName, fontSize, fillOpacity };
|
|
154
|
+
}
|
|
155
|
+
function buildLabelDecoration(id, fontName, fontSize, extraAttrs = []) {
|
|
156
|
+
return (0, xml_writer_js_1.element)('MM_Diagram:MM_Decoration', [['id', String(id)], ['mm_fontSize', String(fontSize)], ['mm_graphicType', '2'], ['mm_concept', 'label'], ...extraAttrs], [(0, xml_writer_js_1.textElement)('mm_font', fontName)]);
|
|
157
|
+
}
|
|
158
|
+
function buildIconDecoration(id) {
|
|
159
|
+
return (0, xml_writer_js_1.element)('MM_Diagram:MM_Decoration', [
|
|
160
|
+
['id', String(id)],
|
|
161
|
+
['mm_graphicType', '2'],
|
|
162
|
+
['mm_concept', 'icon'],
|
|
163
|
+
]);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Builds a fully-styled `MM_Node` for an element-backed diagram object, a
|
|
167
|
+
* Group, or a Note/ViewGraphic. `nestedChildrenXml` are already-built child
|
|
168
|
+
* `MM_Node`s (from nested diagram objects) — confirmed to nest as siblings
|
|
169
|
+
* of the icon/label `MM_Decoration`s inside the same `MM_Graphics`, after
|
|
170
|
+
* them, in both fixtures. Their `MM_Rect` bounds are used as-is (the same
|
|
171
|
+
* ×3 scale as every other node) — confirmed to already be relative to the
|
|
172
|
+
* parent in both Archi and XMA, so no offset math is needed.
|
|
173
|
+
*/
|
|
174
|
+
function buildStyledNode(ids, nodeXmaId, concept, semanticObject, hasIcon, visuals, bounds, symbolName, labelExtraAttrs = [], nestedChildrenXml = []) {
|
|
175
|
+
const graphicsChildren = [];
|
|
176
|
+
if (hasIcon) {
|
|
177
|
+
graphicsChildren.push(buildIconDecoration(ids.fresh()));
|
|
178
|
+
}
|
|
179
|
+
graphicsChildren.push(buildLabelDecoration(ids.fresh(), visuals.fontName, visuals.fontSize, labelExtraAttrs));
|
|
180
|
+
graphicsChildren.push(...nestedChildrenXml);
|
|
181
|
+
const attrs = [
|
|
182
|
+
['id', String(nodeXmaId)],
|
|
183
|
+
['mm_graphicType', '5'],
|
|
184
|
+
['mm_concept', concept],
|
|
185
|
+
];
|
|
186
|
+
if (symbolName) {
|
|
187
|
+
attrs.push(['mm_symbolName', symbolName]);
|
|
188
|
+
}
|
|
189
|
+
attrs.push(['mm_lineOpacity', String(visual_mapping_js_1.DEFAULT_OPACITY)], ['mm_fillOpacity', String(visuals.fillOpacity)], ['mm_semanticObject', String(semanticObject)]);
|
|
190
|
+
return (0, xml_writer_js_1.element)('MM_Diagram:MM_Node', attrs, [
|
|
191
|
+
(0, xml_writer_js_1.element)('MM_Diagram:MM_Graphics', [['name', 'mm_graphics'], ['id', String(ids.fresh())]], graphicsChildren),
|
|
192
|
+
colorElement('mm_lineColor', visuals.line, ids.fresh()),
|
|
193
|
+
(0, xml_writer_js_1.element)('MM_Diagram:MM_Colors', [['name', 'mm_fillColors'], ['id', String(ids.fresh())]], [colorElement(null, visuals.fill, ids.fresh())]),
|
|
194
|
+
rectElement(ids.fresh(), bounds),
|
|
195
|
+
]);
|
|
196
|
+
}
|
|
197
|
+
const JUNCTION_XMA_TYPES = new Set(['Junction', 'OrJunction']);
|
|
198
|
+
/**
|
|
199
|
+
* A Junction carries no fill/line/font styling at all in either fixture
|
|
200
|
+
* (see `buildJunctionNode`) — so unlike `resolveNodeVisuals`'s per-field
|
|
201
|
+
* diagnostics for a regular node, any style override at all on a Junction
|
|
202
|
+
* diagram object is unsupported. Previously this was discarded with no
|
|
203
|
+
* indication anything was dropped.
|
|
204
|
+
*/
|
|
205
|
+
function reportUnsupportedJunctionStyle(obj, diagnostics) {
|
|
206
|
+
const style = obj.style;
|
|
207
|
+
if (!style)
|
|
208
|
+
return;
|
|
209
|
+
const hasOverride = style.fillColor !== null ||
|
|
210
|
+
style.lineColor !== null ||
|
|
211
|
+
style.fontColor !== null ||
|
|
212
|
+
style.fontName !== null ||
|
|
213
|
+
style.fontSize !== null ||
|
|
214
|
+
style.lineWidth !== null ||
|
|
215
|
+
style.alpha !== null ||
|
|
216
|
+
(style.fontStyle !== null && (style.fontStyle.bold || style.fontStyle.italic));
|
|
217
|
+
if (!hasOverride)
|
|
218
|
+
return;
|
|
219
|
+
diagnostics.warning({
|
|
220
|
+
code: 'unsupported-style-junction',
|
|
221
|
+
message: `Diagram object "${obj.id}" is a Junction with an explicit style override — Junctions have no confirmed styling representation in XMA (drawn with a fixed, colorless form) and the override was not applied.`,
|
|
222
|
+
entityId: obj.id,
|
|
223
|
+
entityType: 'ArchiDiagramObject',
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Builds a `Junction`/`OrJunction` node — confirmed structurally different
|
|
228
|
+
* from every other element node: `mm_graphicType="3"` (not `"5"`), and no
|
|
229
|
+
* `MM_Color`/`MM_Colors` at all (a Junction carries no fill/line styling in
|
|
230
|
+
* either fixture). Fabricating a color here would contradict that evidence,
|
|
231
|
+
* not fill a gap in it.
|
|
232
|
+
*/
|
|
233
|
+
function buildJunctionNode(ids, nodeXmaId, concept, semanticObject, bounds) {
|
|
234
|
+
return (0, xml_writer_js_1.element)('MM_Diagram:MM_Node', [
|
|
235
|
+
['id', String(nodeXmaId)],
|
|
236
|
+
['mm_graphicType', '3'],
|
|
237
|
+
['mm_concept', concept],
|
|
238
|
+
['mm_lineOpacity', String(visual_mapping_js_1.DEFAULT_OPACITY)],
|
|
239
|
+
['mm_fillOpacity', String(visual_mapping_js_1.DEFAULT_OPACITY)],
|
|
240
|
+
['mm_semanticObject', String(semanticObject)],
|
|
241
|
+
], [
|
|
242
|
+
(0, xml_writer_js_1.element)('MM_Diagram:MM_Graphics', [['name', 'mm_graphics'], ['id', String(ids.fresh())]], [
|
|
243
|
+
buildLabelDecoration(ids.fresh(), visual_mapping_js_1.DEFAULT_FONT_NAME, visual_mapping_js_1.DEFAULT_FONT_SIZE),
|
|
244
|
+
]),
|
|
245
|
+
rectElement(ids.fresh(), bounds),
|
|
246
|
+
]);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Builds a `DiagramModelReference` ("insert view as reference") node —
|
|
250
|
+
* confirmed against both instances in the agile-manifesto fixture:
|
|
251
|
+
* `mm_graphicType="3"` (like Junction, not the usual `"5"`), but *unlike*
|
|
252
|
+
* Junction it does carry an icon decoration and a fixed fill/line color
|
|
253
|
+
* (`VIEW_REFERENCE_FILL_COLOR`/`DEFAULT_LINE_COLOR` — no `style` element on
|
|
254
|
+
* either source object, so this is the construct's fixed default, not a
|
|
255
|
+
* style-resolution result). `semanticObject` is the Ref id pointing at the
|
|
256
|
+
* *referenced view's own* `ArchiMate:AllView` — see `view-writer.ts`.
|
|
257
|
+
*/
|
|
258
|
+
function buildViewReferenceNode(ids, nodeXmaId, semanticObject, bounds, nestedChildrenXml = []) {
|
|
259
|
+
return (0, xml_writer_js_1.element)('MM_Diagram:MM_Node', [
|
|
260
|
+
['id', String(nodeXmaId)],
|
|
261
|
+
['mm_graphicType', '3'],
|
|
262
|
+
['mm_concept', 'AllView'],
|
|
263
|
+
['mm_lineOpacity', String(visual_mapping_js_1.DEFAULT_OPACITY)],
|
|
264
|
+
['mm_fillOpacity', String(visual_mapping_js_1.DEFAULT_OPACITY)],
|
|
265
|
+
['mm_semanticObject', String(semanticObject)],
|
|
266
|
+
], [
|
|
267
|
+
(0, xml_writer_js_1.element)('MM_Diagram:MM_Graphics', [['name', 'mm_graphics'], ['id', String(ids.fresh())]], [
|
|
268
|
+
buildIconDecoration(ids.fresh()),
|
|
269
|
+
buildLabelDecoration(ids.fresh(), visual_mapping_js_1.DEFAULT_FONT_NAME, visual_mapping_js_1.DEFAULT_FONT_SIZE),
|
|
270
|
+
...nestedChildrenXml,
|
|
271
|
+
]),
|
|
272
|
+
colorElement('mm_lineColor', visual_mapping_js_1.DEFAULT_LINE_COLOR, ids.fresh()),
|
|
273
|
+
(0, xml_writer_js_1.element)('MM_Diagram:MM_Colors', [['name', 'mm_fillColors'], ['id', String(ids.fresh())]], [colorElement(null, visual_mapping_js_1.VIEW_REFERENCE_FILL_COLOR, ids.fresh())]),
|
|
274
|
+
rectElement(ids.fresh(), bounds),
|
|
275
|
+
]);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Builds the `GraphicalModule`'s `MM_Diagram` for one view: a Canvas node
|
|
279
|
+
* wrapping one `MM_Node` per drawable diagram object/group/note (nested
|
|
280
|
+
* diagram objects recursively nested inside their parent's `MM_Node`, via
|
|
281
|
+
* `buildNodeTree` — see `tests/fixtures/README.md`, "Nested diagram
|
|
282
|
+
* objects"), and one `MM_DirectedRel` per drawable connection.
|
|
283
|
+
*
|
|
284
|
+
* `mm_fromx`/`mm_fromy`/`mm_tox`/`mm_toy` (manual connector anchor
|
|
285
|
+
* metadata) are deliberately omitted — present on only a minority of
|
|
286
|
+
* connections in three of the four fixtures (5/93 in agile-manifesto, 1/3
|
|
287
|
+
* in relaciones, 15/346 in sabsa), never on all of them, which isn't
|
|
288
|
+
* enough evidence to derive a general formula for which connections get
|
|
289
|
+
* one or confirm they're mandatory for import (see project docs,
|
|
290
|
+
* "unresolved reverse-engineering limitations"). If a future fixture
|
|
291
|
+
* proves them required, add that behavior here, isolated from the rest of
|
|
292
|
+
* this function.
|
|
293
|
+
*/
|
|
294
|
+
function buildGraphicalModule(model, view, ids, refIds, allocator, mappedElements, mappedRelationships, viewResult, diagnostics) {
|
|
295
|
+
const diagramObjectById = new Map(model.diagramObjects.map((o) => [o.id, o]));
|
|
296
|
+
const noteById = new Map(model.notes.map((n) => [n.id, n]));
|
|
297
|
+
const nodeIds = new id_allocator_js_1.XmaIdRegistry(allocator);
|
|
298
|
+
const canvasChildren = [];
|
|
299
|
+
/**
|
|
300
|
+
* Builds one diagram object's node, recursively building and nesting its
|
|
301
|
+
* children first (bottom-up) — confirmed structure: a child `MM_Node`
|
|
302
|
+
* nests as a sibling of its parent's icon/label decorations, inside the
|
|
303
|
+
* same `MM_Graphics`, up to 3 levels deep in the sabsa fixture. Applies
|
|
304
|
+
* equally to element-backed objects and Groups (both confirmed to nest
|
|
305
|
+
* children this way). Returns `null` for an object this pass can't draw
|
|
306
|
+
* (already diagnosed elsewhere).
|
|
307
|
+
*/
|
|
308
|
+
function buildNodeTree(objId, ancestorIds = new Set()) {
|
|
309
|
+
const obj = diagramObjectById.get(objId);
|
|
310
|
+
if (!obj)
|
|
311
|
+
return null;
|
|
312
|
+
if (ancestorIds.has(objId)) {
|
|
313
|
+
diagnostics.error({
|
|
314
|
+
code: 'cyclic-diagram-object-nesting',
|
|
315
|
+
message: `Diagram object "${objId}" is its own descendant (a cyclic parent/child chain) and cannot be drawn.`,
|
|
316
|
+
entityId: objId,
|
|
317
|
+
entityType: 'ArchiDiagramObject',
|
|
318
|
+
});
|
|
319
|
+
return null;
|
|
320
|
+
}
|
|
321
|
+
const nextAncestorIds = new Set(ancestorIds).add(objId);
|
|
322
|
+
const nestedChildrenXml = obj.childrenIds
|
|
323
|
+
.map((childId) => buildNodeTree(childId, nextAncestorIds))
|
|
324
|
+
.filter((xml) => xml !== null);
|
|
325
|
+
if (viewResult.validElementNodeObjectIds.has(objId) && obj.archimateElementId) {
|
|
326
|
+
const mapping = (0, assert_js_1.assertDefined)(mappedElements.get(obj.archimateElementId), `no mapping for element "${obj.archimateElementId}" (view-writer should have skipped diagram object "${obj.id}")`);
|
|
327
|
+
const refId = (0, assert_js_1.assertDefined)(refIds.get(obj.archimateElementId), `no ref id registered for element "${obj.archimateElementId}" (view-writer should have registered it before graphical-writer runs)`);
|
|
328
|
+
const nodeXmaId = nodeIds.idFor(obj.id);
|
|
329
|
+
const bounds = resolveDrawableBounds(obj.bounds, diagnostics, obj.id, 'ArchiDiagramObject');
|
|
330
|
+
if (!bounds)
|
|
331
|
+
return null;
|
|
332
|
+
if (JUNCTION_XMA_TYPES.has(mapping.xmaType)) {
|
|
333
|
+
reportUnsupportedJunctionStyle(obj, diagnostics);
|
|
334
|
+
return buildJunctionNode(ids, nodeXmaId, mapping.xmaType, refId, bounds);
|
|
335
|
+
}
|
|
336
|
+
const visuals = resolveNodeVisuals(obj.style, visual_mapping_js_1.CATEGORY_FILL_COLOR[mapping.category], diagnostics, obj.id, 'ArchiDiagramObject');
|
|
337
|
+
return buildStyledNode(ids, nodeXmaId, mapping.xmaType, refId, mapping.hasIcon, visuals, bounds, null, [], nestedChildrenXml);
|
|
338
|
+
}
|
|
339
|
+
if (viewResult.validGroupObjectIds.has(objId)) {
|
|
340
|
+
const groupSemanticId = (0, assert_js_1.assertDefined)(ids.get(obj.id), `no semantic id registered for group "${obj.id}" (view-writer should have registered it before graphical-writer runs)`);
|
|
341
|
+
const visuals = resolveNodeVisuals(obj.style, visual_mapping_js_1.GROUP_FILL_COLOR, diagnostics, obj.id, 'ArchiDiagramObject');
|
|
342
|
+
const nodeXmaId = nodeIds.idFor(obj.id);
|
|
343
|
+
const bounds = resolveDrawableBounds(obj.bounds, diagnostics, obj.id, 'ArchiDiagramObject');
|
|
344
|
+
if (!bounds)
|
|
345
|
+
return null;
|
|
346
|
+
return buildStyledNode(ids, nodeXmaId, 'ViewGraphic', groupSemanticId, false, visuals, bounds, 'group', [['mm_frameStrategy', '12']], nestedChildrenXml);
|
|
347
|
+
}
|
|
348
|
+
if (viewResult.validViewReferenceObjectIds.has(objId)) {
|
|
349
|
+
if (obj.referencedModelId === null) {
|
|
350
|
+
throw new Error(`Internal invariant violation: diagram object "${obj.id}" is in validViewReferenceObjectIds but has no referencedModelId.`);
|
|
351
|
+
}
|
|
352
|
+
const refId = (0, assert_js_1.assertDefined)(refIds.get(obj.referencedModelId), `no ref id registered for referenced view "${obj.referencedModelId}" (view-writer should have registered it before graphical-writer runs)`);
|
|
353
|
+
const nodeXmaId = nodeIds.idFor(obj.id);
|
|
354
|
+
const bounds = resolveDrawableBounds(obj.bounds, diagnostics, obj.id, 'ArchiDiagramObject');
|
|
355
|
+
if (!bounds)
|
|
356
|
+
return null;
|
|
357
|
+
return buildViewReferenceNode(ids, nodeXmaId, refId, bounds, nestedChildrenXml);
|
|
358
|
+
}
|
|
359
|
+
return null;
|
|
360
|
+
}
|
|
361
|
+
for (const objId of view.diagramObjectIds) {
|
|
362
|
+
const nodeXml = buildNodeTree(objId);
|
|
363
|
+
if (nodeXml)
|
|
364
|
+
canvasChildren.push(nodeXml);
|
|
365
|
+
}
|
|
366
|
+
for (const noteId of view.noteIds) {
|
|
367
|
+
if (!viewResult.validNoteIds.has(noteId))
|
|
368
|
+
continue;
|
|
369
|
+
const note = noteById.get(noteId);
|
|
370
|
+
if (!note)
|
|
371
|
+
continue;
|
|
372
|
+
const bounds = resolveDrawableBounds(note.bounds, diagnostics, note.id, 'ArchiNote');
|
|
373
|
+
if (!bounds)
|
|
374
|
+
continue;
|
|
375
|
+
const noteSemanticId = (0, assert_js_1.assertDefined)(ids.get(note.id), `no semantic id registered for note "${note.id}" (view-writer should have registered it before graphical-writer runs)`);
|
|
376
|
+
const visuals = resolveNodeVisuals(note.style, visual_mapping_js_1.NOTE_FILL_COLOR, diagnostics, note.id, 'ArchiNote');
|
|
377
|
+
const nodeXmaId = nodeIds.idFor(note.id);
|
|
378
|
+
canvasChildren.push(buildStyledNode(ids, nodeXmaId, 'ViewGraphic', noteSemanticId, false, visuals, bounds, null));
|
|
379
|
+
}
|
|
380
|
+
const connectionById = new Map(model.diagramConnections.map((c) => [c.id, c]));
|
|
381
|
+
for (const connId of view.diagramConnectionIds) {
|
|
382
|
+
const connection = connectionById.get(connId);
|
|
383
|
+
if (!connection || connection.viewId !== view.id)
|
|
384
|
+
continue;
|
|
385
|
+
const relId = connection.archimateRelationshipId;
|
|
386
|
+
let xmaType;
|
|
387
|
+
let semanticObjectId;
|
|
388
|
+
if (relId) {
|
|
389
|
+
const mapping = mappedRelationships.get(relId);
|
|
390
|
+
if (!mapping)
|
|
391
|
+
continue; // already diagnosed by relationship-writer
|
|
392
|
+
xmaType = mapping.xmaType;
|
|
393
|
+
semanticObjectId = (0, assert_js_1.assertDefined)(refIds.get(relId), `no ref id registered for relationship "${relId}" (view-writer should have registered it before graphical-writer runs)`);
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
// A purely-visual connection (no underlying ArchiMate relationship) —
|
|
397
|
+
// view-writer already resolved this to a ViewEdge if both endpoints
|
|
398
|
+
// had a semantic id to reference; otherwise it already diagnosed the
|
|
399
|
+
// unsupported-connection-no-relationship error, so there's nothing to
|
|
400
|
+
// draw here.
|
|
401
|
+
const viewEdgeSemanticId = viewResult.viewEdgeSemanticIds.get(connection.id);
|
|
402
|
+
if (viewEdgeSemanticId === undefined)
|
|
403
|
+
continue;
|
|
404
|
+
xmaType = 'ViewEdge';
|
|
405
|
+
semanticObjectId = viewEdgeSemanticId;
|
|
406
|
+
}
|
|
407
|
+
const sourceNodeXmaId = nodeIds.get(connection.sourceId);
|
|
408
|
+
const targetNodeXmaId = nodeIds.get(connection.targetId);
|
|
409
|
+
if (sourceNodeXmaId === undefined || targetNodeXmaId === undefined) {
|
|
410
|
+
diagnostics.error({
|
|
411
|
+
code: 'unsupported-connection-invalid-endpoint',
|
|
412
|
+
message: `Connection "${connection.id}" has a source/target diagram object that was not drawable.`,
|
|
413
|
+
entityId: connection.id,
|
|
414
|
+
entityType: 'ArchiDiagramConnection',
|
|
415
|
+
});
|
|
416
|
+
continue;
|
|
417
|
+
}
|
|
418
|
+
const sourceObj = diagramObjectById.get(connection.sourceId);
|
|
419
|
+
const targetObj = diagramObjectById.get(connection.targetId);
|
|
420
|
+
// A connection between a diagram object and its own visual parent is
|
|
421
|
+
// already conveyed by the nesting itself — confirmed against both
|
|
422
|
+
// fixtures: e.g. agile-manifesto's two BusinessProcessBusinessFunction-
|
|
423
|
+
// Composition relations exist in the semantic Relations collection (so
|
|
424
|
+
// they're still emitted below via relationship-writer/view-writer) but
|
|
425
|
+
// have zero MM_DirectedRel graphics; sabsa's ElementGroupingComposition
|
|
426
|
+
// (Grouping as target, not a nesting pair) is drawn normally while its
|
|
427
|
+
// GroupingElementComposition (Grouping as source, always a nesting pair
|
|
428
|
+
// in both fixtures) never is. Applies regardless of relationship type —
|
|
429
|
+
// nesting evidence isn't type-specific, only "is this endpoint the
|
|
430
|
+
// other's visual parent" is.
|
|
431
|
+
if (sourceObj && targetObj && (sourceObj.parentId === targetObj.id || targetObj.parentId === sourceObj.id)) {
|
|
432
|
+
continue;
|
|
433
|
+
}
|
|
434
|
+
const points = [];
|
|
435
|
+
if (connection.bendpoints.length > 0 && sourceObj && targetObj && (0, geometry_js_1.hasCompleteBounds)(sourceObj.bounds) && (0, geometry_js_1.hasCompleteBounds)(targetObj.bounds)) {
|
|
436
|
+
const sourceRect = (0, geometry_js_1.toRect)(sourceObj.bounds);
|
|
437
|
+
const targetRect = (0, geometry_js_1.toRect)(targetObj.bounds);
|
|
438
|
+
for (const bp of connection.bendpoints) {
|
|
439
|
+
const resolution = (0, bendpoints_js_1.resolveBendpoint)(bp, sourceRect, targetRect);
|
|
440
|
+
if (!resolution) {
|
|
441
|
+
diagnostics.error({
|
|
442
|
+
code: 'unresolvable-bendpoint',
|
|
443
|
+
message: `Connection "${connection.id}" has a bendpoint with neither source- nor target-relative offsets set.`,
|
|
444
|
+
entityId: connection.id,
|
|
445
|
+
entityType: 'ArchiDiagramConnection',
|
|
446
|
+
});
|
|
447
|
+
continue;
|
|
448
|
+
}
|
|
449
|
+
if (resolution.mismatch) {
|
|
450
|
+
// Not a data-loss case: resolution.point (the source-relative form,
|
|
451
|
+
// used below regardless) is a perfectly usable point — this is a
|
|
452
|
+
// small precision disagreement in Archi's own stored offsets, not a
|
|
453
|
+
// construct XMA has no representation for. Warning, not an error
|
|
454
|
+
// that discards the whole document.
|
|
455
|
+
diagnostics.warning({
|
|
456
|
+
code: 'bendpoint-endpoint-mismatch',
|
|
457
|
+
message: `Connection "${connection.id}" has a bendpoint whose source-relative and target-relative offsets disagree materially (source: ${resolution.mismatch.fromSource.x},${resolution.mismatch.fromSource.y}; target: ${resolution.mismatch.fromTarget.x},${resolution.mismatch.fromTarget.y}); used the source-relative point.`,
|
|
458
|
+
entityId: connection.id,
|
|
459
|
+
entityType: 'ArchiDiagramConnection',
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
const scaled = (0, geometry_js_1.scalePoint)(resolution.point);
|
|
463
|
+
points.push((0, xml_writer_js_1.element)('MM_Diagram:MM_Point', [['id', String(ids.fresh())], ['mm_x', String(scaled.x)], ['mm_y', String(scaled.y)]]));
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
const directedRelChildren = [];
|
|
467
|
+
if (points.length > 0) {
|
|
468
|
+
directedRelChildren.push((0, xml_writer_js_1.element)('MM_Diagram:MM_MultiLine', [['name', 'mm_line'], ['id', String(ids.fresh())]], points));
|
|
469
|
+
}
|
|
470
|
+
// Confirmed against the sabsa fixture's one explicit connection
|
|
471
|
+
// lineColor override (#ff0000): the DirectedRel's MM_Color carries the
|
|
472
|
+
// parsed RGB, in the exact same structural slot as a node's line color.
|
|
473
|
+
let connectionLineColor = null;
|
|
474
|
+
if (connection.style?.lineColor) {
|
|
475
|
+
const parsed = (0, visual_mapping_js_1.parseArchiHexColor)(connection.style.lineColor);
|
|
476
|
+
if (parsed) {
|
|
477
|
+
connectionLineColor = parsed;
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
diagnostics.warning({
|
|
481
|
+
code: 'unsupported-style-connection-line-color',
|
|
482
|
+
message: `Connection line color "${connection.style.lineColor}" is not a recognized hex color and was not applied.`,
|
|
483
|
+
entityId: connection.id,
|
|
484
|
+
entityType: 'ArchiDiagramConnection',
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
directedRelChildren.push((0, xml_writer_js_1.element)('MM_Diagram:MM_Graphics', [['name', 'mm_graphics'], ['id', String(ids.fresh())]], [
|
|
489
|
+
buildLabelDecoration(ids.fresh(), visual_mapping_js_1.DEFAULT_FONT_NAME, visual_mapping_js_1.DEFAULT_FONT_SIZE),
|
|
490
|
+
]));
|
|
491
|
+
directedRelChildren.push(colorElement('mm_lineColor', connectionLineColor, ids.fresh()));
|
|
492
|
+
canvasChildren.push((0, xml_writer_js_1.element)('MM_Diagram:MM_DirectedRel', [
|
|
493
|
+
['id', String(ids.fresh())],
|
|
494
|
+
['mm_from', String(sourceNodeXmaId)],
|
|
495
|
+
['mm_to', String(targetNodeXmaId)],
|
|
496
|
+
['mm_graphicType', '7'],
|
|
497
|
+
['mm_concept', xmaType],
|
|
498
|
+
['mm_semanticObject', String(semanticObjectId)],
|
|
499
|
+
], directedRelChildren));
|
|
500
|
+
}
|
|
501
|
+
const canvasSemanticId = ids.idFor(view.id);
|
|
502
|
+
const canvasNode = (0, xml_writer_js_1.element)('MM_Diagram:MM_Node', [
|
|
503
|
+
['name', 'mm_canvas'],
|
|
504
|
+
['id', String(ids.fresh())],
|
|
505
|
+
['mm_graphicType', '5'],
|
|
506
|
+
['mm_concept', 'Canvas'],
|
|
507
|
+
['mm_semanticObject', String(canvasSemanticId)],
|
|
508
|
+
], [
|
|
509
|
+
(0, xml_writer_js_1.element)('MM_Diagram:MM_Graphics', [['name', 'mm_graphics'], ['id', String(ids.fresh())]], canvasChildren),
|
|
510
|
+
(0, xml_writer_js_1.element)('MM_Rect', [
|
|
511
|
+
['name', 'mm_rect'],
|
|
512
|
+
['x', '0'],
|
|
513
|
+
['y', '0'],
|
|
514
|
+
['w', String(visual_mapping_js_1.CANVAS_EXTENT)],
|
|
515
|
+
['h', String(visual_mapping_js_1.CANVAS_EXTENT)],
|
|
516
|
+
]),
|
|
517
|
+
]);
|
|
518
|
+
const diagramXml = (0, xml_writer_js_1.element)('MM_Diagram:MM_Diagram', [['name', 'root'], ['id', String(ids.fresh())]], [canvasNode]);
|
|
519
|
+
return { diagramXml };
|
|
520
|
+
}
|
|
521
|
+
//# sourceMappingURL=graphical-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphical-writer.js","sourceRoot":"","sources":["../../../src/serializer/graphical-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-values.d.ts","sourceRoot":"","sources":["../../../src/serializer/profile-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAIlE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAkB5G"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildProfileValues = buildProfileValues;
|
|
4
|
+
const xml_writer_js_1 = require("../infrastructure/xml-writer.js");
|
|
5
|
+
const rtf_js_1 = require("./rtf.js");
|
|
6
|
+
/**
|
|
7
|
+
* Builds an `<MM_ProfileValues>` block: a `nm` (display name) value, and
|
|
8
|
+
* optionally a `doc` (RTF documentation) value — confirmed order and shape
|
|
9
|
+
* from both reference fixtures (`nm` always precedes `doc`).
|
|
10
|
+
*/
|
|
11
|
+
function buildProfileValues(language, name, documentation) {
|
|
12
|
+
const children = [
|
|
13
|
+
(0, xml_writer_js_1.textElement)('MM_Value', name, [
|
|
14
|
+
['name', 'nm'],
|
|
15
|
+
['type', 'string'],
|
|
16
|
+
['xml:lang', language],
|
|
17
|
+
]),
|
|
18
|
+
];
|
|
19
|
+
if (documentation) {
|
|
20
|
+
children.push((0, xml_writer_js_1.textElement)('MM_Value', (0, rtf_js_1.toRtfDocument)(documentation), [
|
|
21
|
+
['name', 'doc'],
|
|
22
|
+
['type', 'rtf'],
|
|
23
|
+
['xml:lang', language],
|
|
24
|
+
]));
|
|
25
|
+
}
|
|
26
|
+
return (0, xml_writer_js_1.element)('MM_ProfileValues', undefined, children);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=profile-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-values.js","sourceRoot":"","sources":["../../../src/serializer/profile-values.ts"],"names":[],"mappings":";;AASA,gDAkBC;AA1BD,mEAAuE;AACvE,qCAAyC;AAEzC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,IAAY,EAAE,aAA6B;IAC9F,MAAM,QAAQ,GAAiB;QAC7B,IAAA,2BAAW,EAAC,UAAU,EAAE,IAAI,EAAE;YAC5B,CAAC,MAAM,EAAE,IAAI,CAAC;YACd,CAAC,MAAM,EAAE,QAAQ,CAAC;YAClB,CAAC,UAAU,EAAE,QAAQ,CAAC;SACvB,CAAC;KACH,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CACX,IAAA,2BAAW,EAAC,UAAU,EAAE,IAAA,sBAAa,EAAC,aAAa,CAAC,EAAE;YACpD,CAAC,MAAM,EAAE,KAAK,CAAC;YACf,CAAC,MAAM,EAAE,KAAK,CAAC;YACf,CAAC,UAAU,EAAE,QAAQ,CAAC;SACvB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,uBAAO,EAAC,kBAAkB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-writer.d.ts","sourceRoot":"","sources":["../../../src/serializer/relationship-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,2GAA2G;AAC3G,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC9D;;;;;;;;OAQG;IACH,gBAAgB,EAAE,UAAU,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/C,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzD,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,WAAW,EAAE,mBAAmB,GAC/B,2BAA2B,CAqF7B"}
|