Skip to content

Rebuild the fork as @glass-hq/documents, and merge upstream - #42

Merged
naaiyy merged 7 commits into
mainfrom
merge-upstream
Oct 31, 2026
Merged

naaiyy merged 7 commits into
mainfrom
merge-upstream

Conversation

@naaiyy

@naaiyy naaiyy commented Oct 31, 2026

Copy link
Copy Markdown

Merges upstream's four new commits (no conflicts) and rebuilds the fork's layer as one package that parses any file to Markdown and renders it. See the commit message for the full list.

🤖 Generated with Claude Code

claude and others added 7 commits October 16, 2026 22:26
A text column's first-row value recurring below no longer counts as a
data vote alongside type evidence; it only decides tables that have no
type evidence at all.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HZSgx9EcGdipZuLbdXjMsi
…ision

Keep the header when a body cell repeats its column label
* feat(hosted): let callers choose the Parse mode

* test(hosted): reject a bad parse mode on a document that converts locally

---------

Co-authored-by: erikengervall <5392475+erikengervall@users.noreply.github.com>
… on it (firecrawl#204)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
…r it

The fork's own layer is replaced by @glass-hq/documents, built on the Rust core:

- One format registry (23 formats) drives detection, limits, parsing,
  rendering and the README's format table. Every format that parses also
  renders.
- One loader and one error type; the contracts package is folded in.
- toMarkdown, toDocument and toWorkbook run the core as wasm on a worker.
  A build without pdf-inspector (650 KB gzipped) serves everything but
  PDF-to-Markdown, which loads the full build on demand.
- The spreadsheet viewer reads upstream's xlsx, xlsb and xls readers through
  one shared model, adding styles, sizes, panes, links, images, charts,
  conditional formats, table styles and list validations. Markdown output is
  unchanged; spreadsheet-view is deleted.
- Headless viewer: createViewer returns state and actions for pages, zoom,
  search, sheets and thumbnails; renderers are framework-free DOM, with a
  thin React adapter. Untrusted files never run code or reach the network.
- New renderers: the document model (doc, odt, rtf, epub, ppt, odp), images,
  SVG, video, audio, fonts and a byte view. Word lists are numbered as Word
  counts them, and symbol-font bullets map to Unicode.
- Upstream's wasm/www page becomes the playground; apps/playground, docs/
  and the changesets release machinery are removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Conditional formats (cellIs, text, blanks, errors, duplicates, top/bottom,
  average, color scales, data bars), table and pivot table styles, and list
  validations are resolved into cells; the grid draws data bars, dropdowns
  and filter buttons.
- PDF search highlights every match, including on pages drawn later.
- Word lists are numbered as Word counts them (start overrides, shared
  abstract lists); Symbol, Wingdings and StarBats bullets map to Unicode in
  Word and PowerPoint.
- renderThumbnail draws a page or slide into an app's element.
- Media given as a URL streams instead of being read into memory.
- highlight may return a cleanup; search reaches into open shadow roots.
- A ./formats entry with only the registry and detection.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@naaiyy
naaiyy merged commit eaa1686 into main Oct 31, 2026
5 checks passed
@naaiyy
naaiyy deleted the merge-upstream branch October 31, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants