Skip to content

Releases: simonliu-ai-product/open-doc

@open-document/core@0.13.3

Choose a tag to compare

@github-actions github-actions released this 20 Oct 00:18
0f1a0bb

Patch Changes

  • #80 c83e403 Thanks @LiuYuWei! - The Word export now looks closer to the web page:

    • Monospace and system fonts: Apple's system faces (SF Mono, SF Pro) are skipped, and the next family in the stack is used instead (Menlo for code). Pages and Word cannot pick SF Mono or SF Pro by name and fell back to Courier.
    • Table cells: a cell's background colour now comes through. A data bar (linear-gradient) becomes a tint whose depth follows the value, since neither Word nor Pages can fill part of a cell.
    • Fixed-page foot: a line laid out against a fixed page's foot (a cover's byline) becomes that page's own footer, so it stays at the bottom, and its top rule is kept.
    • Inline pills: a pill or badge keeps its background.

@open-document/core@0.13.2

Choose a tag to compare

@github-actions github-actions released this 19 Oct 23:37
844f8f2

Patch Changes

  • #78 0ee7a43 Thanks @LiuYuWei! - Word export keeps the newer components' layout:

    • Code blocks: each line stays a line, highlighted lines keep their tint, and the title bar and frame come through.
    • Callouts and code-block tints: their background colours come through. color-mix() and translucent colours are flattened onto white, since Word has no alpha.
    • Side by side: callouts set next to each other stay in one row.
    • Columns: a flow() section set in columns is a section of the same columns in Word, with breaks where the printed columns began.
    • Watermark: meta.watermark is stamped behind the text on every page.
    • Sparklines: they are drawn inline instead of left out.
    • Bibliography: entries are not numbered a second time, and the [n] label hangs beside the text.

    The offscreen pages are also positioned like real sheets, and the export waits for references to resolve before reading them.

@open-document/mcp@0.8.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 06:16
360b5ec

Patch Changes

  • #76 bb9b64f Thanks @LiuYuWei! - Add per-file async write queue (withFileLock) and SHA-256 optimistic concurrency control (hashSource / expectedHash) across document, text, comment, design, and folder operations to prevent concurrent write clobbering on local and GCS FUSE storage.
  • Updated dependencies [bb9b64f]:
    • @open-document/core@0.13.1

@open-document/mcp@0.8.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 02:51
f13faba

Minor Changes

  • #74 f1fea7b Thanks @LiuYuWei! - Add v2 document layout, charts, diagrams, rich primitives, layout diagnostics, and Google Cloud Run + GCS deployment (open-doc deploy gcp):

    • Layout & Pagination Engine: Multi-column flow(children, { columns, columnGap }) with full-width column-spanning headings (data-od-column-span="all"), and automatic row-level multi-page splitting for <DataTable splittable /> with repeated <thead> and continuation captions.
    • Charts & Diagrams: Mermaid subgraph ... end clusters and sequenceDiagram support (participant, message arrows, Note); <Chart type="area" | "horizontal-bar" />; inline <Sparkline />; and <DataTable> summaryRow ('sum' | 'avg' or per-column record), dataBar, 'currency', and 'delta' formatters.
    • Rich Document Primitives: <Cite> and <Bibliography> for automatic academic/report citation numbering, <CodeBlock> with zero-dependency syntax highlighting (lineNumbers, highlightLines, figure captioning), <Callout>, and meta.watermark across viewer and exports.
    • Layout Diagnostics: Detect duplicate element IDs (duplicate-id) and skipped heading levels (heading-skip) in open-doc check and MCP check_layout.
    • Cloud Deployment (open-doc deploy gcp): Deploy and manage live open-doc workspaces on Google Cloud Run backed by Google Cloud Storage FUSE (up, check, status, pull, push, stop, start, down), with Bearer token authentication for remote MCP editing (/mcp) and instant WebSocket HMR.

Patch Changes

  • Updated dependencies [f1fea7b]:
    • @open-document/core@0.13.0

@open-document/core@0.13.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 06:16
360b5ec

Patch Changes

  • #76 bb9b64f Thanks @LiuYuWei! - Add per-file async write queue (withFileLock) and SHA-256 optimistic concurrency control (hashSource / expectedHash) across document, text, comment, design, and folder operations to prevent concurrent write clobbering on local and GCS FUSE storage.

@open-document/core@0.13.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 02:51
f13faba

