@quillmark/wasm 0.83.0 → 0.84.0

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 CHANGED
@@ -244,6 +244,24 @@ canvas.style.height = `${result.layoutHeight}px`;
244
244
  enforcement contract and includes the resolved `backendId` for
245
245
  debugging.
246
246
 
247
+ ### Schema model
248
+
249
+ A field's *cell* is inferred from whether its schema declares a `default:`:
250
+
251
+ - **Must Fill** (no `default:`) — `quill.blueprint` renders `<must-fill>`
252
+ in the value cell, and `quill.render(doc)` throws with
253
+ `validation::must_fill_absent` when the field is absent at
254
+ validate time, or `validation::must_fill_sentinel` when the
255
+ `<must-fill>` sentinel survives into the document.
256
+ - **Endorsed** (with `default:`) — `quill.blueprint` renders the
257
+ default value followed by a `; skip-ok` annotation, and the default
258
+ is used when the document omits the field.
259
+
260
+ `QuillFieldSchema` no longer carries a `required` axis. The legacy
261
+ `validation::missing_required` code has been replaced by
262
+ `validation::must_fill_absent`; the `validation::must_fill_sentinel`
263
+ code covers unreplaced sentinels.
264
+
247
265
  ### Errors
248
266
 
249
267
  Every method that can fail throws a JS `Error` with `.diagnostics` attached:
package/bundler/wasm.d.ts CHANGED
@@ -106,13 +106,20 @@ export interface QuillCardBody {
106
106
  example?: string;
107
107
  }
108
108
 
109
- /** Schema entry for a single field declared in a quill's `Quill.yaml`. */
109
+ /** Schema entry for a single field declared in a quill's `Quill.yaml`.
110
+ *
111
+ * A field's *cell* is determined by `default`: a field with a `default`
112
+ * is **Endorsed** (the rendered value is shippable as-is), while a field
113
+ * without a `default` is **Must Fill** (the blueprint carries a
114
+ * `<must-fill>` sentinel and validation reports
115
+ * `validation::must_fill_absent` if the field is absent at validate
116
+ * time). There is no separate `required` axis.
117
+ */
110
118
  export interface QuillFieldSchema {
111
119
  type: "string" | "number" | "integer" | "boolean" | "array" | "object" | "date" | "datetime" | "markdown";
112
120
  description?: string;
113
121
  default?: unknown;
114
122
  example?: unknown;
115
- required?: boolean;
116
123
  enum?: string[];
117
124
  ui?: QuillFieldUi;
118
125
  properties?: Record<string, QuillFieldSchema>;
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillmark/wasm",
3
- "version": "0.83.0",
3
+ "version": "0.84.0",
4
4
  "description": "WebAssembly bindings for quillmark",
5
5
  "type": "module",
6
6
  "license": "MIT OR Apache-2.0",