@mermanjs/node 0.9.1 → 0.9.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/CHANGELOG.md +18 -0
- package/README.md +34 -0
- package/THIRD_PARTY_LICENSES/rust-cargo-dependencies.json +135 -247
- package/THIRD_PARTY_LICENSES/sdk-cousine/OFL.txt +93 -0
- package/THIRD_PARTY_NOTICES.md +89 -37
- package/dist/candidates/native.mjs +4 -2
- package/dist/engine.mjs +25 -1
- package/dist/errors.mjs +1 -0
- package/dist/generated/binding-contract.mjs +37 -5
- package/dist/generated/node-wire-contract.json +3 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.mjs +4 -1
- package/package.json +6 -6
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2026 The Cousine Project Authors (https://github.com/googlefonts/cousine)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://openfontlicense.org
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -53,6 +53,42 @@ Headless parser and renderer artifacts without optional ELK, RaTeX, ASCII, or Ty
|
|
|
53
53
|
|
|
54
54
|
Components: `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `fmin`, `graphlib`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `non-layered-tidy-tree-layout`, `rough-rs`, `roughjs`, `sanitize-url`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
55
55
|
|
|
56
|
+
### `sdk-full`
|
|
57
|
+
|
|
58
|
+
Embedding SDK full legal closure.
|
|
59
|
+
|
|
60
|
+
Components: `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `eclipse-elk`, `elkjs`, `fmin`, `graphlib`, `katex-fonts`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `non-layered-tidy-tree-layout`, `ratex`, `rough-rs`, `roughjs`, `sanitize-url`, `sdk-cousine`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
61
|
+
|
|
62
|
+
### `sdk-math`
|
|
63
|
+
|
|
64
|
+
Embedding SDK math legal closure.
|
|
65
|
+
|
|
66
|
+
Components: `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `fmin`, `graphlib`, `katex-fonts`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `non-layered-tidy-tree-layout`, `ratex`, `rough-rs`, `roughjs`, `sanitize-url`, `sdk-cousine`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
67
|
+
|
|
68
|
+
### `sdk-native-full`
|
|
69
|
+
|
|
70
|
+
Native C full SDK, including its ASCII source notices.
|
|
71
|
+
|
|
72
|
+
Components: `beautiful-mermaid`, `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `eclipse-elk`, `elkjs`, `fmin`, `graphlib`, `katex-fonts`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `mermaid-ascii`, `mermaid-rs-renderer`, `non-layered-tidy-tree-layout`, `ratex`, `rough-rs`, `roughjs`, `sanitize-url`, `sdk-cousine`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
73
|
+
|
|
74
|
+
### `sdk-native-math`
|
|
75
|
+
|
|
76
|
+
Native C math SDK, including its ASCII source notices.
|
|
77
|
+
|
|
78
|
+
Components: `beautiful-mermaid`, `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `fmin`, `graphlib`, `katex-fonts`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `mermaid-ascii`, `mermaid-rs-renderer`, `non-layered-tidy-tree-layout`, `ratex`, `rough-rs`, `roughjs`, `sanitize-url`, `sdk-cousine`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
79
|
+
|
|
80
|
+
### `sdk-native-standard`
|
|
81
|
+
|
|
82
|
+
Native C standard SDK, including its ASCII source notices.
|
|
83
|
+
|
|
84
|
+
Components: `beautiful-mermaid`, `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `fmin`, `graphlib`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `mermaid-ascii`, `mermaid-rs-renderer`, `non-layered-tidy-tree-layout`, `rough-rs`, `roughjs`, `sanitize-url`, `sdk-cousine`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
85
|
+
|
|
86
|
+
### `sdk-standard`
|
|
87
|
+
|
|
88
|
+
Embedding SDK standard legal closure.
|
|
89
|
+
|
|
90
|
+
Components: `cose-base-v1`, `cose-base-v2`, `cytoscape`, `cytoscape-cose-bilkent`, `cytoscape-fcose`, `d3-shape`, `dagre`, `dompurify`, `fmin`, `graphlib`, `layout-base-v1`, `layout-base-v2`, `mermaid`, `non-layered-tidy-tree-layout`, `rough-rs`, `roughjs`, `sanitize-url`, `sdk-cousine`, `unicode-linebreak`, `venn-js`, `zenuml-core`.
|
|
91
|
+
|
|
56
92
|
### `source-archive`
|
|
57
93
|
|
|
58
94
|
Conservative repository source archive inventory covering every translated, copied, linked, embedded, fixture, and behavior-reference component recorded here.
|
|
@@ -114,7 +150,7 @@ The ASCII renderer uses this implementation as a behavior and presentation refer
|
|
|
114
150
|
- Source path: `.`
|
|
115
151
|
- Relationship: `behavior-reference`
|
|
116
152
|
- License expression: `MIT`
|
|
117
|
-
- Artifact scopes: `ascii-render`, `source-archive`, `web-ascii`, `web-full`
|
|
153
|
+
- Artifact scopes: `ascii-render`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `source-archive`, `web-ascii`, `web-full`
|
|
118
154
|
- Local evidence: `crates/merman-ascii`
|
|
119
155
|
- Legal files:
|
|
120
156
|
- [`THIRD_PARTY_LICENSES/beautiful-mermaid/LICENSE`](THIRD_PARTY_LICENSES/beautiful-mermaid/LICENSE) (license, SHA-256 `f05f5a4009eae7fadfd4a55f77ffe10948f621982d56076667e68afbb54de894`)
|
|
@@ -130,7 +166,7 @@ Manatee contains Rust translations and adaptations of CoSE layout behavior from
|
|
|
130
166
|
- Source path: `.`
|
|
131
167
|
- Relationship: `modified`, `translated`
|
|
132
168
|
- License expression: `MIT`
|
|
133
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
169
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
134
170
|
- Local evidence: `crates/manatee`
|
|
135
171
|
- Legal files:
|
|
136
172
|
- [`THIRD_PARTY_LICENSES/cose-base-v1/LICENSE`](THIRD_PARTY_LICENSES/cose-base-v1/LICENSE) (license, SHA-256 `5fb3cf4a14c3c5af6e473a192df8bca10c77754e3a0c6492c79fb92a76a5478a`)
|
|
@@ -146,7 +182,7 @@ Manatee contains Rust translations and adaptations of the newer CoSE base behavi
|
|
|
146
182
|
- Source path: `.`
|
|
147
183
|
- Relationship: `modified`, `translated`
|
|
148
184
|
- License expression: `MIT`
|
|
149
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
185
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
150
186
|
- Local evidence: `crates/manatee`
|
|
151
187
|
- Legal files:
|
|
152
188
|
- [`THIRD_PARTY_LICENSES/cose-base-v2/LICENSE`](THIRD_PARTY_LICENSES/cose-base-v2/LICENSE) (license, SHA-256 `5fb3cf4a14c3c5af6e473a192df8bca10c77754e3a0c6492c79fb92a76a5478a`)
|
|
@@ -162,7 +198,7 @@ Architecture layout and styling use source-backed Cytoscape behavior and default
|
|
|
162
198
|
- Source path: `.`
|
|
163
199
|
- Relationship: `behavior-reference`, `translated`
|
|
164
200
|
- License expression: `MIT`
|
|
165
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
201
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
166
202
|
- Local evidence: `crates/manatee`, `crates/merman-render/src/architecture.rs`
|
|
167
203
|
- Legal files:
|
|
168
204
|
- [`THIRD_PARTY_LICENSES/cytoscape/LICENSE`](THIRD_PARTY_LICENSES/cytoscape/LICENSE) (license, SHA-256 `eb319c6e6f233607f71e8e2f450391751883cfc0eeb3ca7ef574c13d1d9c2203`)
|
|
@@ -178,7 +214,7 @@ Manatee includes source-backed CoSE-Bilkent layout behavior translated to Rust.
|
|
|
178
214
|
- Source path: `.`
|
|
179
215
|
- Relationship: `modified`, `translated`
|
|
180
216
|
- License expression: `MIT`
|
|
181
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
217
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
182
218
|
- Local evidence: `crates/manatee`
|
|
183
219
|
- Legal files:
|
|
184
220
|
- [`THIRD_PARTY_LICENSES/cytoscape-cose-bilkent/LICENSE`](THIRD_PARTY_LICENSES/cytoscape-cose-bilkent/LICENSE) (license, SHA-256 `440fc58a56a12814e417d2b341da89b050da052dc75bdb235607d37ec5fe74ef`)
|
|
@@ -194,7 +230,7 @@ The headless Architecture layout is a modified Rust implementation of FCoSE beha
|
|
|
194
230
|
- Source path: `.`
|
|
195
231
|
- Relationship: `modified`, `translated`
|
|
196
232
|
- License expression: `MIT`
|
|
197
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
233
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
198
234
|
- Local evidence: `crates/manatee`, `crates/merman-render/src/architecture.rs`
|
|
199
235
|
- Legal files:
|
|
200
236
|
- [`THIRD_PARTY_LICENSES/cytoscape-fcose/LICENSE`](THIRD_PARTY_LICENSES/cytoscape-fcose/LICENSE) (license, SHA-256 `2837634f403949215760fcdd2fa1ed0c64875d02099ecc8318c704b852f1421d`)
|
|
@@ -210,7 +246,7 @@ The SVG parity layer translates D3 curve algorithms, including basis, natural, s
|
|
|
210
246
|
- Source path: `src/curve`
|
|
211
247
|
- Relationship: `modified`, `translated`
|
|
212
248
|
- License expression: `ISC`
|
|
213
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
249
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
214
250
|
- Local evidence: `crates/merman-render/src/svg/parity/curve.rs`
|
|
215
251
|
- Legal files:
|
|
216
252
|
- [`THIRD_PARTY_LICENSES/d3-shape/LICENSE`](THIRD_PARTY_LICENSES/d3-shape/LICENSE) (license, SHA-256 `faa682e3e430941f958d26180458f5934a62f58dac4d70ccdd15608c15d0f884`)
|
|
@@ -226,7 +262,7 @@ Dugong is a modified Rust translation of Dagre's directed graph layout pipeline.
|
|
|
226
262
|
- Source path: `lib`
|
|
227
263
|
- Relationship: `modified`, `translated`
|
|
228
264
|
- License expression: `MIT`
|
|
229
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
265
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
230
266
|
- Local evidence: `crates/dugong`
|
|
231
267
|
- Legal files:
|
|
232
268
|
- [`THIRD_PARTY_LICENSES/dagre/LICENSE`](THIRD_PARTY_LICENSES/dagre/LICENSE) (license, SHA-256 `6a349742a6cb219d5a2fc8d0844f6d89a6efc62e20c664450d884fc7ff2d6015`)
|
|
@@ -235,15 +271,15 @@ Dugong is a modified Rust translation of Dagre's directed graph layout pipeline.
|
|
|
235
271
|
|
|
236
272
|
Merman selects DOMPurify's Apache-2.0 option for generated sanitizer defaults; the exact upstream Apache-2.0 license file is preserved.
|
|
237
273
|
|
|
238
|
-
- Version: `3.4.
|
|
274
|
+
- Version: `3.4.17`
|
|
239
275
|
- Source: <https://github.com/cure53/DOMPurify.git>
|
|
240
|
-
- Source ref: `3.4.
|
|
241
|
-
- Source commit: `
|
|
276
|
+
- Source ref: `3.4.17`
|
|
277
|
+
- Source commit: `a77a3e78b59f72fa4d1c83f22e121ad9cc7d3575`
|
|
242
278
|
- Source path: `.`
|
|
243
279
|
- Relationship: `generated`, `translated`
|
|
244
280
|
- License expression: `(Apache-2.0 OR MPL-2.0)`
|
|
245
281
|
- Selected license path: `Apache-2.0`
|
|
246
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
282
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
247
283
|
- Local evidence: `crates/merman-core/src/generated/dompurify_defaults.rs`
|
|
248
284
|
- Legal files:
|
|
249
285
|
- [`THIRD_PARTY_LICENSES/dompurify/LICENSE`](THIRD_PARTY_LICENSES/dompurify/LICENSE) (license, SHA-256 `cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30`)
|
|
@@ -259,7 +295,7 @@ The merman-elk-layered crate contains modified Rust source translations of Eclip
|
|
|
259
295
|
- Source path: `plugins`
|
|
260
296
|
- Relationship: `modified`, `translated`
|
|
261
297
|
- License expression: `EPL-2.0`
|
|
262
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
298
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `sdk-full`, `sdk-native-full`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
263
299
|
- Local evidence: `crates/merman-elk-layered`, `crates/merman-layout-elk`
|
|
264
300
|
- Legal files:
|
|
265
301
|
- [`THIRD_PARTY_LICENSES/eclipse-elk/LICENSE.md`](THIRD_PARTY_LICENSES/eclipse-elk/LICENSE.md) (license, SHA-256 `89591d4578fb1ebd91501312a3d25f021bd865a2e436641c1cf7b1bc7e3c1617`)
|
|
@@ -275,7 +311,7 @@ Mermaid's ELK adapter behavior is compared against this JavaScript distribution,
|
|
|
275
311
|
- Source path: `.`
|
|
276
312
|
- Relationship: `behavior-reference`
|
|
277
313
|
- License expression: `EPL-2.0`
|
|
278
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
314
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `sdk-full`, `sdk-native-full`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
279
315
|
- Local evidence: `crates/merman-layout-elk`, `playground`
|
|
280
316
|
- Legal files:
|
|
281
317
|
- [`THIRD_PARTY_LICENSES/elkjs/LICENSE.md`](THIRD_PARTY_LICENSES/elkjs/LICENSE.md) (license, SHA-256 `89591d4578fb1ebd91501312a3d25f021bd865a2e436641c1cf7b1bc7e3c1617`)
|
|
@@ -291,7 +327,7 @@ The Venn layout kernel translates the fmin Nelder-Mead and conjugate-gradient op
|
|
|
291
327
|
- Source path: `.`
|
|
292
328
|
- Relationship: `modified`, `translated`
|
|
293
329
|
- License expression: `BSD-3-Clause`
|
|
294
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
330
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
295
331
|
- Local evidence: `crates/merman-render/src/venn.rs`
|
|
296
332
|
- Legal files:
|
|
297
333
|
- [`THIRD_PARTY_LICENSES/fmin/LICENSE`](THIRD_PARTY_LICENSES/fmin/LICENSE) (license, SHA-256 `e4503e78185bff178d3ee91835f082d05771da1b3a2d795f17e03a40251bab77`)
|
|
@@ -307,7 +343,7 @@ dugong-graphlib is a modified Rust translation of the graph model used by Dagre.
|
|
|
307
343
|
- Source path: `lib`
|
|
308
344
|
- Relationship: `modified`, `translated`
|
|
309
345
|
- License expression: `MIT`
|
|
310
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
346
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
311
347
|
- Local evidence: `crates/dugong-graphlib`
|
|
312
348
|
- Legal files:
|
|
313
349
|
- [`THIRD_PARTY_LICENSES/graphlib/LICENSE`](THIRD_PARTY_LICENSES/graphlib/LICENSE) (license, SHA-256 `6a349742a6cb219d5a2fc8d0844f6d89a6efc62e20c664450d884fc7ff2d6015`)
|
|
@@ -316,14 +352,14 @@ dugong-graphlib is a modified Rust translation of the graph model used by Dagre.
|
|
|
316
352
|
|
|
317
353
|
The RaTeX SVG backend embeds twenty KaTeX TrueType fonts; those font bytes are licensed under OFL-1.1 rather than RaTeX's MIT code license.
|
|
318
354
|
|
|
319
|
-
- Version: `ratex-katex-fonts@0.1.
|
|
355
|
+
- Version: `ratex-katex-fonts@0.1.15`
|
|
320
356
|
- Source: <https://github.com/erweixin/RaTeX.git>
|
|
321
|
-
- Source ref: `crates.io:ratex-katex-fonts@0.1.
|
|
322
|
-
- Source commit: `
|
|
357
|
+
- Source ref: `crates.io:ratex-katex-fonts@0.1.15`
|
|
358
|
+
- Source commit: `7d9f9a39218914bead8ffdf39b79028a01d12c22`
|
|
323
359
|
- Source path: `crates/ratex-katex-fonts/fonts`
|
|
324
360
|
- Relationship: `embedded`
|
|
325
361
|
- License expression: `OFL-1.1`
|
|
326
|
-
- Artifact scopes: `cli-default`, `cli-release`, `ratex-render`, `source-archive`, `web-full`, `web-render`
|
|
362
|
+
- Artifact scopes: `cli-default`, `cli-release`, `ratex-render`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `source-archive`, `web-full`, `web-render`
|
|
327
363
|
- Local evidence: `Cargo.lock`, `crates/merman-render/src/math.rs`
|
|
328
364
|
- Legal files:
|
|
329
365
|
- [`THIRD_PARTY_LICENSES/katex-fonts/FONT_NOTICE.txt`](THIRD_PARTY_LICENSES/katex-fonts/FONT_NOTICE.txt) (notice, SHA-256 `752ba9eff7a281f5ad789528ea078b46149b10e72296625108c26a94695ad03e`)
|
|
@@ -340,7 +376,7 @@ Manatee translates shared layout-base geometry, graph, and force-layout primitiv
|
|
|
340
376
|
- Source path: `.`
|
|
341
377
|
- Relationship: `modified`, `translated`
|
|
342
378
|
- License expression: `MIT`
|
|
343
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
379
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
344
380
|
- Local evidence: `crates/manatee`
|
|
345
381
|
- Legal files:
|
|
346
382
|
- [`THIRD_PARTY_LICENSES/layout-base-v1/LICENSE`](THIRD_PARTY_LICENSES/layout-base-v1/LICENSE) (license, SHA-256 `eabb762d8a95109a39c9be3247325529a5239a7aca327d909c3ccdc41f3a06bf`)
|
|
@@ -356,7 +392,7 @@ Manatee also follows the newer layout-base behavior selected by the FCoSE depend
|
|
|
356
392
|
- Source path: `.`
|
|
357
393
|
- Relationship: `modified`, `translated`
|
|
358
394
|
- License expression: `MIT`
|
|
359
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
395
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
360
396
|
- Local evidence: `crates/manatee`
|
|
361
397
|
- Legal files:
|
|
362
398
|
- [`THIRD_PARTY_LICENSES/layout-base-v2/LICENSE`](THIRD_PARTY_LICENSES/layout-base-v2/LICENSE) (license, SHA-256 `eabb762d8a95109a39c9be3247325529a5239a7aca327d909c3ccdc41f3a06bf`)
|
|
@@ -372,7 +408,7 @@ Merman independently implements Mermaid-compatible behavior while translating se
|
|
|
372
408
|
- Source path: `packages/mermaid`
|
|
373
409
|
- Relationship: `behavior-reference`, `copied`, `fixtures`, `generated`, `modified`, `translated`
|
|
374
410
|
- License expression: `MIT`
|
|
375
|
-
- Artifact scopes: `ascii-render`, `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
411
|
+
- Artifact scopes: `ascii-render`, `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
376
412
|
- Local evidence: `crates/merman-core/src`, `crates/merman-render/src`, `crates/merman-render/src/svg/parity/architecture/icons.rs`, `fixtures`
|
|
377
413
|
- Legal files:
|
|
378
414
|
- [`THIRD_PARTY_LICENSES/mermaid/LICENSE`](THIRD_PARTY_LICENSES/mermaid/LICENSE) (license, SHA-256 `ec9fb67dcb25eccc416ed56e1aab819222c805a2a4bfe4cb19e7556bf2ffde80`)
|
|
@@ -388,7 +424,7 @@ The ASCII renderer translates algorithms and retains a documented set of copied
|
|
|
388
424
|
- Source path: `.`
|
|
389
425
|
- Relationship: `fixtures`, `modified`, `translated`
|
|
390
426
|
- License expression: `MIT`
|
|
391
|
-
- Artifact scopes: `ascii-render`, `source-archive`, `web-ascii`, `web-full`
|
|
427
|
+
- Artifact scopes: `ascii-render`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `source-archive`, `web-ascii`, `web-full`
|
|
392
428
|
- Local evidence: `crates/merman-ascii`, `crates/merman-ascii/tests/testdata/mermaid-ascii`
|
|
393
429
|
- Legal files:
|
|
394
430
|
- [`THIRD_PARTY_LICENSES/mermaid-ascii/LICENSE`](THIRD_PARTY_LICENSES/mermaid-ascii/LICENSE) (license, SHA-256 `2568bfc33918af28d45f8ba672c93c8fbdcdfbc430b8ba86228b8ea1c2469b31`)
|
|
@@ -404,7 +440,7 @@ This Rust renderer is retained as an ASCII and headless rendering behavior refer
|
|
|
404
440
|
- Source path: `.`
|
|
405
441
|
- Relationship: `behavior-reference`
|
|
406
442
|
- License expression: `MIT`
|
|
407
|
-
- Artifact scopes: `ascii-render`, `source-archive`, `web-ascii`, `web-full`
|
|
443
|
+
- Artifact scopes: `ascii-render`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `source-archive`, `web-ascii`, `web-full`
|
|
408
444
|
- Local evidence: `crates/merman-ascii`
|
|
409
445
|
- Legal files:
|
|
410
446
|
- [`THIRD_PARTY_LICENSES/mermaid-rs-renderer/LICENSE`](THIRD_PARTY_LICENSES/mermaid-rs-renderer/LICENSE) (license, SHA-256 `57ed7943c34463678a150769d4a4f6c95d2a190fe2c1977f74bc883492c94b86`)
|
|
@@ -436,7 +472,7 @@ Merman's Mindmap tidy-tree layout is a modified Rust translation of the non-laye
|
|
|
436
472
|
- Source path: `src`
|
|
437
473
|
- Relationship: `modified`, `translated`
|
|
438
474
|
- License expression: `MIT`
|
|
439
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
475
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
440
476
|
- Local evidence: `crates/merman-render/src/mindmap/tidy_tree.rs`
|
|
441
477
|
- Legal files:
|
|
442
478
|
- [`THIRD_PARTY_LICENSES/non-layered-tidy-tree-layout/LICENSE`](THIRD_PARTY_LICENSES/non-layered-tidy-tree-layout/LICENSE) (license, SHA-256 `9e618475934f16f1966a1f47cacea53ec0e8fbf7cb0054a5063b9446794a25df`)
|
|
@@ -459,16 +495,16 @@ The language package modifies selected grammar helpers and Flowchart/Mindmap see
|
|
|
459
495
|
|
|
460
496
|
### RaTeX (`ratex`)
|
|
461
497
|
|
|
462
|
-
Optional math rendering links the RaTeX 0.1.
|
|
498
|
+
Optional math rendering links the RaTeX 0.1.15 crate family; its separately licensed embedded fonts are recorded as their own component.
|
|
463
499
|
|
|
464
|
-
- Version: `0.1.
|
|
500
|
+
- Version: `0.1.15`
|
|
465
501
|
- Source: <https://github.com/erweixin/RaTeX.git>
|
|
466
|
-
- Source ref: `crates.io:ratex-*@0.1.
|
|
467
|
-
- Source commit: `
|
|
502
|
+
- Source ref: `crates.io:ratex-*@0.1.15`
|
|
503
|
+
- Source commit: `7d9f9a39218914bead8ffdf39b79028a01d12c22`
|
|
468
504
|
- Source path: `crates`
|
|
469
505
|
- Relationship: `linked`
|
|
470
506
|
- License expression: `MIT`
|
|
471
|
-
- Artifact scopes: `cli-default`, `cli-release`, `ratex-render`, `source-archive`, `web-full`, `web-render`
|
|
507
|
+
- Artifact scopes: `cli-default`, `cli-release`, `ratex-render`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `source-archive`, `web-full`, `web-render`
|
|
472
508
|
- Local evidence: `Cargo.lock`, `crates/merman-render/src/math.rs`
|
|
473
509
|
- Legal files:
|
|
474
510
|
- [`THIRD_PARTY_LICENSES/ratex/LICENSE`](THIRD_PARTY_LICENSES/ratex/LICENSE) (license, SHA-256 `f65e10eaa978c50a58c5e792110b4be5014b865edcb2ade49076bfcc98fa92b0`)
|
|
@@ -485,7 +521,7 @@ roughr-merman is a modified in-tree fork of the rough-rs roughr crate.
|
|
|
485
521
|
- Source path: `roughr`
|
|
486
522
|
- Relationship: `copied`, `modified`
|
|
487
523
|
- License expression: `MIT`
|
|
488
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
524
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
489
525
|
- Local evidence: `crates/roughr`
|
|
490
526
|
- Legal files:
|
|
491
527
|
- [`THIRD_PARTY_LICENSES/rough-rs/LICENSE`](THIRD_PARTY_LICENSES/rough-rs/LICENSE) (license, SHA-256 `0bef4264af5b4af4de4b01700f27afb7bdaf7498949692ff272ebf24489b0531`)
|
|
@@ -501,7 +537,7 @@ The roughr fork aligns its randomization and drawing-operation semantics with Ro
|
|
|
501
537
|
- Source path: `src`
|
|
502
538
|
- Relationship: `behavior-reference`, `translated`
|
|
503
539
|
- License expression: `MIT`
|
|
504
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
540
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
505
541
|
- Local evidence: `crates/roughr`
|
|
506
542
|
- Legal files:
|
|
507
543
|
- [`THIRD_PARTY_LICENSES/roughjs/LICENSE`](THIRD_PARTY_LICENSES/roughjs/LICENSE) (license, SHA-256 `dca9a392272606ac748ac0976a2a1133f14eef841c27beaa51a844d53c56a09d`)
|
|
@@ -517,11 +553,27 @@ Merman's URL sanitization behavior is a source-backed Rust translation of saniti
|
|
|
517
553
|
- Source path: `src`
|
|
518
554
|
- Relationship: `modified`, `translated`
|
|
519
555
|
- License expression: `MIT`
|
|
520
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
556
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
521
557
|
- Local evidence: `crates/merman-core/src/utils.rs`
|
|
522
558
|
- Legal files:
|
|
523
559
|
- [`THIRD_PARTY_LICENSES/sanitize-url/LICENSE`](THIRD_PARTY_LICENSES/sanitize-url/LICENSE) (license, SHA-256 `0984740e0c3d725c8044dec7edcefe1dbce180ef5a7bc710c251e19607000158`)
|
|
524
560
|
|
|
561
|
+
### Cousine SDK fallback fonts (`sdk-cousine`)
|
|
562
|
+
|
|
563
|
+
The optional bundled-fonts capability embeds unmodified Cousine Regular, Bold and Italic under OFL-1.1. The runtime font manifest pins source identity and exact bytes.
|
|
564
|
+
|
|
565
|
+
- Version: `google-fonts@62e55e586fc0c29d428ee47b7c359cd33143f93d`
|
|
566
|
+
- Source: <https://github.com/google/fonts.git>
|
|
567
|
+
- Source ref: `62e55e586fc0c29d428ee47b7c359cd33143f93d`
|
|
568
|
+
- Source commit: `62e55e586fc0c29d428ee47b7c359cd33143f93d`
|
|
569
|
+
- Source path: `ofl/cousine`
|
|
570
|
+
- Relationship: `embedded`
|
|
571
|
+
- License expression: `OFL-1.1`
|
|
572
|
+
- Artifact scopes: `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`
|
|
573
|
+
- Local evidence: `crates/merman-export/assets/fonts`
|
|
574
|
+
- Legal files:
|
|
575
|
+
- [`THIRD_PARTY_LICENSES/sdk-cousine/OFL.txt`](THIRD_PARTY_LICENSES/sdk-cousine/OFL.txt) (license, SHA-256 `b81c4d4dc0a9f72c9155e78187316e016e2012a8102468804173dc61468b906d`)
|
|
576
|
+
|
|
525
577
|
### singularity-parser-mermaid (`singularity-tree-sitter-mermaid`)
|
|
526
578
|
|
|
527
579
|
The language package retains this implementation as an additional behavior reference for grammar and query coverage.
|
|
@@ -629,7 +681,7 @@ merman-unicode-linebreak is an Apache-2.0 fork of unicode-linebreak 0.1.5, prese
|
|
|
629
681
|
- Source path: `.`
|
|
630
682
|
- Relationship: `copied`, `modified`
|
|
631
683
|
- License expression: `Apache-2.0`
|
|
632
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
684
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
633
685
|
- Local evidence: `crates/merman-unicode-linebreak`
|
|
634
686
|
- Legal files:
|
|
635
687
|
- [`THIRD_PARTY_LICENSES/unicode-linebreak/LICENSE`](THIRD_PARTY_LICENSES/unicode-linebreak/LICENSE) (license, SHA-256 `c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4`)
|
|
@@ -645,7 +697,7 @@ The Venn family uses a modified Rust translation of the venn.js geometry and lay
|
|
|
645
697
|
- Source path: `src`
|
|
646
698
|
- Relationship: `modified`, `translated`
|
|
647
699
|
- License expression: `MIT`
|
|
648
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
700
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-full`, `web-render`
|
|
649
701
|
- Local evidence: `crates/merman-core/src/diagrams/venn.rs`, `crates/merman-render/src/venn.rs`
|
|
650
702
|
- Legal files:
|
|
651
703
|
- [`THIRD_PARTY_LICENSES/venn-js/LICENSE`](THIRD_PARTY_LICENSES/venn-js/LICENSE) (license, SHA-256 `6a3508febf2cfccfee96597394543a6154a4bb0b1f91f28404be42c09e9fcb54`)
|
|
@@ -677,7 +729,7 @@ Merman's ZenUML grammar, model, renderer, emoji/icon data, and behavior probes f
|
|
|
677
729
|
- Source path: `.`
|
|
678
730
|
- Relationship: `behavior-reference`, `copied`, `modified`, `translated`
|
|
679
731
|
- License expression: `MIT`
|
|
680
|
-
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
732
|
+
- Artifact scopes: `cli-default`, `cli-release`, `elk-render`, `playground-reference`, `ratex-render`, `rust-render-base`, `sdk-full`, `sdk-math`, `sdk-native-full`, `sdk-native-math`, `sdk-native-standard`, `sdk-standard`, `source-archive`, `typst-publish`, `web-analysis`, `web-ascii`, `web-editor`, `web-full`, `web-render`
|
|
681
733
|
- Local evidence: `crates/merman-core/src/diagrams/zenuml`, `crates/merman-render/assets/zenuml`, `crates/merman-render/src/zenuml.rs`
|
|
682
734
|
- Legal files:
|
|
683
735
|
- [`THIRD_PARTY_LICENSES/zenuml-core/LICENSE`](THIRD_PARTY_LICENSES/zenuml-core/LICENSE) (license, SHA-256 `d4a77cbf1dc0975cd4be7266972dc6d3a6c6d68d43235384d6e4b6f12934e978`)
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "../native-loader.mjs";
|
|
11
11
|
import { wrapCandidateEngine } from "./wrap-engine.mjs";
|
|
12
12
|
|
|
13
|
-
export async function loadNativeTransport(optionsJson, loaderOptions = {}) {
|
|
13
|
+
export async function loadNativeTransport(optionsJson, loaderOptions = {}, iconPacksJson) {
|
|
14
14
|
const binding = loadNativeBinding(loaderOptions);
|
|
15
15
|
const NativeEngine = binding?.NativeEngine ?? binding?.default?.NativeEngine;
|
|
16
16
|
if (typeof NativeEngine !== "function") {
|
|
@@ -26,7 +26,9 @@ export async function loadNativeTransport(optionsJson, loaderOptions = {}) {
|
|
|
26
26
|
let transport;
|
|
27
27
|
try {
|
|
28
28
|
transport = wrapCandidateEngine(
|
|
29
|
-
|
|
29
|
+
iconPacksJson === undefined
|
|
30
|
+
? new NativeEngine(optionsJson)
|
|
31
|
+
: new NativeEngine(optionsJson, iconPacksJson),
|
|
30
32
|
"The target-specific Merman addon",
|
|
31
33
|
{ forwardsAbortSignal: true },
|
|
32
34
|
);
|
package/dist/engine.mjs
CHANGED
|
@@ -93,6 +93,7 @@ const MERMAN_ENGINE_CONSTRUCTION_TOKEN = Symbol("MermanEngine construction");
|
|
|
93
93
|
export async function createNodeEngine(
|
|
94
94
|
{
|
|
95
95
|
bindingOptions = {},
|
|
96
|
+
iconPacks,
|
|
96
97
|
concurrency = 1,
|
|
97
98
|
maxQueue = 64,
|
|
98
99
|
} = {},
|
|
@@ -107,7 +108,8 @@ export async function createNodeEngine(
|
|
|
107
108
|
"binding options",
|
|
108
109
|
NODE_TRANSPORT_LIMITS.binding_options,
|
|
109
110
|
);
|
|
110
|
-
const
|
|
111
|
+
const iconPacksJson = encodeIconPacks(iconPacks);
|
|
112
|
+
const transport = await loadTransport(optionsJson, iconPacksJson);
|
|
111
113
|
try {
|
|
112
114
|
assertTransport(transport);
|
|
113
115
|
const runtimeCatalog = validateRuntimeCatalog(await transport.runtimeCatalogJson());
|
|
@@ -123,6 +125,28 @@ export async function createNodeEngine(
|
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
127
|
|
|
128
|
+
function encodeIconPacks(packs) {
|
|
129
|
+
if (packs === undefined) return undefined;
|
|
130
|
+
if (!Array.isArray(packs)) throw new TypeError("iconPacks must be an array.");
|
|
131
|
+
const normalized = [];
|
|
132
|
+
for (const pack of packs) {
|
|
133
|
+
if (!isPlainObject(pack) || typeof pack.json !== "string") {
|
|
134
|
+
throw new TypeError("iconPacks entries must contain an already loaded JSON string.");
|
|
135
|
+
}
|
|
136
|
+
if (Object.keys(pack).some((key) => key !== "json" && key !== "registrationName")) {
|
|
137
|
+
throw new TypeError("iconPacks entries only accept json and registrationName.");
|
|
138
|
+
}
|
|
139
|
+
if (pack.registrationName !== undefined && typeof pack.registrationName !== "string") {
|
|
140
|
+
throw new TypeError("iconPacks registrationName must be a string.");
|
|
141
|
+
}
|
|
142
|
+
normalized.push({
|
|
143
|
+
json: pack.json,
|
|
144
|
+
...(pack.registrationName === undefined ? {} : { registrationName: pack.registrationName }),
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
return JSON.stringify(normalized);
|
|
148
|
+
}
|
|
149
|
+
|
|
126
150
|
export function normalizeBindingOptions(value = {}) {
|
|
127
151
|
if (!isPlainObject(value)) throw new TypeError("bindingOptions must be a plain object.");
|
|
128
152
|
const normalized = cloneBoundedJsonValue(value, "bindingOptions");
|
package/dist/errors.mjs
CHANGED
|
@@ -103,6 +103,7 @@ export class MermanOperationError extends MermanError {
|
|
|
103
103
|
this.kind = payload.kind ?? "generic";
|
|
104
104
|
this.capabilityId = payload.capability_id ?? null;
|
|
105
105
|
this.resourceDetails = payload.details?.resource ?? null;
|
|
106
|
+
this.iconRegistryDetails = payload.details?.icon_registry ?? null;
|
|
106
107
|
this.diagnosticDetails = payload.details?.diagnostic ?? null;
|
|
107
108
|
this.cancellationDetails = payload.details?.cancellation ?? null;
|
|
108
109
|
}
|
|
@@ -799,12 +799,18 @@ export const TEXT_MEASUREMENT_PROVIDER_SPECS = [
|
|
|
799
799
|
"id": "host-callback",
|
|
800
800
|
"source": "constructor-service",
|
|
801
801
|
"constructor_service_id": "host-text-measurement"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"id": "native-fonts",
|
|
805
|
+
"source": "constructor-service",
|
|
806
|
+
"constructor_service_id": "native-font-context"
|
|
802
807
|
}
|
|
803
808
|
];
|
|
804
809
|
|
|
805
810
|
export const TEXT_MEASUREMENT_PROVIDER_IDS = [
|
|
806
811
|
"deterministic",
|
|
807
|
-
"host-callback"
|
|
812
|
+
"host-callback",
|
|
813
|
+
"native-fonts"
|
|
808
814
|
];
|
|
809
815
|
export const DETERMINISTIC_TEXT_MEASUREMENT_PROVIDER_ID = "deterministic";
|
|
810
816
|
export const HOST_CALLBACK_TEXT_MEASUREMENT_PROVIDER_ID = "host-callback";
|
|
@@ -813,6 +819,7 @@ export const CONSTRUCTOR_SERVICE_SPECS = [
|
|
|
813
819
|
{
|
|
814
820
|
"id": "host-text-measurement",
|
|
815
821
|
"requires_svg_pipeline": true,
|
|
822
|
+
"required_capability_id": null,
|
|
816
823
|
"provided_text_measurement_provider_ids": [
|
|
817
824
|
"host-callback"
|
|
818
825
|
],
|
|
@@ -821,6 +828,7 @@ export const CONSTRUCTOR_SERVICE_SPECS = [
|
|
|
821
828
|
{
|
|
822
829
|
"id": "icon-registry",
|
|
823
830
|
"requires_svg_pipeline": true,
|
|
831
|
+
"required_capability_id": null,
|
|
824
832
|
"provided_text_measurement_provider_ids": [],
|
|
825
833
|
"resource_limits": [
|
|
826
834
|
{
|
|
@@ -978,6 +986,15 @@ export const CONSTRUCTOR_SERVICE_SPECS = [
|
|
|
978
986
|
"value": 4096
|
|
979
987
|
}
|
|
980
988
|
]
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"id": "native-font-context",
|
|
992
|
+
"requires_svg_pipeline": true,
|
|
993
|
+
"required_capability_id": "native-fonts",
|
|
994
|
+
"provided_text_measurement_provider_ids": [
|
|
995
|
+
"native-fonts"
|
|
996
|
+
],
|
|
997
|
+
"resource_limits": []
|
|
981
998
|
}
|
|
982
999
|
];
|
|
983
1000
|
export const BINDING_TRANSPORT_EXPOSURE_SPECS = [
|
|
@@ -1000,7 +1017,8 @@ export const BINDING_TRANSPORT_EXPOSURE_SPECS = [
|
|
|
1000
1017
|
],
|
|
1001
1018
|
"constructor_service_candidate_ids": [
|
|
1002
1019
|
"host-text-measurement",
|
|
1003
|
-
"icon-registry"
|
|
1020
|
+
"icon-registry",
|
|
1021
|
+
"native-font-context"
|
|
1004
1022
|
]
|
|
1005
1023
|
},
|
|
1006
1024
|
{
|
|
@@ -1009,7 +1027,9 @@ export const BINDING_TRANSPORT_EXPOSURE_SPECS = [
|
|
|
1009
1027
|
"binding-result",
|
|
1010
1028
|
"operation-metadata"
|
|
1011
1029
|
],
|
|
1012
|
-
"constructor_service_candidate_ids": [
|
|
1030
|
+
"constructor_service_candidate_ids": [
|
|
1031
|
+
"icon-registry"
|
|
1032
|
+
]
|
|
1013
1033
|
},
|
|
1014
1034
|
{
|
|
1015
1035
|
"id": "rust",
|
|
@@ -1019,7 +1039,8 @@ export const BINDING_TRANSPORT_EXPOSURE_SPECS = [
|
|
|
1019
1039
|
],
|
|
1020
1040
|
"constructor_service_candidate_ids": [
|
|
1021
1041
|
"host-text-measurement",
|
|
1022
|
-
"icon-registry"
|
|
1042
|
+
"icon-registry",
|
|
1043
|
+
"native-font-context"
|
|
1023
1044
|
]
|
|
1024
1045
|
},
|
|
1025
1046
|
{
|
|
@@ -1038,13 +1059,24 @@ export const BINDING_TRANSPORT_EXPOSURE_SPECS = [
|
|
|
1038
1059
|
"icon-registry"
|
|
1039
1060
|
]
|
|
1040
1061
|
},
|
|
1062
|
+
{
|
|
1063
|
+
"id": "wasi",
|
|
1064
|
+
"payload_schema_ids": [
|
|
1065
|
+
"binding-result",
|
|
1066
|
+
"operation-metadata"
|
|
1067
|
+
],
|
|
1068
|
+
"constructor_service_candidate_ids": [
|
|
1069
|
+
"native-font-context"
|
|
1070
|
+
]
|
|
1071
|
+
},
|
|
1041
1072
|
{
|
|
1042
1073
|
"id": "web",
|
|
1043
1074
|
"payload_schema_ids": [
|
|
1044
1075
|
"binding-result"
|
|
1045
1076
|
],
|
|
1046
1077
|
"constructor_service_candidate_ids": [
|
|
1047
|
-
"host-text-measurement"
|
|
1078
|
+
"host-text-measurement",
|
|
1079
|
+
"icon-registry"
|
|
1048
1080
|
]
|
|
1049
1081
|
}
|
|
1050
1082
|
];
|