Minor Changes

  • #74 f1fea7b Thanks @LiuYuWei! - Add v2 document layout, charts, diagrams, rich primitives, layout diagnostics, and Google Cloud Run + GCS deployment (open-doc deploy gcp):

    • Layout & Pagination Engine: Multi-column flow(children, { columns, columnGap }) with full-width column-spanning headings (data-od-column-span="all"), and automatic row-level multi-page splitting for <DataTable splittable /> with repeated <thead> and continuation captions.
    • Charts & Diagrams: Mermaid subgraph ... end clusters and sequenceDiagram support (participant, message arrows, Note); <Chart type="area" | "horizontal-bar" />; inline <Sparkline />; and <DataTable> summaryRow ('sum' | 'avg' or per-column record), dataBar, 'currency', and 'delta' formatters.
    • Rich Document Primitives: <Cite> and <Bibliography> for automatic academic/report citation numbering, <CodeBlock> with zero-dependency syntax highlighting (lineNumbers, highlightLines, figure captioning), <Callout>, and meta.watermark across viewer and exports.
    • Layout Diagnostics: Detect duplicate element IDs (duplicate-id) and skipped heading levels (heading-skip) in open-doc check and MCP check_layout.
    • Cloud Deployment (open-doc deploy gcp): Deploy and manage live open-doc workspaces on Google Cloud Run backed by Google Cloud Storage FUSE (up, check, status, pull, push, stop, start, down), with Bearer token authentication for remote MCP editing (/mcp) and instant WebSocket HMR.

@open-document/cli@0.2.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 02:51
f13faba

Patch Changes

  • #74 f1fea7b Thanks @LiuYuWei! - Add v2 document layout, charts, diagrams, rich primitives, layout diagnostics, and Google Cloud Run + GCS deployment (open-doc deploy gcp):

    • Layout & Pagination Engine: Multi-column flow(children, { columns, columnGap }) with full-width column-spanning headings (data-od-column-span="all"), and automatic row-level multi-page splitting for <DataTable splittable /> with repeated <thead> and continuation captions.
    • Charts & Diagrams: Mermaid subgraph ... end clusters and sequenceDiagram support (participant, message arrows, Note); <Chart type="area" | "horizontal-bar" />; inline <Sparkline />; and <DataTable> summaryRow ('sum' | 'avg' or per-column record), dataBar, 'currency', and 'delta' formatters.
    • Rich Document Primitives: <Cite> and <Bibliography> for automatic academic/report citation numbering, <CodeBlock> with zero-dependency syntax highlighting (lineNumbers, highlightLines, figure captioning), <Callout>, and meta.watermark across viewer and exports.
    • Layout Diagnostics: Detect duplicate element IDs (duplicate-id) and skipped heading levels (heading-skip) in open-doc check and MCP check_layout.
    • Cloud Deployment (open-doc deploy gcp): Deploy and manage live open-doc workspaces on Google Cloud Run backed by Google Cloud Storage FUSE (up, check, status, pull, push, stop, start, down), with Bearer token authentication for remote MCP editing (/mcp) and instant WebSocket HMR.

@open-document/mcp@0.7.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 04:43
af6095d

Minor Changes

  • #69 35d4fad Thanks @LiuYuWei! - Set Chinese, Japanese and Korean properly. A document declares its language with meta.lang ('zh-Hant-TW', 'ja'…), and every sheet — in the viewer, the thumbnails, the flow measurement and the PDF, HTML, PNG and Word exports — carries it, so glyphs and line-breaking follow the document rather than the reader's interface language (which used to leak into the page). The sheet's base style adds strict kinsoku and an eighth-em gap where CJK meets Latin letters or digits, and phrase-aware breaks in Japanese headings. HTML exports declare the document's language instead of always en, and Word files set the East Asian language. Markdown import takes --lang (and lang in front matter or over MCP), and detects Traditional or Simplified Chinese, Japanese and Korean when it is not given.

  • #70 1c4b665 Thanks @LiuYuWei! - Print one document per row of data. A document that does export const records = rows (an imported .csv) is laid out once per row: pages read the row with useRecord() or print a value with <Field name="…" />, the viewer gets a record picker (and ?record= to open on a row), and open-doc export <id> --each writes one file per row, named by meta.recordName ('certificate-{name}', {#} for the row number) or --name. MCP's export_document takes each and name. A certificate template shows the whole thing.

    Also fixes a flow-layout bug: a block that rendered nothing was measured as a page break glued to the next block, so a conditional block could push everything after it onto a new page.

    Also fixes a race in flow measurement: the offscreen render was left to React's schedule, and on a slow machine it could still be empty when it was measured, so a flow section packed as no pages. The measuring render now commits synchronously and is checked for every block before it is read. And when the viewer is sent to a document the dev server's watcher has not noticed yet, it rescans the docs folder instead of reporting it missing.

  • #68 19634aa Thanks @LiuYuWei! - Start documents from templates. open-doc ships report, proposal, meeting-notes, letter and blank, and a workspace can add its own under templates/<name>/ (an index.tsx, plus an optional template.json with a title, description, category and the placeholder title to replace).

    • open-doc templates lists every template with the name to use; open-doc new <id> --template <name> --title "…" creates a document from one, retitled where the title prints and dated today.
    • The document browser has a New document button: a gallery of the templates, each showing its name, and a title field. A document created inside a folder view is filed into that folder.
    • npx @open-document/cli templates lists them, and init --template <name> starts the workspace with that document.
    • MCP: list_templates and create_from_template.

