3307 Commits

Author SHA1 Message Date
Marcel Mraz
d872adf593 Order based on fractional index in history action 2023-12-11 12:15:38 +01:00
Marcel Mraz
260706c42f First step towards delta based history
Introducing independent change detection for appState and elements

Generalizing object change, cleanup, refactoring, comments, solving typing issues

Shaping increment, change, delta hierarchy

Structural clone of elements

Introducing store and incremental API

Disabling buttons for canvas actions, smaller store and changes improvements

Update history entry based on latest changes, iterate through the stack for visible changes to limit empty commands

Solving concurrency issues, solving (partly) linear element issues,  introducing commitToStore breaking change

Fixing existing tests, updating snapshots

Trying to be smarter on the appstate change detection

Extending collab test, refactoring action / updateScene params, bugfixes

Resetting snapshots

Resetting snapshots

UI / API tests for history - WIP

Changing actions related to the observed appstate to at least update the store snapshot - WIP

Adding skipping of snapshot update flag for most no-breaking changes compatible solution

Ignoring uncomitted elements from local async actions, updating store directly in updateScene

Bound element issues - WIP
2023-12-11 11:59:24 +01:00
Ryan Di
5e98047267 test the fixing of fractional indices 2023-12-08 18:06:09 +08:00
Ryan Di
741380bd43 one more case for restoring test 2023-12-08 10:43:34 +08:00
Ryan Di
5ed82cb646 not using jittered keys in tests (for snapshot matching) 2023-12-07 23:40:56 +08:00
Ryan Di
dddb07cf57 restore test 2023-12-07 23:33:31 +08:00
Ryan Di
d6a6c40051 jitter when restoring as well 2023-12-06 23:39:34 +08:00
Ryan Di
bf53d90c68 indices with jitter 2023-12-06 23:25:11 +08:00
Ryan Di
b734f7cba8 fix shift to end z-index error 2023-12-06 16:56:55 +08:00
Ryan Di
4f218856c3 fix fractional indices on duplication 2023-12-06 10:39:13 +08:00
Ryan Di
7dfba985f9 fix fractional indices on adding new elements 2023-12-05 23:04:17 +08:00
Ryan Di
5bc23d6dee merge branch 'fractional-indexing' of github.com:excalidraw/excalidraw into fractional-indexing 2023-12-05 13:09:35 +08:00
Ryan Di
093e684d9e generate real fractional index after z-index actions 2023-12-05 13:07:07 +08:00
Ryan Di
84c1de7a03 generate real fractional index after z-index actions 2023-12-05 13:06:00 +08:00
Ryan Di
d1a9c593cc refactor code 2023-12-01 17:43:01 +08:00
Ryan Di
a7154227cf reconciliate order based on fractional index 2023-12-01 15:59:36 +08:00
Ryan Di
1e132e33ae normalize before replacing 2023-12-01 15:58:49 +08:00
Ryan Di
00ffa08e28 use string as fractional index value 2023-11-30 19:02:14 +08:00
Ryan Di
5c1787bdf4 update data restore to keep fractional index 2023-11-29 18:18:44 +08:00
Ryan Di
de32256466 simplify 2023-11-29 18:13:51 +08:00
Ryan Di
02dc00a47e fractionalIndex as a byproduct or zIndex 2023-11-29 17:41:04 +08:00
David Luzar
c7ee46e7f8
feat: wireframe-to-code (#7334) 2023-11-23 23:07:53 +01:00
DanielJGeiger
d1e4421823
feat: Expose ActionManager.registerAction through ExcalidrawImperativeAPI (#6995)
* feat: Expose `ActionManager` through `ExcalidrawImperativeAPI`

* Only expose `registerAction` instead of `ActionManager`
2023-11-22 15:22:49 -06:00
Barnabás Molnár
7c9cf30909
fix: make zoomToFit fitToViewport account for sidebar (#7298) 2023-11-17 15:56:19 +01:00
David Luzar
1e37dbd60e
feat: change frame resizing behavior (#7307) 2023-11-17 14:37:43 +01:00
David Luzar
f8d5c2a1b6
build: allow a range of major node versions (#7306) 2023-11-17 14:23:19 +01:00
Aakansha Doshi
23b24ea5c3
build: use caret for specifying node version to avoid major upgrades automatically (#7297) 2023-11-16 16:18:38 +05:30
Aakansha Doshi
a528769b68
docs: upgrade to @excalidraw/excalidraw@0.17.0 (#7285) 2023-11-14 20:10:19 +05:30
Aakansha Doshi
ddb7585057
docs: Docs for v0.17.0 🚀 (#7248)
* feat: add docs for getCommonBounds

* docs: add docs for frames api support

* docs: update docs for regenerateIds opts in convertToExcalidrawElements

* add docs for ref removal

* add docs for lock support and insertOnCanvasDirectly in setActiveTool

* fix broken links

* update docs for next js support

* update docs for Preact

* add faq

* docs: add `onChange`, `onPointerDown`, `onPointerUp` docs

* docs: update `useDevice` docs

* update docs for disabling image tool

* add docs for withinBounds helpers

* fix lint

* upgrade excal

* add docusaurus2-dotenv for expose env vars

* fix env variable and upgrade excal

* Update dev-docs/docs/@excalidraw/excalidraw/api/excalidraw-element-skeleton.mdx

Co-authored-by: David Luzar <5153846+dwelle@users.noreply.github.com>

* update docs

Co-authored-by: David Luzar <5153846+dwelle@users.noreply.github.com>

* update docs for process.env

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
v0.17.0
2023-11-14 19:54:34 +05:30
Aakansha Doshi
111a48ffb1
docs: release @excalidraw/excalidraw@0.17.0 🎉 (#7284) 2023-11-14 19:53:59 +05:30
Aakansha Doshi
54153629c0
chore: update release scripts (#7282)
* chore: update release scripts

* update docs
2023-11-14 16:37:57 +05:30
David Luzar
9c425224c7
feat: support disabling image tool (#6320)
Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
2023-11-14 10:25:41 +01:00
Aakansha Doshi
9d1d45a8ea
chore: update changelog (#7279)
* chore: update changelog

* fix

* Update CHANGELOG.md
2023-11-14 13:11:05 +05:30
David Luzar
029c3c48ba
fix: image insertion bugs (#7278) 2023-11-13 15:34:59 +01:00
Aakansha Doshi
adfd95be33
build: support preact 🥳 (#7255)
* build: support preact

* add log

* Simplify the config and generate prod and dev builds for preact

* update changelog

* remove logs

* use env variable so its available during build time

* update cl

* fix
2023-11-13 16:18:36 +05:30
zsviczian
ceb255e8ee
fix: exportToSvg to honor frameRendering also for name not only for frame itself (#7270)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2023-11-12 22:34:05 +00:00
David Luzar
ae5b9a4ffd
fix: not cloning elements on export polluting Scene mapping (#7276) 2023-11-12 23:32:12 +01:00
zsviczian
3d4ff59f40
fix: Can't toggle penMode off due to missing typecheck in togglePenMode (#7273)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2023-11-12 13:24:13 +01:00
David Luzar
7b00089314
chore: bump @excalidraw/random-username (#7272) 2023-11-11 19:23:22 +01:00
zsviczian
af6b81df40
fix: Replace hard coded font family with const value in addFrameLabelsAsTextElements (#7269) 2023-11-11 10:04:02 +01:00
FilBot3
02cc8440c4
feat: allow D&D dice app domain for embeds (#7263)
Co-authored-by: David Luzar <5153846+dwelle@users.noreply.github.com>
2023-11-10 15:29:19 +00:00
David Luzar
6363492cee
fix: perf issue when ungrouping elements within frame (#7265)
Co-authored-by: Ryan Di <ryan.weihao.di@gmail.com>
2023-11-10 16:13:08 +01:00
Sahil Nagpure
900b317bf3
feat: remove full screen shortcut (#7222) 2023-11-10 14:44:02 +00:00
Gabriel Lalonde
68179356e6
fix: Fixes the shortcut collision between "toggleHandTool" and "distributeHorizontally" (#7189)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2023-11-10 15:33:02 +01:00
Jan-Peter Dhallé
3ed15e95da
Small typo fix frames.mdx (#7216) 2023-11-10 15:23:43 +01:00
zsviczian
798e1fd858
fix: allow pointer events when editing a linear element (#7238) 2023-11-10 15:21:59 +01:00
David Luzar
f66c93633c
feat: make adaptive-roughness less aggressive (#7250) 2023-11-10 13:32:34 +01:00
Aakansha Doshi
cee00767df
feat: support excalidrawAPI and remove refs support (#7251)
* feat: support excalidrawAPI and remove refs support

* update changelog

* remove ready and readyPromise

* update changelog

* update changelog
2023-11-10 15:33:43 +05:30
David Luzar
864c0b3ea8
feat: render frames on export (#7210) 2023-11-09 17:00:21 +01:00
Aakansha Doshi
a9a6f8eafb
docs: update the docs with next js dynamic import support (#7252) 2023-11-09 16:03:35 +05:30