@quillmark/quiver 0.4.0 → 0.4.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/PROGRAM.md CHANGED
@@ -160,7 +160,7 @@ Important implications:
160
160
  - No engine quill registry in the JS binding; no `registerQuill`, `hasQuill`, or engine-level `render(doc)` in Quiver’s flow
161
161
  - Quiver owns mapping from canonical ref → in-memory tree → `Quill` instance
162
162
  - Cache optimization is in-process reuse of `Quill` instances, not registration checks
163
- - Path-based loading (`quill_from_path`) exists in **other** bindings only; in Node, Quiver reads files and assembles `tree` for `engine.quill(tree)` (see upstream `references/quillmark/docs/integration/javascript/api.md`)
163
+ - Path-based loading (`quill_from_path`) exists in **other** bindings only; in Node, Quiver reads files and assembles `tree` for `engine.quill(tree)` (see the upstream `@quillmark/wasm` JS/WASM API docs)
164
164
 
165
165
  For advanced dynamic-asset behavior, defer to Quillmark’s JS/WASM docs; the default integration path here is `engine.quill` + `quill.render`.
166
166
 
@@ -414,7 +414,7 @@ class QuiverError extends Error {
414
414
 
415
415
  **No render wrapper.** Callers invoke `quill.render(doc, opts?)` (and `quill.open(doc)` when needed) after `getQuill()`. Quiver never mirrors Quillmark render APIs.
416
416
 
417
- **Internal (not exported):** `QuiverManifest` (runtime shape), `parseQuillRef`, in-flight coalescing state, source-vs-built layout detection.
417
+ **Internal (not exported):** `BuiltManifest` (runtime shape), `parseQuillRef`, in-flight coalescing state, source-vs-built layout detection.
418
418
 
419
419
  Hot-path flow:
420
420
  ```ts
@@ -441,7 +441,7 @@ const result = quill.render(doc, { format: "pdf" });
441
441
  test runners wire their own loops against the main API.
442
442
 
443
443
  **Dependencies:**
444
- - Peer: `@quillmark/wasm@>=0.59.0-rc.2` with `Quillmark`, `Document.fromMarkdown`, `engine.quill(tree)`, and `quill.render(doc, opts?)` APIs.
444
+ - Peer: `@quillmark/wasm@>=0.59.0` with `Quillmark`, `Document.fromMarkdown`, `engine.quill(tree)`, and `quill.render(doc, opts?)` APIs.
445
445
  - Runtime: `fflate ^0.8.2` for zip read/write (Node + browser)
446
446
  - Dev-only: `node:crypto` (MD5 hashing in `build()` — never reached at runtime)
447
447
  - No test-runner peer dependency; `/testing` uses `node:test` (built-in)
@@ -477,17 +477,6 @@ All V1 planner questions resolved; implementation plan can proceed against the s
477
477
 
478
478
  ---
479
479
 
480
- ## References
481
-
482
- Local copies in this repo for `@quillmark/quiver` implementation:
483
-
484
- - `references/quillmark-registry/` — prior `@quillmark/registry` source and patterns to mine or replace
485
- - `references/quillmark/docs/integration/javascript/api.md` — JS/WASM API this package integrates with
486
- - `references/quillmark/prose/designs/WASM.md` — WASM binding shape
487
- - `references/quillmark/prose/taskings/quill_render_api.md` — upstream render API overhaul (cross-binding; use the JS/WASM sections for Node)
488
-
489
- ---
490
-
491
480
  ## Success Criteria
492
481
 
493
482
  - A team can author and validate a Source Quiver locally with fast filesystem loops
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Minimal structural types matching @quillmark/wasm >=0.57.0 (verified against 0.59.0-rc.2).
2
+ * Minimal structural types matching @quillmark/wasm >=0.59.0.
3
3
  *
4
4
  * Shape:
5
5
  * class Quillmark { quill(tree: Map<string, Uint8Array>): Quill }
6
6
  * class Quill { render(doc, opts?): RenderResult; open(doc): RenderSession }
7
7
  *
8
- * Note: as of 0.59.0-rc.2 the first arg to render/open is a `Document` instance
9
- * (from `Document.fromMarkdown(...)`), not the old `ParsedDocument` interface.
10
- * Quiver keeps the arg typed as `unknown` so consumers of either shape (and
11
- * test doubles) satisfy the contract structurally.
8
+ * The first arg to `render`/`open` is a `Document` instance (from
9
+ * `Document.fromMarkdown(...)`). Quiver keeps the arg typed as `unknown` so
10
+ * consumers (and test doubles) satisfy the contract structurally without
11
+ * importing from @quillmark/wasm.
12
12
  *
13
- * These types are INTERNAL — never re-exported from index.ts. They exist so
14
- * quiver.ts never imports from @quillmark/wasm directly and so test doubles
15
- * can satisfy the contract without pulling the real WASM module.
13
+ * These types are re-exported from `index.ts` so consumers can type their
14
+ * own engine wrappers / test doubles against them. Quiver itself never
15
+ * imports from @quillmark/wasm directly.
16
16
  *
17
17
  * Call-site note: Quiver never invokes `render` or `open` itself; consumers do
18
18
  * after `getQuill()`. The loose `unknown` parameter typing is intentional.
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Minimal structural types matching @quillmark/wasm >=0.57.0 (verified against 0.59.0-rc.2).
2
+ * Minimal structural types matching @quillmark/wasm >=0.59.0.
3
3
  *
4
4
  * Shape:
5
5
  * class Quillmark { quill(tree: Map<string, Uint8Array>): Quill }
6
6
  * class Quill { render(doc, opts?): RenderResult; open(doc): RenderSession }
7
7
  *
8
- * Note: as of 0.59.0-rc.2 the first arg to render/open is a `Document` instance
9
- * (from `Document.fromMarkdown(...)`), not the old `ParsedDocument` interface.
10
- * Quiver keeps the arg typed as `unknown` so consumers of either shape (and
11
- * test doubles) satisfy the contract structurally.
8
+ * The first arg to `render`/`open` is a `Document` instance (from
9
+ * `Document.fromMarkdown(...)`). Quiver keeps the arg typed as `unknown` so
10
+ * consumers (and test doubles) satisfy the contract structurally without
11
+ * importing from @quillmark/wasm.
12
12
  *
13
- * These types are INTERNAL — never re-exported from index.ts. They exist so
14
- * quiver.ts never imports from @quillmark/wasm directly and so test doubles
15
- * can satisfy the contract without pulling the real WASM module.
13
+ * These types are re-exported from `index.ts` so consumers can type their
14
+ * own engine wrappers / test doubles against them. Quiver itself never
15
+ * imports from @quillmark/wasm directly.
16
16
  *
17
17
  * Call-site note: Quiver never invokes `render` or `open` itself; consumers do
18
18
  * after `getQuill()`. The loose `unknown` parameter typing is intentional.
package/dist/testing.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * import { Quillmark } from "@quillmark/wasm";
11
11
  * import { runQuiverTests } from "@quillmark/quiver/testing";
12
- * const engine = await Quillmark.load();
12
+ * const engine = new Quillmark();
13
13
  * runQuiverTests(import.meta.url, engine);
14
14
  *
15
15
  * Run with `node --test`.
package/dist/testing.js CHANGED
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * import { Quillmark } from "@quillmark/wasm";
11
11
  * import { runQuiverTests } from "@quillmark/quiver/testing";
12
- * const engine = await Quillmark.load();
12
+ * const engine = new Quillmark();
13
13
  * runQuiverTests(import.meta.url, engine);
14
14
  *
15
15
  * Run with `node --test`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillmark/quiver",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Quiver registry and build tooling for Quillmark",
5
5
  "type": "module",
6
6
  "license": "MIT",