Patch Changes

@open-document/core@0.12.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 04:43
af6095d

Minor Changes

  • #66 8a51291 Thanks @LiuYuWei! - Add a Changes panel to the viewer (C, or the Changes button in the header). It lists what changed in the document's folder since the last commit, or an earlier commit you pick: each change in the document's own source is marked on the page where it prints (added, rewritten, or removed), changed pages get a dot in the page rail, and each change can be reverted in source on its own. The header shows how many changes there are, and the list follows the file as an agent writes it.

  • #69 35d4fad Thanks @LiuYuWei! - Set Chinese, Japanese and Korean properly. A document declares its language with meta.lang ('zh-Hant-TW', 'ja'…), and every sheet — in the viewer, the thumbnails, the flow measurement and the PDF, HTML, PNG and Word exports — carries it, so glyphs and line-breaking follow the document rather than the reader's interface language (which used to leak into the page). The sheet's base style adds strict kinsoku and an eighth-em gap where CJK meets Latin letters or digits, and phrase-aware breaks in Japanese headings. HTML exports declare the document's language instead of always en, and Word files set the East Asian language. Markdown import takes --lang (and lang in front matter or over MCP), and detects Traditional or Simplified Chinese, Japanese and Korean when it is not given.

  • #70 1c4b665 Thanks @LiuYuWei! - Print one document per row of data. A document that does export const records = rows (an imported .csv) is laid out once per row: pages read the row with useRecord() or print a value with <Field name="…" />, the viewer gets a record picker (and ?record= to open on a row), and open-doc export <id> --each writes one file per row, named by meta.recordName ('certificate-{name}', {#} for the row number) or --name. MCP's export_document takes each and name. A certificate template shows the whole thing.

    Also fixes a flow-layout bug: a block that rendered nothing was measured as a page break glued to the next block, so a conditional block could push everything after it onto a new page.

    Also fixes a race in flow measurement: the offscreen render was left to React's schedule, and on a slow machine it could still be empty when it was measured, so a flow section packed as no pages. The measuring render now commits synchronously and is checked for every block before it is read. And when the viewer is sent to a document the dev server's watcher has not noticed yet, it rescans the docs folder instead of reporting it missing.

  • #68 19634aa Thanks @LiuYuWei! - Start documents from templates. open-doc ships report, proposal, meeting-notes, letter and blank, and a workspace can add its own under templates/<name>/ (an index.tsx, plus an optional template.json with a title, description, category and the placeholder title to replace).

    • open-doc templates lists every template with the name to use; open-doc new <id> --template <name> --title "…" creates a document from one, retitled where the title prints and dated today.
    • The document browser has a New document button: a gallery of the templates, each showing its name, and a title field. A document created inside a folder view is filed into that folder.
    • npx @open-document/cli templates lists them, and init --template <name> starts the workspace with that document.
    • MCP: list_templates and create_from_template.
  • #67 6dca67e Thanks @LiuYuWei! - Add a Comments panel to the viewer (M, or the Comments button in the header). Review notes left on the document are listed in order with the words of the element each is about, pinned on the page with a number, and marked in the page rail; clicking one goes to it, Resolve takes its marker out of the source, and New comment goes straight to picking an element with the note open. "Copy request for the agent" copies /apply-comments docs/<id>, and the agent's edits then show under Changes, which no longer counts the comment markers themselves.

Patch Changes

  • #72 dc4cb10 Thanks @LiuYuWei! - Selecting a value a document prints from its records (<Field>) now shows where it comes from — the data file, the row shown, and each column with its value for that row — instead of "element has no text of its own", so it is clear the cell is what to edit. The status line no longer offers double-click editing on an element that cannot be edited.

  • #71 df270dc Thanks @LiuYuWei! - Document and theme cards preview in one box size, so titles line up along a row: each sheet is scaled to fit a portrait-A4 frame whole and centred, and a landscape page is letterboxed on the canvas colour instead of making a shorter card. New comment now shows that it is waiting for an element — the Comments panel stays open with the button pressed, the pointer is a crosshair over the page, and Esc or pressing it again cancels — instead of closing the panel with no sign of what to do next.

@open-document/cli@0.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 04:43
af6095d

Minor Changes

  • #68 19634aa Thanks @LiuYuWei! - Start documents from templates. open-doc ships report, proposal, meeting-notes, letter and blank, and a workspace can add its own under templates/<name>/ (an index.tsx, plus an optional template.json with a title, description, category and the placeholder title to replace).

    • open-doc templates lists every template with the name to use; open-doc new <id> --template <name> --title "…" creates a document from one, retitled where the title prints and dated today.
    • The document browser has a New document button: a gallery of the templates, each showing its name, and a title field. A document created inside a folder view is filed into that folder.
    • npx @open-document/cli templates lists them, and init --template <name> starts the workspace with that document.
    • MCP: list_templates and create_from_template.