system-canvas 0.1.3 → 0.1.4
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/dist/text.d.ts.map +1 -1
- package/dist/text.js +16 -9
- package/dist/text.js.map +1 -1
- package/package.json +1 -1
package/dist/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AA8BA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAmBV;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAkBV"}
|
package/dist/text.js
CHANGED
|
@@ -6,19 +6,26 @@
|
|
|
6
6
|
// `kind: 'custom'` slots can reuse the same wrap behavior the declarative
|
|
7
7
|
// `kind: 'text'` slot uses internally.
|
|
8
8
|
//
|
|
9
|
-
// The width estimate is intentionally rough (a single per-glyph ratio).
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
9
|
+
// The width estimate is intentionally rough (a single per-glyph ratio). We
|
|
10
|
+
// do not attempt real font metrics — that would require a DOM canvas or a
|
|
11
|
+
// font-shaping library, and would change the library's "pure math" boundary.
|
|
12
|
+
// The slot layer wraps wrapped output in a clipPath as a safety net, so a
|
|
13
|
+
// slight underestimate here is tolerable; aggressive overestimates produce
|
|
14
|
+
// the visible "wraps too early" bug where lines break with whitespace still
|
|
15
|
+
// available to the right.
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
/**
|
|
17
18
|
* Average glyph-width-to-font-size ratio used by `measureTextWidth`. Tuned
|
|
18
|
-
*
|
|
19
|
-
*
|
|
19
|
+
* to fit modern UI fonts (Inter, SF Pro, system-ui) at small sizes — these
|
|
20
|
+
* average ~0.5 per glyph in proportional mode, while monospace caps at
|
|
21
|
+
* ~0.6. We use 0.55 as a single number that covers both cases without
|
|
22
|
+
* wrapping aggressively when the text is rendered in a proportional font.
|
|
23
|
+
*
|
|
24
|
+
* If a consumer's text wraps too early, the answer is *not* to lower this
|
|
25
|
+
* further (overly tight estimates cause line overflow in monospace text);
|
|
26
|
+
* pass a `wrap: false` slot or render `kind: 'custom'` for full control.
|
|
20
27
|
*/
|
|
21
|
-
const GLYPH_WIDTH_RATIO = 0.
|
|
28
|
+
const GLYPH_WIDTH_RATIO = 0.55;
|
|
22
29
|
/**
|
|
23
30
|
* Rough width in pixels for `text` rendered at `fontSize`. Uses a single
|
|
24
31
|
* average glyph-width ratio — good enough for layout decisions like
|
package/dist/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8BAA8B;AAC9B,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,uCAAuC;AACvC,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "system-canvas",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Interactive, zoomable SVG diagrams from JSON Canvas documents. Pure TypeScript core with types, themes, edge routing, and viewport math.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|