@quillmark/wasm 0.134.0 → 0.134.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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.134.1 - 2026-11-02
4
+
5
+ - feat(wasm): **`repair(raw)` reads a merged state as a valid value.** It
6
+ takes a `RawContent`, offsets in UTF-16 code units, and answers `Repaired`:
7
+ the content and the `Repair`s it made, `inserts: true` on one a single
8
+ writer writes back. An offset inside a character moves to its start, one
9
+ past the text to its end. The runtime exports `RawContent`, `Repair`,
10
+ `Repaired`, `Pos`, `MapResult` and `WrapKind`.
11
+ - fix(content): **`diff` edits a table's cells before its props**, so a
12
+ change merging or splitting cells lands its spans.
13
+
3
14
  ## v0.134.0 - 2026-11-02
4
15
 
5
16
  Upgrade path: [0.133 → 0.134](docs/migrations/0.133-to-0.134.md). Every
@@ -2153,14 +2153,14 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE
2153
2153
 
2154
2154
  ## Apache License 2.0
2155
2155
 
2156
- - quillmark-acroform 0.134.0 (https://github.com/borb-sh/quillmark)
2157
- - quillmark-typst 0.134.0 (https://github.com/borb-sh/quillmark)
2158
- - quillmark-cli 0.134.0 (https://github.com/borb-sh/quillmark)
2159
- - quillmark-python 0.134.0
2160
- - quillmark-content 0.134.0 (https://github.com/borb-sh/quillmark)
2161
- - quillmark-core 0.134.0 (https://github.com/borb-sh/quillmark)
2162
- - quillmark 0.134.0 (https://github.com/borb-sh/quillmark)
2163
- - quillmark-pdf 0.134.0 (https://github.com/borb-sh/quillmark)
2156
+ - quillmark-acroform 0.134.1 (https://github.com/borb-sh/quillmark)
2157
+ - quillmark-typst 0.134.1 (https://github.com/borb-sh/quillmark)
2158
+ - quillmark-cli 0.134.1 (https://github.com/borb-sh/quillmark)
2159
+ - quillmark-python 0.134.1
2160
+ - quillmark-content 0.134.1 (https://github.com/borb-sh/quillmark)
2161
+ - quillmark-core 0.134.1 (https://github.com/borb-sh/quillmark)
2162
+ - quillmark 0.134.1 (https://github.com/borb-sh/quillmark)
2163
+ - quillmark-pdf 0.134.1 (https://github.com/borb-sh/quillmark)
2164
2164
  - ciborium-io 0.2.2 (https://github.com/enarx/ciborium)
2165
2165
  - ciborium-ll 0.2.2 (https://github.com/enarx/ciborium)
2166
2166
  - ciborium 0.2.2 (https://github.com/enarx/ciborium)
@@ -6594,8 +6594,8 @@ limitations under the License.
6594
6594
 
6595
6595
  ## Apache License 2.0
6596
6596
 
6597
- - quillmark-wasm 0.134.0 (https://github.com/borb-sh/quillmark)
6598
- - quillmark-fixtures 0.134.0
6597
+ - quillmark-wasm 0.134.1 (https://github.com/borb-sh/quillmark)
6598
+ - quillmark-fixtures 0.134.1
6599
6599
  - arraydeque 0.5.1 (https://github.com/andylokandy/arraydeque)
6600
6600
  - codex 0.3.0 (https://github.com/typst/codex)
6601
6601
  - color 0.3.3 (https://github.com/linebender/color)
package/core/wasm.d.ts CHANGED
@@ -414,6 +414,52 @@ export interface MapResult {
414
414
  * item per wrapped child, each `checked` as given. */
415
415
  export type WrapKind = { kind: "quote" } | { kind: "list"; ordered: boolean; checked?: boolean };
416
416
 
417
+ /**
418
+ * A value as a merge of concurrent edits left it, for `repair`: shaped as
419
+ * `Content`, its invariants unchecked. `islands` is an array paired with the
420
+ * slots in order, or an object keyed by island id with `slot_ids` naming the
421
+ * island each `U+FFFC` carries, `null` for none. An anchor placed as a range
422
+ * carries `range: true`, since one collapsed to zero width reads as a point
423
+ * otherwise. An offset inside a character moves to its start, and one past
424
+ * the text to its end.
425
+ */
426
+ export interface RawContent {
427
+ text: string;
428
+ blocks: ContentBlock[];
429
+ containers?: ContentContainer[];
430
+ marks?: ContentMark[];
431
+ anchors?: (ContentAnchor & { range?: boolean })[];
432
+ islands?: (ContentIsland & { slots?: Record<string, RawContent> })[]
433
+ | Record<string, Omit<ContentIsland, "id"> & { slots?: Record<string, RawContent> }>;
434
+ slot_ids?: (string | null)[];
435
+ }
436
+
437
+ /**
438
+ * One mend `repair` made. `inserts` marks one whose write-back inserts text
439
+ * or a slot, which only a session's single writer writes back; any peer may
440
+ * write back a report holding none.
441
+ */
442
+ export type Repair = { inserts?: true } & (
443
+ | { repair: "missing_container"; block: string; container: string }
444
+ | { repair: "two_parents"; container: string }
445
+ | { repair: "split_run"; container: string; fresh: string }
446
+ | { repair: "orphan_slot"; island: string | null }
447
+ | { repair: "orphan_island"; island: string }
448
+ | { repair: "shared_island"; island: string; fresh: string }
449
+ | { repair: "split_block"; island: string; block: string }
450
+ | { repair: "empty_cell"; island: string; slot: string }
451
+ | { repair: "collapsed_anchor"; id: string }
452
+ | { repair: "invalid"; reason: string }
453
+ | { repair: "in_slot"; island: string; slot: string; inner: Repair }
454
+ );
455
+
456
+ /** What `repair` read a merged value as: the valid `content`, and each
457
+ * mend, none for a value already valid. */
458
+ export interface Repaired {
459
+ content: Content;
460
+ repairs: Repair[];
461
+ }
462
+
417
463
 
418
464
 
419
465
 
@@ -1269,6 +1315,13 @@ export function outdent(content: Content, first: string, last?: string | null):
1269
1315
  */
1270
1316
  export function parseDocPath(path: string): DocPathSeg[];
1271
1317
 
1318
+ /**
1319
+ * The valid value every peer holding the merged state `raw` reads, and what
1320
+ * was mended to reach it: total and deterministic, every id it mints derived
1321
+ * from the ids involved. Throws only on a `raw` not shaped as content.
1322
+ */
1323
+ export function repair(raw: RawContent): Repaired;
1324
+
1272
1325
  /**
1273
1326
  * Enter at `at`: the change splitting the block holding `at` there, the new
1274
1327
  * block `newId` and the text keeping its id. Throws `edit::content_apply`
@@ -1386,6 +1439,7 @@ export interface InitOutput {
1386
1439
  readonly quill_toTree: (a: number) => number;
1387
1440
  readonly quill_validate: (a: number, b: number, c: number) => void;
1388
1441
  readonly quill_warnings: (a: number, b: number) => void;
1442
+ readonly repair: (a: number, b: number) => void;
1389
1443
  readonly splitBlock: (a: number, b: number, c: number, d: number, e: number) => void;
1390
1444
  readonly start: () => void;
1391
1445
  readonly wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
package/core/wasm.js CHANGED
@@ -2322,6 +2322,29 @@ export function parseDocPath(path) {
2322
2322
  }
2323
2323
  }
2324
2324
 
2325
+ /**
2326
+ * The valid value every peer holding the merged state `raw` reads, and what
2327
+ * was mended to reach it: total and deterministic, every id it mints derived
2328
+ * from the ids involved. Throws only on a `raw` not shaped as content.
2329
+ * @param {RawContent} raw
2330
+ * @returns {Repaired}
2331
+ */
2332
+ export function repair(raw) {
2333
+ try {
2334
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2335
+ wasm.repair(retptr, addHeapObject(raw));
2336
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2337
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2338
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2339
+ if (r2) {
2340
+ throw takeObject(r1);
2341
+ }
2342
+ return takeObject(r0);
2343
+ } finally {
2344
+ wasm.__wbindgen_add_to_stack_pointer(16);
2345
+ }
2346
+ }
2347
+
2325
2348
  /**
2326
2349
  * Enter at `at`: the change splitting the block holding `at` there, the new
2327
2350
  * block `newId` and the text keeping its id. Throws `edit::content_apply`
package/core/wasm_bg.wasm CHANGED
Binary file
@@ -93,6 +93,7 @@ export const quill_toBundle: (a: number, b: number) => void;
93
93
  export const quill_toTree: (a: number) => number;
94
94
  export const quill_validate: (a: number, b: number, c: number) => void;
95
95
  export const quill_warnings: (a: number, b: number) => void;
96
+ export const repair: (a: number, b: number) => void;
96
97
  export const splitBlock: (a: number, b: number, c: number, d: number, e: number) => void;
97
98
  export const start: () => void;
98
99
  export const wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillmark/wasm",
3
- "version": "0.134.0",
3
+ "version": "0.134.1",
4
4
  "description": "WebAssembly bindings for Quillmark, a schema-driven document framework",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
package/render/wasm.d.ts CHANGED
@@ -414,6 +414,52 @@ export interface MapResult {
414
414
  * item per wrapped child, each `checked` as given. */
415
415
  export type WrapKind = { kind: "quote" } | { kind: "list"; ordered: boolean; checked?: boolean };
416
416
 
417
+ /**
418
+ * A value as a merge of concurrent edits left it, for `repair`: shaped as
419
+ * `Content`, its invariants unchecked. `islands` is an array paired with the
420
+ * slots in order, or an object keyed by island id with `slot_ids` naming the
421
+ * island each `U+FFFC` carries, `null` for none. An anchor placed as a range
422
+ * carries `range: true`, since one collapsed to zero width reads as a point
423
+ * otherwise. An offset inside a character moves to its start, and one past
424
+ * the text to its end.
425
+ */
426
+ export interface RawContent {
427
+ text: string;
428
+ blocks: ContentBlock[];
429
+ containers?: ContentContainer[];
430
+ marks?: ContentMark[];
431
+ anchors?: (ContentAnchor & { range?: boolean })[];
432
+ islands?: (ContentIsland & { slots?: Record<string, RawContent> })[]
433
+ | Record<string, Omit<ContentIsland, "id"> & { slots?: Record<string, RawContent> }>;
434
+ slot_ids?: (string | null)[];
435
+ }
436
+
437
+ /**
438
+ * One mend `repair` made. `inserts` marks one whose write-back inserts text
439
+ * or a slot, which only a session's single writer writes back; any peer may
440
+ * write back a report holding none.
441
+ */
442
+ export type Repair = { inserts?: true } & (
443
+ | { repair: "missing_container"; block: string; container: string }
444
+ | { repair: "two_parents"; container: string }
445
+ | { repair: "split_run"; container: string; fresh: string }
446
+ | { repair: "orphan_slot"; island: string | null }
447
+ | { repair: "orphan_island"; island: string }
448
+ | { repair: "shared_island"; island: string; fresh: string }
449
+ | { repair: "split_block"; island: string; block: string }
450
+ | { repair: "empty_cell"; island: string; slot: string }
451
+ | { repair: "collapsed_anchor"; id: string }
452
+ | { repair: "invalid"; reason: string }
453
+ | { repair: "in_slot"; island: string; slot: string; inner: Repair }
454
+ );
455
+
456
+ /** What `repair` read a merged value as: the valid `content`, and each
457
+ * mend, none for a value already valid. */
458
+ export interface Repaired {
459
+ content: Content;
460
+ repairs: Repair[];
461
+ }
462
+
417
463
 
418
464
 
419
465
 
@@ -1584,6 +1630,13 @@ export function outdent(content: Content, first: string, last?: string | null):
1584
1630
  */
1585
1631
  export function parseDocPath(path: string): DocPathSeg[];
1586
1632
 
1633
+ /**
1634
+ * The valid value every peer holding the merged state `raw` reads, and what
1635
+ * was mended to reach it: total and deterministic, every id it mints derived
1636
+ * from the ids involved. Throws only on a `raw` not shaped as content.
1637
+ */
1638
+ export function repair(raw: RawContent): Repaired;
1639
+
1587
1640
  /**
1588
1641
  * Enter at `at`: the change splitting the block holding `at` there, the new
1589
1642
  * block `newId` and the text keeping its id. Throws `edit::content_apply`
@@ -1720,6 +1773,7 @@ export interface InitOutput {
1720
1773
  readonly quill_toTree: (a: number) => number;
1721
1774
  readonly quill_validate: (a: number, b: number, c: number) => void;
1722
1775
  readonly quill_warnings: (a: number, b: number) => void;
1776
+ readonly repair: (a: number, b: number) => void;
1723
1777
  readonly splitBlock: (a: number, b: number, c: number, d: number, e: number) => void;
1724
1778
  readonly start: () => void;
1725
1779
  readonly wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
package/render/wasm.js CHANGED
@@ -2793,6 +2793,29 @@ export function parseDocPath(path) {
2793
2793
  }
2794
2794
  }
2795
2795
 
2796
+ /**
2797
+ * The valid value every peer holding the merged state `raw` reads, and what
2798
+ * was mended to reach it: total and deterministic, every id it mints derived
2799
+ * from the ids involved. Throws only on a `raw` not shaped as content.
2800
+ * @param {RawContent} raw
2801
+ * @returns {Repaired}
2802
+ */
2803
+ export function repair(raw) {
2804
+ try {
2805
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2806
+ wasm.repair(retptr, addHeapObject(raw));
2807
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2808
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2809
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2810
+ if (r2) {
2811
+ throw takeObject(r1);
2812
+ }
2813
+ return takeObject(r0);
2814
+ } finally {
2815
+ wasm.__wbindgen_add_to_stack_pointer(16);
2816
+ }
2817
+ }
2818
+
2796
2819
  /**
2797
2820
  * Enter at `at`: the change splitting the block holding `at` there, the new
2798
2821
  * block `newId` and the text keeping its id. Throws `edit::content_apply`
Binary file
@@ -112,6 +112,7 @@ export const quill_toBundle: (a: number, b: number) => void;
112
112
  export const quill_toTree: (a: number) => number;
113
113
  export const quill_validate: (a: number, b: number, c: number) => void;
114
114
  export const quill_warnings: (a: number, b: number) => void;
115
+ export const repair: (a: number, b: number) => void;
115
116
  export const splitBlock: (a: number, b: number, c: number, d: number, e: number) => void;
116
117
  export const start: () => void;
117
118
  export const wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
@@ -29,6 +29,7 @@ import type {
29
29
  wrap,
30
30
  inheritedMarks,
31
31
  mapPos,
32
+ repair,
32
33
  isInline,
33
34
  isPlain,
34
35
  parseDocPath,
@@ -59,6 +60,7 @@ export interface CoreSurface {
59
60
  wrap: typeof wrap;
60
61
  inheritedMarks: typeof inheritedMarks;
61
62
  mapPos: typeof mapPos;
63
+ repair: typeof repair;
62
64
  isInline: typeof isInline;
63
65
  isPlain: typeof isPlain;
64
66
  parseDocPath: typeof parseDocPath;
@@ -167,7 +169,13 @@ export type {
167
169
  AnchorContext,
168
170
  Reattached,
169
171
  Imported,
170
- DocPathSeg
172
+ DocPathSeg,
173
+ Pos,
174
+ MapResult,
175
+ WrapKind,
176
+ RawContent,
177
+ Repair,
178
+ Repaired
171
179
  } from '../core/wasm.js';
172
180
 
173
181
  // The schema-bound whole-document read on `quill.reader(doc)`: the resolved
@@ -20,7 +20,7 @@ import initCore, { Quill, Document } from '../core/wasm.js';
20
20
  // Resolution-time, so `node:fs` never enters a browser graph.
21
21
  import { toModuleSource } from '#quillmark-env';
22
22
  import { importMarkdown, exportMarkdown, normalize, invert, diff } from '../core/wasm.js';
23
- import { splitBlock, joinBlocks, deleteRange, indent, outdent, wrap, inheritedMarks, mapPos } from '../core/wasm.js';
23
+ import { splitBlock, joinBlocks, deleteRange, indent, outdent, wrap, inheritedMarks, mapPos, repair } from '../core/wasm.js';
24
24
  import { isInline, isPlain } from '../core/wasm.js';
25
25
  import { parseDocPath, formatDocPath, formatDiagnostic } from '../core/wasm.js';
26
26
 
@@ -59,6 +59,7 @@ const CORE_SURFACE = Object.freeze({
59
59
  wrap,
60
60
  inheritedMarks,
61
61
  mapPos,
62
+ repair,
62
63
  isInline,
63
64
  isPlain,
64
65
  parseDocPath,
package/sbom.cdx.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.5",
4
4
  "version": 1,
5
- "serialNumber": "urn:uuid:dc10765c-f098-44e7-8c8f-23fd51ab998a",
5
+ "serialNumber": "urn:uuid:c6e35e29-fc08-4702-b7fd-5ab11a545e0b",
6
6
  "metadata": {
7
- "timestamp": "2026-11-02T02:21:55.157035055Z",
7
+ "timestamp": "2026-11-02T03:37:59.172507090Z",
8
8
  "tools": [
9
9
  {
10
10
  "vendor": "CycloneDX",
@@ -14,9 +14,9 @@
14
14
  ],
15
15
  "component": {
16
16
  "type": "library",
17
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/bindings/wasm#quillmark-wasm@0.134.0",
17
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/bindings/wasm#quillmark-wasm@0.134.1",
18
18
  "name": "quillmark-wasm",
19
- "version": "0.134.0",
19
+ "version": "0.134.1",
20
20
  "description": "WebAssembly bindings for Quillmark, a schema-driven document framework",
21
21
  "scope": "required",
22
22
  "licenses": [
@@ -24,7 +24,7 @@
24
24
  "expression": "Apache-2.0"
25
25
  }
26
26
  ],
27
- "purl": "pkg:cargo/quillmark-wasm@0.134.0?download_url=file://.",
27
+ "purl": "pkg:cargo/quillmark-wasm@0.134.1?download_url=file://.",
28
28
  "externalReferences": [
29
29
  {
30
30
  "type": "vcs",
@@ -34,10 +34,10 @@
34
34
  "components": [
35
35
  {
36
36
  "type": "library",
37
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/bindings/wasm#quillmark-wasm@0.134.0 bin-target-0",
37
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/bindings/wasm#quillmark-wasm@0.134.1 bin-target-0",
38
38
  "name": "quillmark_wasm",
39
- "version": "0.134.0",
40
- "purl": "pkg:cargo/quillmark-wasm@0.134.0?download_url=file://.#src/lib.rs"
39
+ "version": "0.134.1",
40
+ "purl": "pkg:cargo/quillmark-wasm@0.134.1?download_url=file://.#src/lib.rs"
41
41
  }
42
42
  ]
43
43
  },
@@ -51,9 +51,9 @@
51
51
  "components": [
52
52
  {
53
53
  "type": "library",
54
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/acroform#quillmark-acroform@0.134.0",
54
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/acroform#quillmark-acroform@0.134.1",
55
55
  "name": "quillmark-acroform",
56
- "version": "0.134.0",
56
+ "version": "0.134.1",
57
57
  "description": "Typst-free acroform backend for Quillmark: fills existing PDF forms via the quillmark-pdf stamping spine",
58
58
  "scope": "required",
59
59
  "licenses": [
@@ -61,7 +61,7 @@
61
61
  "expression": "Apache-2.0"
62
62
  }
63
63
  ],
64
- "purl": "pkg:cargo/quillmark-acroform@0.134.0?download_url=file://../../backends/acroform",
64
+ "purl": "pkg:cargo/quillmark-acroform@0.134.1?download_url=file://../../backends/acroform",
65
65
  "externalReferences": [
66
66
  {
67
67
  "type": "documentation",
@@ -79,9 +79,9 @@
79
79
  },
80
80
  {
81
81
  "type": "library",
82
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/typst#quillmark-typst@0.134.0",
82
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/typst#quillmark-typst@0.134.1",
83
83
  "name": "quillmark-typst",
84
- "version": "0.134.0",
84
+ "version": "0.134.1",
85
85
  "description": "Typst backend for Quillmark",
86
86
  "scope": "required",
87
87
  "licenses": [
@@ -89,7 +89,7 @@
89
89
  "expression": "Apache-2.0"
90
90
  }
91
91
  ],
92
- "purl": "pkg:cargo/quillmark-typst@0.134.0?download_url=file://../../backends/typst",
92
+ "purl": "pkg:cargo/quillmark-typst@0.134.1?download_url=file://../../backends/typst",
93
93
  "externalReferences": [
94
94
  {
95
95
  "type": "documentation",
@@ -107,9 +107,9 @@
107
107
  },
108
108
  {
109
109
  "type": "library",
110
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
110
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
111
111
  "name": "quillmark-content",
112
- "version": "0.134.0",
112
+ "version": "0.134.1",
113
113
  "description": "Content model (splice-shaped USV text with line attributes, marks, and islands), canonical serialization, edit deltas, and markdown/literal codecs for Quillmark",
114
114
  "scope": "required",
115
115
  "licenses": [
@@ -117,7 +117,7 @@
117
117
  "expression": "Apache-2.0"
118
118
  }
119
119
  ],
120
- "purl": "pkg:cargo/quillmark-content@0.134.0?download_url=file://../../content",
120
+ "purl": "pkg:cargo/quillmark-content@0.134.1?download_url=file://../../content",
121
121
  "externalReferences": [
122
122
  {
123
123
  "type": "website",
@@ -131,9 +131,9 @@
131
131
  },
132
132
  {
133
133
  "type": "library",
134
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
134
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
135
135
  "name": "quillmark-core",
136
- "version": "0.134.0",
136
+ "version": "0.134.1",
137
137
  "description": "Core types and functionality for the Quillmark schema-driven document framework",
138
138
  "scope": "required",
139
139
  "licenses": [
@@ -141,7 +141,7 @@
141
141
  "expression": "Apache-2.0"
142
142
  }
143
143
  ],
144
- "purl": "pkg:cargo/quillmark-core@0.134.0?download_url=file://../../core",
144
+ "purl": "pkg:cargo/quillmark-core@0.134.1?download_url=file://../../core",
145
145
  "externalReferences": [
146
146
  {
147
147
  "type": "documentation",
@@ -159,9 +159,9 @@
159
159
  },
160
160
  {
161
161
  "type": "library",
162
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark#0.134.0",
162
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark#0.134.1",
163
163
  "name": "quillmark",
164
- "version": "0.134.0",
164
+ "version": "0.134.1",
165
165
  "description": "A schema-driven document framework: turn Markdown into a fully typeset document with a quill",
166
166
  "scope": "required",
167
167
  "licenses": [
@@ -169,7 +169,7 @@
169
169
  "expression": "Apache-2.0"
170
170
  }
171
171
  ],
172
- "purl": "pkg:cargo/quillmark@0.134.0?download_url=file://../../quillmark",
172
+ "purl": "pkg:cargo/quillmark@0.134.1?download_url=file://../../quillmark",
173
173
  "externalReferences": [
174
174
  {
175
175
  "type": "documentation",
@@ -187,9 +187,9 @@
187
187
  },
188
188
  {
189
189
  "type": "library",
190
- "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.0",
190
+ "bom-ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.1",
191
191
  "name": "quillmark-pdf",
192
- "version": "0.134.0",
192
+ "version": "0.134.1",
193
193
  "description": "Typst-free AcroForm stamping spine for Quillmark: (base_pdf, &[FieldSpec]) -> stamped PDF + regions",
194
194
  "scope": "required",
195
195
  "licenses": [
@@ -197,7 +197,7 @@
197
197
  "expression": "Apache-2.0"
198
198
  }
199
199
  ],
200
- "purl": "pkg:cargo/quillmark-pdf@0.134.0?download_url=file://../../quillmark-pdf",
200
+ "purl": "pkg:cargo/quillmark-pdf@0.134.1?download_url=file://../../quillmark-pdf",
201
201
  "externalReferences": [
202
202
  {
203
203
  "type": "documentation",
@@ -10312,24 +10312,24 @@
10312
10312
  ],
10313
10313
  "dependencies": [
10314
10314
  {
10315
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/acroform#quillmark-acroform@0.134.0",
10315
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/acroform#quillmark-acroform@0.134.1",
10316
10316
  "dependsOn": [
10317
10317
  "registry+https://github.com/rust-lang/crates.io-index#hayro@0.7.1",
10318
- "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
10319
- "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
10320
- "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.0",
10318
+ "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
10319
+ "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
10320
+ "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.1",
10321
10321
  "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229",
10322
10322
  "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.154"
10323
10323
  ]
10324
10324
  },
10325
10325
  {
10326
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/typst#quillmark-typst@0.134.0",
10326
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/backends/typst#quillmark-typst@0.134.1",
10327
10327
  "dependsOn": [
10328
10328
  "registry+https://github.com/rust-lang/crates.io-index#comemo@0.5.1",
10329
10329
  "registry+https://github.com/rust-lang/crates.io-index#getrandom@0.4.3",
10330
- "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
10331
- "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
10332
- "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.0",
10330
+ "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
10331
+ "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
10332
+ "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.1",
10333
10333
  "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.154",
10334
10334
  "registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.21",
10335
10335
  "registry+https://github.com/rust-lang/crates.io-index#toml@1.1.8+spec-1.1.0",
@@ -10341,14 +10341,14 @@
10341
10341
  ]
10342
10342
  },
10343
10343
  {
10344
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/bindings/wasm#quillmark-wasm@0.134.0",
10344
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/bindings/wasm#quillmark-wasm@0.134.1",
10345
10345
  "dependsOn": [
10346
10346
  "registry+https://github.com/rust-lang/crates.io-index#console_error_panic_hook@0.1.7",
10347
10347
  "registry+https://github.com/rust-lang/crates.io-index#getrandom@0.4.3",
10348
10348
  "registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.106",
10349
- "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark#0.134.0",
10350
- "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
10351
- "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
10349
+ "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark#0.134.1",
10350
+ "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
10351
+ "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
10352
10352
  "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229",
10353
10353
  "registry+https://github.com/rust-lang/crates.io-index#serde-wasm-bindgen@0.6.5",
10354
10354
  "registry+https://github.com/rust-lang/crates.io-index#serde_bytes@0.11.19",
@@ -10359,7 +10359,7 @@
10359
10359
  ]
10360
10360
  },
10361
10361
  {
10362
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
10362
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
10363
10363
  "dependsOn": [
10364
10364
  "registry+https://github.com/rust-lang/crates.io-index#pulldown-cmark@0.13.6",
10365
10365
  "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229",
@@ -10369,13 +10369,13 @@
10369
10369
  ]
10370
10370
  },
10371
10371
  {
10372
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
10372
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
10373
10373
  "dependsOn": [
10374
10374
  "registry+https://github.com/rust-lang/crates.io-index#crc32fast@1.5.3",
10375
10375
  "registry+https://github.com/rust-lang/crates.io-index#glob@0.3.4",
10376
10376
  "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.14.2",
10377
10377
  "registry+https://github.com/rust-lang/crates.io-index#miniz_oxide@0.8.9",
10378
- "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
10378
+ "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
10379
10379
  "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.229",
10380
10380
  "registry+https://github.com/rust-lang/crates.io-index#serde-saphyr@2.0.0",
10381
10381
  "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.154",
@@ -10387,19 +10387,19 @@
10387
10387
  ]
10388
10388
  },
10389
10389
  {
10390
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark#0.134.0",
10390
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark#0.134.1",
10391
10391
  "dependsOn": [
10392
- "path+file:///home/runner/work/quillmark/quillmark/crates/backends/acroform#quillmark-acroform@0.134.0",
10393
- "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.0",
10394
- "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
10395
- "path+file:///home/runner/work/quillmark/quillmark/crates/backends/typst#quillmark-typst@0.134.0"
10392
+ "path+file:///home/runner/work/quillmark/quillmark/crates/backends/acroform#quillmark-acroform@0.134.1",
10393
+ "path+file:///home/runner/work/quillmark/quillmark/crates/content#quillmark-content@0.134.1",
10394
+ "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
10395
+ "path+file:///home/runner/work/quillmark/quillmark/crates/backends/typst#quillmark-typst@0.134.1"
10396
10396
  ]
10397
10397
  },
10398
10398
  {
10399
- "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.0",
10399
+ "ref": "path+file:///home/runner/work/quillmark/quillmark/crates/quillmark-pdf#0.134.1",
10400
10400
  "dependsOn": [
10401
10401
  "registry+https://github.com/rust-lang/crates.io-index#pdf-writer@0.15.0",
10402
- "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.0",
10402
+ "path+file:///home/runner/work/quillmark/quillmark/crates/core#quillmark-core@0.134.1",
10403
10403
  "registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.21"
10404
10404
  ]
10405
10405
  },