Skip to content

Releases: seanghay/sone

v1.4.0

Choose a tag to compare

@seanghay seanghay released this 06 Apr 04:20
50a779f

Full Changelog: v1.3.9...v1.4.0

v1.3.9

Choose a tag to compare

@seanghay seanghay released this 04 Apr 17:06
b1f4af1
1.3.9

v1.3.7

Choose a tag to compare

@seanghay seanghay released this 04 Apr 15:13
be66c2b

This release adds bidirectional text support, expands the metadata pipeline for document analysis workflows, and introduces a new live
editor example. It also includes several text layout fixes and broader regression coverage.

Highlights

  • Added bidirectional text support for Arabic, Hebrew, and mixed LTR/RTL content.
    • New Text.baseDir("ltr" | "rtl" | "auto")
    • New Span.textDir("ltr" | "rtl")
    • Includes new bidi tests and visual coverage
  • Expanded the Metadata API for layout analysis and labeling workflows.
    • .tag() is now available on spans and is surfaced in metadata
    • Text metadata includes laid-out paragraph blocks and segment bounding boxes
    • Useful for inspection, overlays, OCR tooling, and dataset generation
  • Added toYoloDataset() for YOLO bounding-box export.
    • Supports segment, line, block, and node granularity
    • Can export text, photo, and layout nodes
    • Class names are derived from .tag() labels
  • Added a new live editor example under examples/live-editor.
    • Responsive editor panels
    • Properties panel
    • Custom font uploads
    • Social/document templates
    • Debug mode
    • Render cache improvements

Fixes and Improvements

  • Improved wrapping for tight unspaced text
  • Tightened text layout regressions
  • Added multilingual text regression coverage
  • Improved README documentation for bidi text, metadata, and YOLO export
  • Added benchmark script support

Internal Notes

  • Removed jspdf
  • Added more visual tests and regression fixtures across text, bidi, and bbox export flows

Full Changelog

  • feat: add bidirectional (bidi) text support
  • feat: add tag() to spans and surface tag in metadata API, add bbox visual tests
  • feat: add toYoloDataset() for YOLO bbox dataset export
  • feat: add sone editor
  • feat: add responsive editor panels
  • feat: support custom font uploads
  • feat: add live editor properties panel
  • feat: add social templates and debug mode
  • fix: tighten text layout regressions
  • fix: wrap tight unspaced text
  • fix: use sone render cache in live editor

v1.3.6

Choose a tag to compare

@seanghay seanghay released this 03 Apr 05:04
d037bda

Full Changelog: v1.3.5...v1.3.6

v1.3.5

Choose a tag to compare

@seanghay seanghay released this 02 Apr 09:32
b016e15

Full Changelog: v1.2.5...v1.3.5

v1.2.5

Choose a tag to compare

@seanghay seanghay released this 01 Apr 15:54
0bc420f
1.2.5

v1.2.4

Choose a tag to compare

@seanghay seanghay released this 01 Apr 08:41
808455c
1.2.4

v1.2.3

Choose a tag to compare

@seanghay seanghay released this 01 Apr 07:41
c4bb407
  • When nowrap and autofit are both set, binary-search for the largest
    font size where the single line fits within the container width
  • Guard height-based autofit to non-nowrap case to avoid conflict
  • Write resolved font size back to node.props.size so metadata reflects it
  • Add 3 unit tests and visual regression test (text-autofit-1.ts)
  • Remove JSON metadata output from writeCanvasToFile in visual test utils

v1.2.2

Choose a tag to compare

@seanghay seanghay released this 01 Apr 04:42
8239b61
  • Add support for Glue ( Word joiner, Non breaking space)

v1.2.1

Choose a tag to compare

@seanghay seanghay released this 01 Apr 04:10
3412484
  • Added automatic page breaking for multi-page documents.
  • Added PageBreak plus repeating page header/footer support.
  • Added page margins, dynamic header/footer sizing, and uniform page handling.
  • Added list support with List and ListItem, including customizable
    markers.
  • Added styled SpanNode list markers and {} placeholders for numbered
    markers.
  • Added table colspan and rowspan.
  • Added tab stops for text layout.
  • Added layout-aware text orientation at 0/90/180/270 degrees.
  • Added Knuth-Plass line breaking as an alternative to greedy wrapping.
  • Added text clipping, path clipping, and SVG color fill support.
  • Improved text behavior with fixes for justification, whitespace
    preservation, number wrapping, and canvas width semantics.

Improvements

  • Expanded metadata and rendering coverage around text, pagination, lists,
    tables, grids, paths, and clipping.
  • Added a large set of visual regression scenarios and showcase assets,
    including feature showcase and report PDFs.
  • Improved line breaking logic for Khmer-related segmentation edge cases.
  • Tightened types and added more automated tests.