render-tag 0.1.0 → 0.1.1
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/README.md +105 -43
- package/lib/index.d.ts +22 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +113 -39
- package/lib/index.js.map +1 -1
- package/lib/layout.d.ts.map +1 -1
- package/lib/layout.js +51 -8
- package/lib/layout.js.map +1 -1
- package/lib/parse.d.ts +1 -1
- package/lib/parse.d.ts.map +1 -1
- package/lib/parse.js +1 -4
- package/lib/parse.js.map +1 -1
- package/lib/types.d.ts +81 -17
- package/lib/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# render-tag
|
|
2
2
|
|
|
3
|
-
Render HTML rich text onto
|
|
3
|
+
Render HTML rich text onto canvas with the 2D API. No SVG, no `foreignObject` — just `fillText`, `measureText`, and drawing primitives.
|
|
4
4
|
|
|
5
5
|
**Website & demos:** [https://polotno.com/render-tag/](https://polotno.com/render-tag/)
|
|
6
6
|
|
|
@@ -8,6 +8,8 @@ Render HTML rich text onto a canvas element using pure 2D canvas API. No SVG, no
|
|
|
8
8
|
|
|
9
9
|
Browsers can render HTML into canvas via SVG `foreignObject`, but it's slow (~100ms) and inconsistent across browsers. `render-tag` parses your HTML, resolves styles via `getComputedStyle`, then lays out and draws everything with canvas 2D calls. It's **10-60x faster** than SVG-based approaches.
|
|
10
10
|
|
|
11
|
+
By design, render-tag focuses on **rich text only** — paragraphs, headings, lists, tables, inline formatting. It is not designed for interactive elements (buttons, inputs, iframes) or complex HTML layouts. This focus is what makes it fast.
|
|
12
|
+
|
|
11
13
|
## Install
|
|
12
14
|
|
|
13
15
|
```bash
|
|
@@ -17,85 +19,145 @@ npm install render-tag
|
|
|
17
19
|
## Usage
|
|
18
20
|
|
|
19
21
|
```typescript
|
|
20
|
-
import {
|
|
22
|
+
import { render } from 'render-tag';
|
|
21
23
|
|
|
22
|
-
const { canvas, height } =
|
|
23
|
-
'<p>Hello <strong>world</strong></p>',
|
|
24
|
-
|
|
25
|
-
);
|
|
24
|
+
const { canvas, height } = render({
|
|
25
|
+
html: '<p>Hello <strong>world</strong></p>',
|
|
26
|
+
width: 400,
|
|
27
|
+
});
|
|
26
28
|
|
|
27
29
|
document.body.appendChild(canvas);
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
### With CSS
|
|
31
33
|
|
|
34
|
+
Include `<style>` tags in your HTML string:
|
|
35
|
+
|
|
32
36
|
```typescript
|
|
33
|
-
const { canvas } =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
width: 600,
|
|
37
|
-
css: `
|
|
37
|
+
const { canvas } = render({
|
|
38
|
+
html: `
|
|
39
|
+
<style>
|
|
38
40
|
.title {
|
|
39
41
|
font-family: Georgia, serif;
|
|
40
42
|
font-size: 24px;
|
|
41
43
|
color: #1a1a1a;
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
</style>
|
|
46
|
+
<p class="title">Styled text</p>
|
|
47
|
+
`,
|
|
48
|
+
width: 600,
|
|
49
|
+
});
|
|
46
50
|
```
|
|
47
51
|
|
|
48
|
-
###
|
|
52
|
+
### Font loading
|
|
53
|
+
|
|
54
|
+
`render` is **synchronous** and does not load fonts. You must ensure fonts are loaded before calling it. If a font isn't loaded, the browser falls back to a default font and text metrics will be wrong.
|
|
49
55
|
|
|
50
56
|
```typescript
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
);
|
|
57
|
+
// Load fonts before rendering
|
|
58
|
+
await document.fonts.load('400 16px "Roboto"');
|
|
59
|
+
await document.fonts.load('700 16px "Roboto"');
|
|
60
|
+
|
|
61
|
+
// Now render — fonts are guaranteed to be available
|
|
62
|
+
const { canvas } = render({ html, width: 500 });
|
|
63
|
+
|
|
64
|
+
// Re-render if fonts load later
|
|
65
|
+
document.fonts.onloadingdone = () => {
|
|
66
|
+
render({ html, width: 500 });
|
|
67
|
+
};
|
|
64
68
|
```
|
|
65
69
|
|
|
70
|
+
You do **not** need to pass `@font-face` rules separately. As long as fonts are loaded in the document (via `<link>`, `@font-face` in a stylesheet, or the CSS Font Loading API), `render` can use them.
|
|
71
|
+
|
|
66
72
|
### High-DPI / Retina
|
|
67
73
|
|
|
74
|
+
`pixelRatio` defaults to `devicePixelRatio`, so HiDPI displays are sharp out of the box. Override if needed:
|
|
75
|
+
|
|
68
76
|
```typescript
|
|
69
|
-
const { canvas } =
|
|
70
|
-
width: 600,
|
|
71
|
-
pixelRatio: window.devicePixelRatio,
|
|
72
|
-
});
|
|
77
|
+
const { canvas } = render({ html, width: 600, pixelRatio: 1 });
|
|
73
78
|
```
|
|
74
79
|
|
|
75
80
|
### Render onto existing canvas
|
|
76
81
|
|
|
77
82
|
```typescript
|
|
78
83
|
const canvas = document.getElementById('my-canvas');
|
|
79
|
-
|
|
84
|
+
render({ html, canvas, width: 800, height: 600 });
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Render onto existing context
|
|
88
|
+
|
|
89
|
+
Draw directly onto a context you control (no canvas resizing or scaling):
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
const ctx = myCanvas.getContext('2d');
|
|
93
|
+
render({ html, ctx, width: 400 });
|
|
80
94
|
```
|
|
81
95
|
|
|
96
|
+
This is useful for compositing multiple renders onto one canvas or rendering onto an `OffscreenCanvas`.
|
|
97
|
+
|
|
82
98
|
## API
|
|
83
99
|
|
|
84
|
-
### `
|
|
100
|
+
### `render(config): RenderResult`
|
|
101
|
+
|
|
102
|
+
All-in-one: compute layout and draw in a single call.
|
|
85
103
|
|
|
86
104
|
| Option | Type | Default | Description |
|
|
87
105
|
|---|---|---|---|
|
|
106
|
+
| `html` | `string` | *required* | HTML string to render (include `<style>` tags for CSS) |
|
|
88
107
|
| `width` | `number` | *required* | Layout width in CSS pixels |
|
|
89
108
|
| `height` | `number` | auto | Fixed height (auto-sized from content if omitted) |
|
|
90
|
-
| `
|
|
91
|
-
| `canvas` | `HTMLCanvasElement` | created | Target canvas element |
|
|
92
|
-
| `pixelRatio` | `number` | `
|
|
93
|
-
| `
|
|
109
|
+
| `ctx` | `CanvasRenderingContext2D` | — | Existing context to draw onto (no resizing/scaling) |
|
|
110
|
+
| `canvas` | `HTMLCanvasElement \| OffscreenCanvas` | created | Target canvas element (mutually exclusive with `ctx`) |
|
|
111
|
+
| `pixelRatio` | `number` | `devicePixelRatio` | Device pixel ratio for sharp rendering |
|
|
112
|
+
| `accuracy` | `'balanced' \| 'performance'` | `'balanced'` | `'balanced'` uses DOM probes for cross-browser line height accuracy. `'performance'` uses pure canvas API only. |
|
|
94
113
|
|
|
95
|
-
Returns `{ canvas
|
|
114
|
+
Returns `{ canvas, height, layoutRoot, lines }`.
|
|
96
115
|
|
|
97
116
|
The function is **synchronous**. Fonts must be loaded before calling.
|
|
98
117
|
|
|
118
|
+
### `layout(config): LayoutResult`
|
|
119
|
+
|
|
120
|
+
Compute layout without rendering. Use when you need to measure content or render the same layout onto multiple targets.
|
|
121
|
+
|
|
122
|
+
| Option | Type | Default | Description |
|
|
123
|
+
|---|---|---|---|
|
|
124
|
+
| `html` | `string` | *required* | HTML string (include `<style>` tags for CSS) |
|
|
125
|
+
| `width` | `number` | *required* | Layout width in CSS pixels |
|
|
126
|
+
| `height` | `number` | auto | Fixed height (auto-sized from content if omitted) |
|
|
127
|
+
| `accuracy` | `'balanced' \| 'performance'` | `'balanced'` | Measurement accuracy mode |
|
|
128
|
+
|
|
129
|
+
Returns `{ layoutRoot, height, lines }`.
|
|
130
|
+
|
|
131
|
+
### `drawLayout(config): { canvas }`
|
|
132
|
+
|
|
133
|
+
Draw a pre-computed layout onto a canvas or context.
|
|
134
|
+
|
|
135
|
+
| Option | Type | Default | Description |
|
|
136
|
+
|---|---|---|---|
|
|
137
|
+
| `layout` | `LayoutResult` | *required* | Result from `layout()` |
|
|
138
|
+
| `width` | `number` | *required* | Width used during layout (must match) |
|
|
139
|
+
| `ctx` | `CanvasRenderingContext2D` | — | Existing context to draw onto (no resizing/scaling) |
|
|
140
|
+
| `canvas` | `HTMLCanvasElement \| OffscreenCanvas` | created | Target canvas (mutually exclusive with `ctx`) |
|
|
141
|
+
| `pixelRatio` | `number` | `devicePixelRatio` | Device pixel ratio |
|
|
142
|
+
|
|
143
|
+
### Example: layout once, draw many
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
import { layout, drawLayout } from 'render-tag';
|
|
147
|
+
|
|
148
|
+
const result = layout({ html, width: 400 });
|
|
149
|
+
console.log('content height:', result.height);
|
|
150
|
+
|
|
151
|
+
// Draw onto a thumbnail canvas
|
|
152
|
+
drawLayout({ layout: result, width: 400, canvas: thumbnailCanvas });
|
|
153
|
+
|
|
154
|
+
// Draw onto the main canvas
|
|
155
|
+
drawLayout({ layout: result, width: 400, canvas: mainCanvas });
|
|
156
|
+
|
|
157
|
+
// Draw onto an existing context
|
|
158
|
+
drawLayout({ layout: result, width: 400, ctx: offscreenCtx });
|
|
159
|
+
```
|
|
160
|
+
|
|
99
161
|
## What it renders
|
|
100
162
|
|
|
101
163
|
- Paragraphs, headings, divs, spans
|
|
@@ -105,7 +167,6 @@ The function is **synchronous**. Fonts must be loaded before calling.
|
|
|
105
167
|
- Line height, letter spacing, text alignment (left/center/right/justify)
|
|
106
168
|
- Ordered and unordered lists with nesting
|
|
107
169
|
- Inline styles and CSS classes
|
|
108
|
-
- `@font-face` web fonts (loaded automatically)
|
|
109
170
|
- Flexbox layout (row/column)
|
|
110
171
|
- Table layout (basic)
|
|
111
172
|
- Text shadows, text stroke, gradient text
|
|
@@ -113,6 +174,7 @@ The function is **synchronous**. Fonts must be loaded before calling.
|
|
|
113
174
|
- RTL text, CJK characters, emoji
|
|
114
175
|
- `pre-wrap` whitespace handling
|
|
115
176
|
- `overflow-wrap: break-word`
|
|
177
|
+
- Soft hyphens (`­`)
|
|
116
178
|
|
|
117
179
|
## Cross-browser consistency
|
|
118
180
|
|
|
@@ -130,16 +192,16 @@ li::marker { content: none; font-size: 0; line-height: 0; }
|
|
|
130
192
|
.has-emoji { font-kerning: none; }
|
|
131
193
|
```
|
|
132
194
|
|
|
133
|
-
With `
|
|
195
|
+
With `accuracy: 'balanced'` (the default), the library uses hidden DOM probes to match Firefox's actual line box heights. With `accuracy: 'performance'`, the CSS above becomes especially important for Firefox consistency.
|
|
134
196
|
|
|
135
197
|
## How it works
|
|
136
198
|
|
|
137
199
|
1. **Parse** HTML with `DOMParser`
|
|
138
200
|
2. **Resolve styles** via hidden DOM + `getComputedStyle` (CSS cascade for free)
|
|
139
|
-
3. **Layout** with
|
|
201
|
+
3. **Layout** with canvas `measureText` (block flow, inline wrapping, margin collapsing)
|
|
140
202
|
4. **Render** with canvas 2D API (`fillText`, `fillRect`, `strokeText`, etc.)
|
|
141
203
|
|
|
142
|
-
|
|
204
|
+
Style resolution uses a hidden DOM element with `getComputedStyle` to get the full CSS cascade. Layout and rendering are done entirely with the canvas 2D API. Optional DOM probes (`accuracy: 'balanced'`) improve cross-browser accuracy for line heights and mixed-font wrapping.
|
|
143
205
|
|
|
144
206
|
## Development
|
|
145
207
|
|
package/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
|
-
import type { RenderOptions, RenderResult, LayoutLine } from './types.js';
|
|
2
|
-
export type { RenderOptions, RenderResult, LayoutLine };
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
1
|
+
import type { RenderConfig, RenderOptions, RenderResult, LayoutConfig, LayoutResult, DrawConfig, LayoutLine, AnyCanvas } from './types.js';
|
|
2
|
+
export type { RenderConfig, RenderOptions, RenderResult, LayoutConfig, LayoutResult, DrawConfig, LayoutLine };
|
|
3
|
+
/**
|
|
4
|
+
* Compute layout for an HTML string without rendering.
|
|
5
|
+
* Returns a reusable LayoutResult that can be drawn onto multiple targets via drawLayout().
|
|
6
|
+
*/
|
|
7
|
+
export declare function layout(config: LayoutConfig): LayoutResult;
|
|
8
|
+
/**
|
|
9
|
+
* Draw a pre-computed layout onto a canvas or context.
|
|
10
|
+
* Use with layout() to render the same content onto multiple targets.
|
|
11
|
+
*/
|
|
12
|
+
export declare function drawLayout(config: DrawConfig): {
|
|
13
|
+
canvas: AnyCanvas;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Render an HTML string onto a canvas using pure 2D canvas API.
|
|
17
|
+
* Convenience function combining layout() + drawLayout().
|
|
18
|
+
* Fonts must already be loaded before calling this function.
|
|
19
|
+
*/
|
|
20
|
+
export declare function render(config: RenderConfig): RenderResult;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use `render()` instead.
|
|
10
23
|
*/
|
|
11
24
|
export declare function renderHTML(html: string, options: RenderOptions): RenderResult;
|
|
12
25
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAAE,aAAa,EAAE,YAAY,EACzC,YAAY,EAAE,YAAY,EAAE,UAAU,EACtC,UAAU,EAAc,SAAS,EAClC,MAAM,YAAY,CAAC;AAMpB,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAmC9G;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CA6BzD;AAID;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAyCpE;AAID;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CA2BzD;AAID;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAUd"}
|
package/lib/index.js
CHANGED
|
@@ -2,51 +2,19 @@ import { parseHTML } from './parse.js';
|
|
|
2
2
|
import { resolveStyles } from './style-resolver.js';
|
|
3
3
|
import { buildLayoutTree } from './layout.js';
|
|
4
4
|
import { renderNode } from './render.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* Fonts must already be loaded on the page before calling this function.
|
|
8
|
-
*
|
|
9
|
-
* @param html - HTML string to render
|
|
10
|
-
* @param options - Rendering options (width is required)
|
|
11
|
-
* @returns The canvas element and computed content height
|
|
12
|
-
*/
|
|
13
|
-
export function renderHTML(html, options) {
|
|
14
|
-
const { width, height, css: extraCSS, pixelRatio = 1, useDomMeasurements = true, debug } = options;
|
|
15
|
-
// 1. Parse HTML and extract CSS
|
|
16
|
-
const { fragment, css } = parseHTML(html, extraCSS);
|
|
17
|
-
// 2. Resolve styles using hidden DOM (getComputedStyle only, no measurements)
|
|
18
|
-
const { tree, cleanup } = resolveStyles(fragment, css, width, height);
|
|
19
|
-
// 3. Create canvas
|
|
20
|
-
const canvas = options.canvas || document.createElement('canvas');
|
|
21
|
-
const tmpCanvas = document.createElement('canvas');
|
|
22
|
-
const ctx = tmpCanvas.getContext('2d');
|
|
23
|
-
ctx.fontKerning = 'normal';
|
|
24
|
-
// 4. Build layout tree using pure canvas measurement
|
|
25
|
-
const { root, height: contentHeight } = buildLayoutTree(ctx, tree, width, useDomMeasurements, debug);
|
|
26
|
-
// 5. Size the output canvas
|
|
27
|
-
const finalHeight = height || contentHeight;
|
|
28
|
-
canvas.width = Math.ceil(width * pixelRatio);
|
|
29
|
-
canvas.height = Math.ceil(finalHeight * pixelRatio);
|
|
30
|
-
canvas.style.width = `${width}px`;
|
|
31
|
-
canvas.style.height = `${finalHeight}px`;
|
|
32
|
-
const renderCtx = canvas.getContext('2d');
|
|
33
|
-
renderCtx.scale(pixelRatio, pixelRatio);
|
|
34
|
-
// 6. Render to canvas
|
|
35
|
-
renderNode(renderCtx, root);
|
|
36
|
-
// 7. Extract lines from layout tree — group by Y with tolerance.
|
|
37
|
-
// Use fontSize as proxy for height when grouping. Sub/sup text has
|
|
38
|
-
// different Y but belongs on the same visual line as parent text.
|
|
5
|
+
// ─── Line extraction ─────────────────────────────────────────────────
|
|
6
|
+
function extractLines(root) {
|
|
39
7
|
const wordPositions = [];
|
|
40
|
-
function
|
|
8
|
+
function walk(node) {
|
|
41
9
|
if (node.type === 'text' && node.text.trim()) {
|
|
42
10
|
wordPositions.push({ y: node.y, fontSize: node.style.fontSize, text: node.text });
|
|
43
11
|
}
|
|
44
12
|
if (node.type === 'box') {
|
|
45
13
|
for (const child of node.children)
|
|
46
|
-
|
|
14
|
+
walk(child);
|
|
47
15
|
}
|
|
48
16
|
}
|
|
49
|
-
|
|
17
|
+
walk(root);
|
|
50
18
|
wordPositions.sort((a, b) => a.y - b.y);
|
|
51
19
|
const lines = [];
|
|
52
20
|
let lineMaxFontSize = 0;
|
|
@@ -62,8 +30,114 @@ export function renderHTML(html, options) {
|
|
|
62
30
|
lineMaxFontSize = wp.fontSize;
|
|
63
31
|
}
|
|
64
32
|
}
|
|
65
|
-
|
|
33
|
+
return lines;
|
|
34
|
+
}
|
|
35
|
+
// ─── layout() ────────────────────────────────────────────────────────
|
|
36
|
+
/**
|
|
37
|
+
* Compute layout for an HTML string without rendering.
|
|
38
|
+
* Returns a reusable LayoutResult that can be drawn onto multiple targets via drawLayout().
|
|
39
|
+
*/
|
|
40
|
+
export function layout(config) {
|
|
41
|
+
const { html, width, height, accuracy = 'balanced', debug, } = config;
|
|
42
|
+
if (!width || width <= 0 || Number.isNaN(width)) {
|
|
43
|
+
throw new TypeError(`layout: width must be a positive number, got ${width}`);
|
|
44
|
+
}
|
|
45
|
+
const useDomMeasurements = accuracy === 'balanced';
|
|
46
|
+
const { fragment, css } = parseHTML(html);
|
|
47
|
+
const { tree, cleanup } = resolveStyles(fragment, css, width, height);
|
|
48
|
+
const tmpCanvas = document.createElement('canvas');
|
|
49
|
+
const measureCtx = tmpCanvas.getContext('2d');
|
|
50
|
+
measureCtx.fontKerning = 'normal';
|
|
51
|
+
const { root, height: contentHeight } = buildLayoutTree(measureCtx, tree, width, useDomMeasurements, debug);
|
|
52
|
+
const finalHeight = height || contentHeight;
|
|
53
|
+
const lines = extractLines(root);
|
|
66
54
|
cleanup();
|
|
67
|
-
return {
|
|
55
|
+
return { layoutRoot: root, height: finalHeight, lines };
|
|
56
|
+
}
|
|
57
|
+
// ─── drawLayout() ────────────────────────────────────────────────────
|
|
58
|
+
/**
|
|
59
|
+
* Draw a pre-computed layout onto a canvas or context.
|
|
60
|
+
* Use with layout() to render the same content onto multiple targets.
|
|
61
|
+
*/
|
|
62
|
+
export function drawLayout(config) {
|
|
63
|
+
const { layout: layoutResult, width, pixelRatio = globalThis.devicePixelRatio ?? 1, } = config;
|
|
64
|
+
if (config.ctx && config.canvas) {
|
|
65
|
+
throw new TypeError('drawLayout: ctx and canvas are mutually exclusive — provide one or neither');
|
|
66
|
+
}
|
|
67
|
+
const finalHeight = layoutResult.height;
|
|
68
|
+
let canvas;
|
|
69
|
+
let renderCtx;
|
|
70
|
+
if (config.ctx) {
|
|
71
|
+
renderCtx = config.ctx;
|
|
72
|
+
canvas = config.ctx.canvas;
|
|
73
|
+
}
|
|
74
|
+
else if (config.canvas) {
|
|
75
|
+
canvas = config.canvas;
|
|
76
|
+
canvas.width = Math.ceil(width * pixelRatio);
|
|
77
|
+
canvas.height = Math.ceil(finalHeight * pixelRatio);
|
|
78
|
+
if ('style' in canvas) {
|
|
79
|
+
canvas.style.width = `${width}px`;
|
|
80
|
+
canvas.style.height = `${finalHeight}px`;
|
|
81
|
+
}
|
|
82
|
+
renderCtx = canvas.getContext('2d');
|
|
83
|
+
renderCtx.scale(pixelRatio, pixelRatio);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
canvas = document.createElement('canvas');
|
|
87
|
+
canvas.width = Math.ceil(width * pixelRatio);
|
|
88
|
+
canvas.height = Math.ceil(finalHeight * pixelRatio);
|
|
89
|
+
canvas.style.width = `${width}px`;
|
|
90
|
+
canvas.style.height = `${finalHeight}px`;
|
|
91
|
+
renderCtx = canvas.getContext('2d');
|
|
92
|
+
renderCtx.scale(pixelRatio, pixelRatio);
|
|
93
|
+
}
|
|
94
|
+
renderNode(renderCtx, layoutResult.layoutRoot);
|
|
95
|
+
return { canvas };
|
|
96
|
+
}
|
|
97
|
+
// ─── render() ────────────────────────────────────────────────────────
|
|
98
|
+
/**
|
|
99
|
+
* Render an HTML string onto a canvas using pure 2D canvas API.
|
|
100
|
+
* Convenience function combining layout() + drawLayout().
|
|
101
|
+
* Fonts must already be loaded before calling this function.
|
|
102
|
+
*/
|
|
103
|
+
export function render(config) {
|
|
104
|
+
if (config.ctx && config.canvas) {
|
|
105
|
+
throw new TypeError('render: ctx and canvas are mutually exclusive — provide one or neither');
|
|
106
|
+
}
|
|
107
|
+
const layoutResult = layout({
|
|
108
|
+
html: config.html,
|
|
109
|
+
width: config.width,
|
|
110
|
+
height: config.height,
|
|
111
|
+
accuracy: config.accuracy,
|
|
112
|
+
debug: config.debug,
|
|
113
|
+
});
|
|
114
|
+
const { canvas } = drawLayout({
|
|
115
|
+
layout: layoutResult,
|
|
116
|
+
width: config.width,
|
|
117
|
+
ctx: config.ctx,
|
|
118
|
+
canvas: config.canvas,
|
|
119
|
+
pixelRatio: config.pixelRatio,
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
canvas,
|
|
123
|
+
height: layoutResult.height,
|
|
124
|
+
layoutRoot: layoutResult.layoutRoot,
|
|
125
|
+
lines: layoutResult.lines,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// ─── Deprecated ──────────────────────────────────────────────────────
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated Use `render()` instead.
|
|
131
|
+
*/
|
|
132
|
+
export function renderHTML(html, options) {
|
|
133
|
+
return render({
|
|
134
|
+
html: options.css ? `<style>${options.css}</style>${html}` : html,
|
|
135
|
+
width: options.width,
|
|
136
|
+
height: options.height,
|
|
137
|
+
canvas: options.canvas,
|
|
138
|
+
pixelRatio: options.pixelRatio ?? 1,
|
|
139
|
+
accuracy: options.useDomMeasurements === false ? 'performance' : 'balanced',
|
|
140
|
+
debug: options.debug,
|
|
141
|
+
});
|
|
68
142
|
}
|
|
69
143
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAc,SAAS,EAAc,aAAa,EAAE,MAAM,YAAY,CAAC;AAqG/F;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAO5D;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAc,SAAS,EAAc,aAAa,EAAE,MAAM,YAAY,CAAC;AAqG/F;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAO5D;AA83CD;;;GAGG;AACH,wBAAgB,kBAAkB,WAA+B;AACjE,wBAAgB,oBAAoB,SAA4B;AAEhE,wBAAgB,eAAe,CAC7B,GAAG,EAAE,wBAAwB,EAC7B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,kBAAkB,UAAO,EACzB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,UAAU,KAAK,IAAI,GACvD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAcrC"}
|
package/lib/layout.js
CHANGED
|
@@ -309,10 +309,31 @@ function getSegmenter() {
|
|
|
309
309
|
function tokenizeString(ctx, text, run, allWords) {
|
|
310
310
|
// Split on zero-width spaces and soft hyphens (break opportunities)
|
|
311
311
|
if (text.includes('\u200B') || text.includes('\u00AD')) {
|
|
312
|
-
|
|
312
|
+
// Split but keep delimiters to distinguish soft hyphens from zero-width spaces
|
|
313
|
+
const parts = text.split(/(\u200B|\u00AD)/);
|
|
314
|
+
let nextIsSoftHyphen = false;
|
|
313
315
|
for (const part of parts) {
|
|
314
|
-
if (part)
|
|
315
|
-
|
|
316
|
+
if (part === '\u00AD') {
|
|
317
|
+
// Mark the PREVIOUS word as a soft-hyphen break point
|
|
318
|
+
nextIsSoftHyphen = true;
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
321
|
+
if (part === '\u200B' || part === '') {
|
|
322
|
+
nextIsSoftHyphen = false;
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
const prevLen = allWords.length;
|
|
326
|
+
tokenizeString(ctx, part, run, allWords);
|
|
327
|
+
// If the previous delimiter was a soft hyphen, mark the word
|
|
328
|
+
// just before this part as having a soft-hyphen break opportunity
|
|
329
|
+
if (nextIsSoftHyphen && prevLen > 0) {
|
|
330
|
+
allWords[prevLen - 1].isSoftHyphenBreak = true;
|
|
331
|
+
}
|
|
332
|
+
nextIsSoftHyphen = false;
|
|
333
|
+
}
|
|
334
|
+
// If the text ends with a soft hyphen, mark the last word
|
|
335
|
+
if (nextIsSoftHyphen && allWords.length > 0) {
|
|
336
|
+
allWords[allWords.length - 1].isSoftHyphenBreak = true;
|
|
316
337
|
}
|
|
317
338
|
return;
|
|
318
339
|
}
|
|
@@ -509,7 +530,7 @@ function isCJK(char) {
|
|
|
509
530
|
function breakWordIfNeeded(ctx, word, contentWidth, currentLineWidth) {
|
|
510
531
|
// Check if word has CJK characters — always break at character level
|
|
511
532
|
const hasCJK = [...word.text].some(isCJK);
|
|
512
|
-
// Check if word needs break-word splitting
|
|
533
|
+
// Check if word needs break-word splitting — when it won't fit on a fresh line
|
|
513
534
|
const needsBreak = word.width > contentWidth &&
|
|
514
535
|
(word.style.overflowWrap === 'break-word' || word.style.wordBreak === 'break-all');
|
|
515
536
|
if (!hasCJK && !needsBreak)
|
|
@@ -555,13 +576,29 @@ function flowWordsIntoLines(ctx, words, contentWidth, whiteSpace, useBulletProbe
|
|
|
555
576
|
let currentLine = { words: [], totalWidth: 0, lineHeight: 0 };
|
|
556
577
|
const noWrap = whiteSpace === 'nowrap' || whiteSpace === 'pre';
|
|
557
578
|
const isPreWrap = whiteSpace === 'pre-wrap' || whiteSpace === 'pre' || whiteSpace === 'pre-line';
|
|
558
|
-
function pushLine() {
|
|
579
|
+
function pushLine(isSoftWrap = false) {
|
|
559
580
|
const hadWords = currentLine.words.length > 0;
|
|
560
581
|
// Trim trailing spaces
|
|
561
582
|
while (currentLine.words.length > 0 && currentLine.words[currentLine.words.length - 1].isSpace) {
|
|
562
583
|
currentLine.totalWidth -= currentLine.words[currentLine.words.length - 1].width;
|
|
563
584
|
currentLine.words.pop();
|
|
564
585
|
}
|
|
586
|
+
// Soft hyphen: if this is a soft wrap and the last word has a soft-hyphen
|
|
587
|
+
// break, append a visible '-' since the word is being broken here.
|
|
588
|
+
if (isSoftWrap && currentLine.words.length > 0) {
|
|
589
|
+
const lastWord = currentLine.words[currentLine.words.length - 1];
|
|
590
|
+
if (lastWord.isSoftHyphenBreak) {
|
|
591
|
+
applyFont(ctx, lastWord.style);
|
|
592
|
+
const hyphenWidth = ctx.measureText('-').width;
|
|
593
|
+
currentLine.words.push({
|
|
594
|
+
text: '-',
|
|
595
|
+
width: hyphenWidth,
|
|
596
|
+
style: lastWord.style,
|
|
597
|
+
isSpace: false,
|
|
598
|
+
});
|
|
599
|
+
currentLine.totalWidth += hyphenWidth;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
565
602
|
// In pre-wrap mode, space-only lines still need height (they are content)
|
|
566
603
|
if (currentLine.words.length > 0 || (hadWords && isPreWrap)) {
|
|
567
604
|
if (_debug) {
|
|
@@ -609,8 +646,14 @@ function flowWordsIntoLines(ctx, words, contentWidth, whiteSpace, useBulletProbe
|
|
|
609
646
|
? breakWordIfNeeded(ctx, word, contentWidth, currentLine.totalWidth)
|
|
610
647
|
: [word];
|
|
611
648
|
for (const piece of pieces) {
|
|
649
|
+
// Trailing punctuation (e.g. comma after </span>) should not wrap
|
|
650
|
+
// independently — browsers keep it with the preceding word.
|
|
651
|
+
const isTrailingPunct = !piece.isSpace && piece.text.length > 0 &&
|
|
652
|
+
/^[,.\;:!?\)\]\}'"»›]+$/.test(piece.text) &&
|
|
653
|
+
currentLine.words.length > 0 &&
|
|
654
|
+
!currentLine.words[currentLine.words.length - 1].isSpace;
|
|
612
655
|
// Would this piece overflow?
|
|
613
|
-
if (!piece.isSpace && currentLine.words.length > 0 &&
|
|
656
|
+
if (!piece.isSpace && !isTrailingPunct && currentLine.words.length > 0 &&
|
|
614
657
|
currentLine.totalWidth + piece.width > contentWidth) {
|
|
615
658
|
const overflow = currentLine.totalWidth + piece.width - contentWidth;
|
|
616
659
|
// For borderline cases (overflow < 1px), word-by-word delta
|
|
@@ -638,7 +681,7 @@ function flowWordsIntoLines(ctx, words, contentWidth, whiteSpace, useBulletProbe
|
|
|
638
681
|
data: { text: piece.text, overflow, lineWidth: currentLine.totalWidth, pieceWidth: piece.width, contentWidth, lineText },
|
|
639
682
|
});
|
|
640
683
|
}
|
|
641
|
-
pushLine();
|
|
684
|
+
pushLine(true);
|
|
642
685
|
afterHardBreak = false;
|
|
643
686
|
}
|
|
644
687
|
}
|
|
@@ -662,7 +705,7 @@ function flowWordsIntoLines(ctx, words, contentWidth, whiteSpace, useBulletProbe
|
|
|
662
705
|
data: { text: piece.text, remaining, domWidth, contentWidth },
|
|
663
706
|
});
|
|
664
707
|
}
|
|
665
|
-
pushLine();
|
|
708
|
+
pushLine(true);
|
|
666
709
|
afterHardBreak = false;
|
|
667
710
|
}
|
|
668
711
|
}
|
package/lib/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
package/lib/parse.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Parse HTML string and extract inline <style> blocks.
|
|
3
3
|
* Returns the content element and combined CSS text.
|
|
4
4
|
*/
|
|
5
|
-
export declare function parseHTML(html: string
|
|
5
|
+
export declare function parseHTML(html: string): {
|
|
6
6
|
fragment: DocumentFragment;
|
|
7
7
|
css: string;
|
|
8
8
|
};
|
package/lib/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAmBnF"}
|
package/lib/parse.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Parse HTML string and extract inline <style> blocks.
|
|
3
3
|
* Returns the content element and combined CSS text.
|
|
4
4
|
*/
|
|
5
|
-
export function parseHTML(html
|
|
5
|
+
export function parseHTML(html) {
|
|
6
6
|
const parser = new DOMParser();
|
|
7
7
|
const doc = parser.parseFromString(html, 'text/html');
|
|
8
8
|
// Extract all <style> tag contents
|
|
@@ -12,9 +12,6 @@ export function parseHTML(html, extraCSS) {
|
|
|
12
12
|
css += tag.textContent + '\n';
|
|
13
13
|
tag.remove();
|
|
14
14
|
}
|
|
15
|
-
if (extraCSS) {
|
|
16
|
-
css = extraCSS + '\n' + css;
|
|
17
|
-
}
|
|
18
15
|
// Move body children into a fragment
|
|
19
16
|
const fragment = document.createDocumentFragment();
|
|
20
17
|
while (doc.body.firstChild) {
|
package/lib/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEtD,mCAAmC;IACnC,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,GAAG,IAAI,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9B,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC3B,CAAC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,28 +1,91 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export type AnyCanvas = HTMLCanvasElement | OffscreenCanvas;
|
|
2
|
+
export type AnyContext = CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
|
|
3
|
+
export interface RenderConfig {
|
|
4
|
+
/** HTML string to render (include <style> tags for CSS) */
|
|
5
|
+
html: string;
|
|
4
6
|
/** Width of the rendering area in CSS pixels */
|
|
5
7
|
width: number;
|
|
6
|
-
/** Height of the rendering area in CSS pixels (auto-sized if
|
|
8
|
+
/** Height of the rendering area in CSS pixels (auto-sized from content if omitted) */
|
|
7
9
|
height?: number;
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Existing 2D rendering context to draw onto.
|
|
12
|
+
* When provided, render-tag draws directly onto this context without resizing the canvas.
|
|
13
|
+
* Mutually exclusive with `canvas`.
|
|
14
|
+
*/
|
|
15
|
+
ctx?: AnyContext;
|
|
16
|
+
/**
|
|
17
|
+
* Target canvas element (created if not provided).
|
|
18
|
+
* Mutually exclusive with `ctx`.
|
|
19
|
+
*/
|
|
20
|
+
canvas?: AnyCanvas;
|
|
21
|
+
/** Device pixel ratio (default: globalThis.devicePixelRatio ?? 1) */
|
|
11
22
|
pixelRatio?: number;
|
|
12
23
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* measurements only
|
|
17
|
-
* across browsers (e.g. Firefox list item heights).
|
|
24
|
+
* Measurement accuracy mode (default: 'balanced').
|
|
25
|
+
* - 'balanced' — uses DOM probes for cross-browser consistent line heights
|
|
26
|
+
* and wrap verification. Best quality.
|
|
27
|
+
* - 'performance' — pure canvas API measurements only. Faster and DOM-free,
|
|
28
|
+
* but may have slight differences across browsers (e.g. Firefox list item heights).
|
|
18
29
|
*/
|
|
19
|
-
|
|
30
|
+
accuracy?: 'balanced' | 'performance';
|
|
20
31
|
/**
|
|
21
32
|
* Debug callback for layout diagnostics. Receives structured log entries
|
|
22
33
|
* during text measurement, wrapping decisions, and positioning.
|
|
23
34
|
*/
|
|
24
35
|
debug?: (entry: DebugEntry) => void;
|
|
25
36
|
}
|
|
37
|
+
export interface LayoutConfig {
|
|
38
|
+
/** HTML string to render (include <style> tags for CSS) */
|
|
39
|
+
html: string;
|
|
40
|
+
/** Width of the rendering area in CSS pixels */
|
|
41
|
+
width: number;
|
|
42
|
+
/** Height override in CSS pixels (auto-sized from content if omitted) */
|
|
43
|
+
height?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Measurement accuracy mode (default: 'balanced').
|
|
46
|
+
* - 'balanced' — uses DOM probes for cross-browser consistent line heights.
|
|
47
|
+
* - 'performance' — pure canvas API measurements only.
|
|
48
|
+
*/
|
|
49
|
+
accuracy?: 'balanced' | 'performance';
|
|
50
|
+
/** Debug callback for layout diagnostics */
|
|
51
|
+
debug?: (entry: DebugEntry) => void;
|
|
52
|
+
}
|
|
53
|
+
export interface LayoutResult {
|
|
54
|
+
/** The layout tree root */
|
|
55
|
+
layoutRoot: LayoutBox;
|
|
56
|
+
/** Content height in CSS pixels */
|
|
57
|
+
height: number;
|
|
58
|
+
/** Text lines grouped by Y coordinate */
|
|
59
|
+
lines: LayoutLine[];
|
|
60
|
+
}
|
|
61
|
+
export interface DrawConfig {
|
|
62
|
+
/** Layout result from layout() */
|
|
63
|
+
layout: LayoutResult;
|
|
64
|
+
/** Width used during layout (must match) */
|
|
65
|
+
width: number;
|
|
66
|
+
/**
|
|
67
|
+
* Existing 2D rendering context to draw onto.
|
|
68
|
+
* No resizing or scaling applied. Mutually exclusive with `canvas`.
|
|
69
|
+
*/
|
|
70
|
+
ctx?: AnyContext;
|
|
71
|
+
/**
|
|
72
|
+
* Target canvas element (created if not provided).
|
|
73
|
+
* Mutually exclusive with `ctx`.
|
|
74
|
+
*/
|
|
75
|
+
canvas?: AnyCanvas;
|
|
76
|
+
/** Device pixel ratio (default: globalThis.devicePixelRatio ?? 1) */
|
|
77
|
+
pixelRatio?: number;
|
|
78
|
+
}
|
|
79
|
+
/** @deprecated Use RenderConfig instead */
|
|
80
|
+
export interface RenderOptions {
|
|
81
|
+
canvas?: HTMLCanvasElement;
|
|
82
|
+
width: number;
|
|
83
|
+
height?: number;
|
|
84
|
+
css?: string;
|
|
85
|
+
pixelRatio?: number;
|
|
86
|
+
useDomMeasurements?: boolean;
|
|
87
|
+
debug?: (entry: DebugEntry) => void;
|
|
88
|
+
}
|
|
26
89
|
export interface DebugEntry {
|
|
27
90
|
type: 'measure-word' | 'line-wrap' | 'line-commit' | 'position-text';
|
|
28
91
|
/** Human-readable description */
|
|
@@ -38,12 +101,13 @@ export interface LayoutLine {
|
|
|
38
101
|
text: string;
|
|
39
102
|
}
|
|
40
103
|
export interface RenderResult {
|
|
41
|
-
canvas
|
|
42
|
-
|
|
104
|
+
/** The canvas that was rendered onto */
|
|
105
|
+
canvas: AnyCanvas;
|
|
106
|
+
/** Content height in CSS pixels after layout */
|
|
43
107
|
height: number;
|
|
44
|
-
/** The layout tree root
|
|
108
|
+
/** The layout tree root — stable API for inspection and testing */
|
|
45
109
|
layoutRoot: LayoutBox;
|
|
46
|
-
/** Text lines
|
|
110
|
+
/** Text lines grouped by Y coordinate — stable API */
|
|
47
111
|
lines: LayoutLine[];
|
|
48
112
|
}
|
|
49
113
|
/** Resolved style for a single element — all values in px / concrete strings */
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "render-tag",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Render HTML rich text onto canvas using pure 2D API",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"README.md"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
|
-
"dev": "vite",
|
|
21
|
+
"dev": "vite --config docs/vite.config.ts",
|
|
22
22
|
"test": "vitest run tests/render.test.ts",
|
|
23
|
+
"test:update-baselines": "vitest run tests/generate-baselines.test.ts",
|
|
23
24
|
"test:stress": "vitest run tests/stress.test.ts",
|
|
24
25
|
"test:firefox": "vitest run tests/render.test.ts -c vitest.firefox.config.ts",
|
|
25
26
|
"build": "tsc",
|
|
26
|
-
"docs": "vite --config docs/vite.config.ts",
|
|
27
27
|
"docs:build": "vite build --config docs/vite.config.ts"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|