UNPKG

@thi.ng/axidraw

Version:

Minimal AxiDraw plotter/drawing machine controller for Node.js

169 lines (126 loc) 7.56 kB
# Change Log - **Last updated**: 2025-06-09T17:24:08Z - **Generator**: [thi.ng/monopub](https://thi.ng/monopub) All notable changes to this project will be documented in this file. Only versions published since **2022-01-01** are listed here. Please consult the Git history for older version information. See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines. **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies. ### [1.1.123](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@1.1.123) (2025-04-16) #### ♻️ Refactoring - minor internal optimizations (vector ops) ([adfebba](https://github.com/thi-ng/umbrella/commit/adfebba)) ### [1.1.59](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@1.1.59) (2024-02-22) #### ♻️ Refactoring - update object destructuring in all pkgs & examples ([f36aeb0](https://github.com/thi-ng/umbrella/commit/f36aeb0)) ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@1.1.0) (2023-03-22) #### 🚀 Features - add save/restore commands ([317f8e0](https://github.com/thi-ng/umbrella/commit/317f8e0)) - add/update command types - add SAVE/RESTORE to store/restore pen levels - update AxiDraw.draw() to restore state after one-off pen config - update DipOpts & dip() ([52d8924](https://github.com/thi-ng/umbrella/commit/52d8924)) - rename `down` => `downDelay`, `up` => `upDelay` - add `down`/`up` level opts - update dip() impl to store/restore pen state if using custom up/down levels for dipping - add palette command seq gens ([0e453c1](https://github.com/thi-ng/umbrella/commit/0e453c1)) - add linearPalette() & radialPalette() and config options - update pkg export maps - add global clipping bounds option ([a99a58e](https://github.com/thi-ng/umbrella/commit/a99a58e)) - add AxiDrawOpts.clip - add support for paper sizes, home offset ([c44510f](https://github.com/thi-ng/umbrella/commit/c44510f)) - update AxiDrawOpts.bounds to accept paper sizes ([@thi.ng/units](https://github.com/thi-ng/umbrella/tree/main/packages/units) quantities) - add AxiDrawOpts.home - update AxiDraw ctor & move/sendMove methods - add AxiDraw.setHome() - update pkg deps #### ♻️ Refactoring - remove obsolete clamping ([50978ba](https://github.com/thi-ng/umbrella/commit/50978ba)) - update linearPalette() - update bounds handling/clamping ([7850ed6](https://github.com/thi-ng/umbrella/commit/7850ed6)) - precalc scale factor & bounds in ctor # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@1.0.0) (2023-03-19) #### 🛑 Breaking changes - add/update command presets ([610f873](https://github.com/thi-ng/umbrella/commit/610f873)) - BREAKING CHANGE: update DrawCommands and cmd presets - update MoveXYCommand to use `"M"` - add MoveRelCommand (using `"m"`) - add/update AxiDraw.moveTo()/moveRelative() - migrate command presets to commands.ts - refactor parametric command type presets as functions: - PEN(), UP(), DOWN(), MOVE(), MOVE_REL(), WAIT(), COMMENT() - add DIP() command sequence gen #### 🚀 Features - add command fns, add COMMENT cmd ([0d64b55](https://github.com/thi-ng/umbrella/commit/0d64b55)) - add MOVE(), WAIT(), COMMENT() - add CommentCommand - update AxiDraw.draw() to log comments - add disconnect() ([af93177](https://github.com/thi-ng/umbrella/commit/af93177)) - add disconnect() for ISerial & AxiDraw - update MockSerial impl - update commands, docs & pkg exports ([1324cb8](https://github.com/thi-ng/umbrella/commit/1324cb8)) - update dip(), update imports. restructure /src ([b108760](https://github.com/thi-ng/umbrella/commit/b108760)) - add DipOpts, extend dip() functionality - move dip() to own file dip.ts - move complete() to commands.ts - move registrationMark() to own file registration.ts - update all imports - update pkg exports map ## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@0.5.0) (2023-02-05) #### 🚀 Features - add speedUp config, rename speed => speedDown ([197d610](https://github.com/thi-ng/umbrella/commit/197d610)) #### 🩹 Bug fixes - add [@thi.ng/date](https://github.com/thi-ng/umbrella/tree/main/packages/date) dependency ([bd35a9e](https://github.com/thi-ng/umbrella/commit/bd35a9e)) required by axidraw.ts ## [0.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@0.4.0) (2023-01-10) #### 🚀 Features - also send "reset" cmd in .reset() ([30fe365](https://github.com/thi-ng/umbrella/commit/30fe365)) ## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@0.3.0) (2022-12-29) #### 🚀 Features - add draw metrics ([0ff015c](https://github.com/thi-ng/umbrella/commit/0ff015c)) - add Metrics interface - update AxiDraw.draw() to record metrics - update .moveTo() to return delay & distance - add serial port abstraction & impls ([c774da1](https://github.com/thi-ng/umbrella/commit/c774da1)) - add SerialConnection adapter - add `SERIAL_PORT` default impl (actual serial port) - add `MOCK_SERIAL` & MockSerial impl for testing - update AxiDrawOpts & AxiDraw to use adapter only - add registrationMark() util, fix imports ([e05e99d](https://github.com/thi-ng/umbrella/commit/e05e99d)) - add Metrics.penCommands, fix nested metrics handling ([a7149cd](https://github.com/thi-ng/umbrella/commit/a7149cd)) - add counter for pen up/down commands - add start/stop cmd metrics to current tally #### ♻️ Refactoring - update "no-browser" pkg handling ([0e84f1b](https://github.com/thi-ng/umbrella/commit/0e84f1b)) ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@0.2.0) (2022-12-10) #### 🚀 Features - major updates/additions ([eb41c28](https://github.com/thi-ng/umbrella/commit/eb41c28)) - extract polyline() as standalone fn - add complete() syntax sugar - update UP/DOWN commands to accept opt. pen level/position - add RESET command - extract various draw commands into separate methods, simplify draw() - update draw() w/ FSM to pause/resume/cancel processing - add AxiDrawState FSM enum - add AxiDrawControl class, use as default controller - update AxiDrawOpts w/ new options - update connect() to throw error if unsuccessful - add SIGINT signal handler to handle Ctrl+C - update .draw() to auto-wrap command seq ([60aaad2](https://github.com/thi-ng/umbrella/commit/60aaad2)) - add PolylineOpts, update polyline() ([c8a271f](https://github.com/thi-ng/umbrella/commit/c8a271f)) #### 🩹 Bug fixes - fix polyline(), only apply custom speed for drawing ([c43b6f5](https://github.com/thi-ng/umbrella/commit/c43b6f5)) - update draw calls to disable cmd wrapping ([4cd5e53](https://github.com/thi-ng/umbrella/commit/4cd5e53)) - fix waiting for start/stop/home commands ([42bf4eb](https://github.com/thi-ng/umbrella/commit/42bf4eb)) #### ⏱ Performance improvements - remove obsolete UP command (and delay) in polyline() ([f71c64b](https://github.com/thi-ng/umbrella/commit/f71c64b)) ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/axidraw@0.1.0) (2022-12-06) #### 🚀 Features - import as new pkg ([cc43e84](https://github.com/thi-ng/umbrella/commit/cc43e84)) - arbitrary unit support, measure draw time ([32e3212](https://github.com/thi-ng/umbrella/commit/32e3212)) - add AxiDrawOpts.unitsPerInch to support any worldspace units - remove paperSize opt - add command constants for better mem use - update AxiDraw.draw() to measure & return time taken - add/update doc strings