Skip to content

Releases: TNYCL/dotloom

Dotloom v1.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 10:31
ef0f517

Added

  • Pair kerning (the font's GPOS kern lookups) for the default font, shared by the
    renderer and the engine's text boxes; Text::line_pens, Text::em_size and
    Text::FONT_UNITS_PER_EM in dotloom-geometry.

Changed

  • The npm packages are @dotloomjs/sdk and @dotloomjs/react (the owner's npm
    organization); 1.0.0 was only a GitHub Release under @dotloomjs/*. Crate names are
    unchanged. Update imports from @dotloomjs/... to @dotloomjs/....
  • Engine memory per object is about a quarter lower: cached evaluations no longer
    keep spare vector capacity.
  • Registry publishing runs in the GitHub environment release.
  • Glyph outlines are read with read-fonts and rasterized by Dotloom itself;
    fontdue (and its unmaintained ttf-parser) is no longer a dependency.

Fixed

  • Narrow and figure no-break spaces are measured with their own advance (as
    drawn) instead of a regular space's.

Dotloom v1.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 08:13
36b5e63

Install (the packages are attached to this release; they are not on the npm and crates.io registries yet — see npm-status.txt and crates-status.txt):

npm install https://github.com/TNYCL/dotloom/releases/download/v1.0.0/dotloom-sdk-1.0.0.tgz https://github.com/TNYCL/dotloom/releases/download/v1.0.0/dotloom-react-1.0.0.tgz

The dotloom CLI is attached for Linux (x86_64), Windows (x86_64) and macOS (Apple silicon). Checksums: SHA256SUMS; source commit 36b5e632a6811aadefaa9113cd376842e1ebfaf3; what was published where: release-manifest.json.

First stable release. The public TypeScript and Rust APIs, the .dotl format
(container format 1, document schema 1) and the worker protocol follow Semantic
Versioning from here on; see compatibility.json.

Added

  • Rust engine: geometry (lines, polylines with bulges, rectangles, circles, arcs,
    Béziers, polygons with holes, text, dimensions), documents with layers, groups,
    stable IDs and plugin entities, atomic transactions with undo/redo history,
    spatial index, hit-testing, window/crossing selection and snapping.
  • Constraint solving: linear components with Cassowary (kasuari), kept alive
    between pointer moves while dragging (incremental edit-variable updates);
    nonlinear and mixed components with a sparse SQP solver (constraint curvature, approach phase
    for typed values and drags, active-set inequalities); hard rules are exact,
    preferences are weighted; diagnostics for conflicts, redundancy and degrees of
    freedom; budgeted, cancellable solving; an independent check before every commit.
  • .dotl project files (ZIP container, schema migrations, assets, unknown entries
    preserved), SVG and DXF import/export with loss reports, PNG export, dotloom
    CLI (inspect, validate, convert).
  • wgpu renderer for WebGPU and WebGL2 with chunked incremental meshes, level of
    detail, SDF text (Turkish and other Latin, Greek, Cyrillic), grid, overlays,
    selection and hover, device-loss recovery.
  • @dotloom/sdk: engine in a Web Worker with a versioned protocol, viewport,
    editor core with tools (select, pan, line, polyline, rect, circle, arc, path, text,
    dimension, move, rotate, scale, split, trim, extend), snapping, unit-aware input,
    keyboard shortcuts, clipboard, plugin host, storage adapters and autosave with
    recovery, Node entry point.
  • @dotloom/react: complete editor with toolbar, layers and objects lists,
    inspector, rules panel, plugin panels, command palette, dialogs, status bar with
    autosave state and failures, light/dark/system themes, English and Turkish;
    checked with axe-core (WCAG 2.1 A/AA).
  • Examples: vanilla, shelf configurator, floor plan, timeline, external plugin
    consumed from package tarballs; playground and documentation site on GitHub
    Pages.
  • Tests: Rust unit/property tests, browser tests in Chromium, Firefox and WebKit on
    both backends, released-browser smoke tests (Chrome, Edge and Firefox current and
    previous major; Safari), native/WASM parity digests, visual regression baselines,
    DXF read-back with ezdxf, checked-in .dotl/SVG fixtures, fuzz targets with
    corpus replay, npm package and crate consumer tests; reference-device benchmarks.
  • Licensing: MIT OR Apache-2.0 in every package and crate, generated
    THIRD-PARTY-NOTICES.md (Rust crates and the Inter font) shipped with the SDK
    and the CLI.