* feat(parser): initial work (in progress)
* test: add dumb html file to test parser
* chore: setup ts
* chore: ignore dist folder
* fix(dev): fix dev html docs
Add additional ESM build so that dist build may be used directly in dev html docs.
* docs: add a few dev docs
Adding a couple documentions in the the dev folder to help keep track of notes and such.
* feat(utils): add cubic bezier points resolution
* feat(utils): add path to points converter (wip)
* feat(bezier): enhance cubic bézier curve generation
- add docs
- update name of function to get points
- refactor precision argument to be the number of points to return (without origin point)
- use Number constructor rather than implicit type coercion (+)
* fix(path-to-points): return type
* fix(path-to-points): imported function name from bézier util
* docs(path-to-points): add function description
* fix(path-to-points): return elements
* docs(parser): remove useless jsdoc
* refactor(parser): do not export utils functions
* feat(parser): wip
* feat(types): setup basic types
* chore(scripts): update
- Remove "--" to forward options
- Remove redundant lint scripts
* chore(deps): update dependencies
* fix(lint): remove prettier typescript eslint config
See https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21
* fix(path-to-points): do not expand points
* style: arrow fn everywhere
* chore: missing lockfile
* style: double quotes everywhere
* fix(parser): position handling of multiple elements
In the main scene, and in their boundaries
* feat(path): set strokeSharpness
* feat(dev): output results to textarea
* feat(parser): return valid Excalidraw elements
Also update types and variables/functios names for consistency
* feat(parser): add backgroundColor
* style: run prettier
* chore(scripts): apply prettier to js and ts files
* feat(parser): return a valid Excalidraw file content
* feat(dev): update style and behaviour
* style: fix lint
* fix: unused import
* feat(path-to-points): on close path, make sure last committed point is first point
* feat(path-to-points): if no close path and only one element, make sure to publish points
* refactor(path-to-points): simplify commands regex
* feat(bezier): add support for quadratic bézier curves
* feat(path-to-points): add support for quadratic bézier curves
* style: fix lint
* ci: add workflow to cancel previous runs
* feat(path-to-points): add support for simplified quadratic bézier curves
* feat(path-to-points): add support for simplified cubic bézier curves
* style(path-to-points): lint
* feat(path-to-points): enhance commands regex
* feat(path-to-points): more debugging
* refactor: rename everything from coordinate(s) to point(s)
- ensure consistency with excalidraw elements defining an array of points
- also removes useless Coordinates type as it is no more than an array of number
* refactor(path-to-points): use handling functions for each command
* feat(path-parser): handling of colors
* refactor: rename EVERYTHING to point(s)
* create method for "walking" elements of an svg tree. Start working on implementing serialization into excalidraw json of a few basic element types.
* chore: setup @excalidraw/eslint-config
* style: run eslint
* chore(devDeps): update dev dependencies
* chore: fix eslint-plugin-prettier version range
* fix(path-to-points): allow parameters omitting leading 0 (.75)
Also remove duplicated non-capturing groups
* feat(path): add utility to work with ellipses
* feat(path-to-points): add support for arcTo commands
* style: lint + todos
* chore(devDeps): update dependencies
- also remove useless eslint-plugin-import
* chore: use @excalidraw/eslint-config
* chore: remove some package fields
* Create svg dom walker to support further svg elements. Add basic handling of presentation and filter attributes. Start work on handling transform attributes.
* Add back main and files entries into package.json.
* refactor attributes handlers.
* Fix issues with use element attributes.
* Fix some issues with placing circles.
* Updates to circle and ellipse elements.
* Refinement work on rect elements.
* Add first pass at polyline and polygon element rendering.
* Add back main and files to package.json. Remove unused file.
* Add back a number of missing deps
* Fix lint errors
* Add chroma.js types, fix type error in path walker.
* update yarn.lock
* Initial pass at getting paths working.
* Remove unused code
* Add a tiny bit of handling for path fill-rule.
* Remove unused files
* Update readme
* Bump minor versions of deps
* update yarn.lock
* Run Prettier
* Remove no longer used local dev server library.
* Small updates to README.md
Co-authored-by: Nicolas Goudry <goudry.nicolas@gmail.com>
Co-authored-by: Nicolas <nicolas@plum-energie.com>
* feat(parser): initial work (in progress)
* test: add dumb html file to test parser
* chore: setup ts
* chore: ignore dist folder
* fix(dev): fix dev html docs
Add additional ESM build so that dist build may be used directly in dev html docs.
* docs: add a few dev docs
Adding a couple documentions in the the dev folder to help keep track of notes and such.
* feat(utils): add cubic bezier points resolution
* feat(utils): add path to points converter (wip)
* feat(bezier): enhance cubic bézier curve generation
- add docs
- update name of function to get points
- refactor precision argument to be the number of points to return (without origin point)
- use Number constructor rather than implicit type coercion (+)
* fix(path-to-points): return type
* fix(path-to-points): imported function name from bézier util
* docs(path-to-points): add function description
* fix(path-to-points): return elements
* docs(parser): remove useless jsdoc
* refactor(parser): do not export utils functions
* feat(parser): wip
* feat(types): setup basic types
* chore(scripts): update
- Remove "--" to forward options
- Remove redundant lint scripts
* chore(deps): update dependencies
* fix(lint): remove prettier typescript eslint config
See https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21
* fix(path-to-points): do not expand points
* style: arrow fn everywhere
* chore: missing lockfile
* style: double quotes everywhere
* fix(parser): position handling of multiple elements
In the main scene, and in their boundaries
* feat(path): set strokeSharpness
* feat(dev): output results to textarea
* feat(parser): return valid Excalidraw elements
Also update types and variables/functios names for consistency
* feat(parser): add backgroundColor
* style: run prettier
* chore(scripts): apply prettier to js and ts files
* feat(parser): return a valid Excalidraw file content
* feat(dev): update style and behaviour
* style: fix lint
* fix: unused import
* feat(path-to-points): on close path, make sure last committed point is first point
* feat(path-to-points): if no close path and only one element, make sure to publish points
* refactor(path-to-points): simplify commands regex
* feat(bezier): add support for quadratic bézier curves
* feat(path-to-points): add support for quadratic bézier curves
* style: fix lint
* ci: add workflow to cancel previous runs
* feat(path-to-points): add support for simplified quadratic bézier curves
* feat(path-to-points): add support for simplified cubic bézier curves
* style(path-to-points): lint
* feat(path-to-points): enhance commands regex
* feat(path-to-points): more debugging
* refactor: rename everything from coordinate(s) to point(s)
- ensure consistency with excalidraw elements defining an array of points
- also removes useless Coordinates type as it is no more than an array of number
* refactor(path-to-points): use handling functions for each command
* feat(path-parser): handling of colors
* refactor: rename EVERYTHING to point(s)
* create method for "walking" elements of an svg tree. Start working on implementing serialization into excalidraw json of a few basic element types.
* chore: setup @excalidraw/eslint-config
* style: run eslint
* chore(devDeps): update dev dependencies
* chore: fix eslint-plugin-prettier version range
* fix(path-to-points): allow parameters omitting leading 0 (.75)
Also remove duplicated non-capturing groups
* feat(path): add utility to work with ellipses
* feat(path-to-points): add support for arcTo commands
* style: lint + todos
* chore(devDeps): update dependencies
- also remove useless eslint-plugin-import
* chore: use @excalidraw/eslint-config
* chore: remove some package fields
* Create svg dom walker to support further svg elements. Add basic handling of presentation and filter attributes. Start work on handling transform attributes.
* Add back main and files entries into package.json.
* refactor attributes handlers.
* Fix issues with use element attributes.
* Fix some issues with placing circles.
* Updates to circle and ellipse elements.
* Refinement work on rect elements.
* Add first pass at polyline and polygon element rendering.
* Add back main and files to package.json. Remove unused file.
* Add back a number of missing deps
* Fix lint errors
* Add chroma.js types, fix type error in path walker.
* update yarn.lock
Co-authored-by: Nicolas Goudry <goudry.nicolas@gmail.com>
Co-authored-by: Nicolas <nicolas@plum-energie.com>