Repository navigation
Releases: TNYCL/dotloom
Releases · TNYCL/dotloom
Release list
Dotloom v1.1.0
Added
- Pair kerning (the font's GPOS
kernlookups) for the default font, shared by the
renderer and the engine's text boxes;Text::line_pens,Text::em_sizeand
Text::FONT_UNITS_PER_EMindotloom-geometry.
Changed
- The npm packages are
@dotloomjs/sdkand@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-fontsand rasterized by Dotloom itself;
fontdue(and its unmaintainedttf-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
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.tgzThe 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. .dotlproject 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.