7 Commits

Author SHA1 Message Date
dwelle
3b65f2aefa make InteractiveCanvas callbacks mandatory and move viewMode check inside 2023-08-09 19:34:19 +02:00
Marcel Mraz
e58e9ec6d5 Removed unnessary context.restore() calls a using cached selectedElements in the interactive canvas 2023-08-06 21:48:40 +02:00
dwelle
b1d982b988 remove throttling react 17 hack & disable on < 18 2023-08-06 21:41:37 +02:00
dwelle
eb9342fe27 memoize getRenderableElements() also on versionNonce
and drop memoization of individual filtering functions, as the elements array may not renew on mutation and we might filter out elements based on individual elements
2023-08-06 00:27:08 +02:00
dwelle
be7cc402d3 Merge branch 'master' into mrazator/canvas-partitioning
# Conflicts:
#	src/components/App.tsx
#	src/renderer/renderElement.ts
#	src/renderer/renderScene.ts
2023-07-25 23:46:35 +02:00
Marcel Mraz
7792f69782 Extracting common calculations to the canvases wrapper 2023-07-23 17:42:45 +02:00
Marcel Mraz
903c94d2ca Introducing interactive canvas
Separation of Appstate and RenderConfig for InteractiveCanvas

Sepration of static canvas

Fixing test type-errors, removing original RenderConfig

Deduplication of canvases AppState and RenderConfig

Added mutation hook for shared computation between canvases

Moved interaction handlers to interactive canvas and closed some fixes

Added CanvasWrapper and first render optimisations

Optimising selection + frame selection bottlenecks with cache/improved algo

Static canvas rendering bottlenecks WIP

Cursors regression moved to interactive canvas

Regression, adding back render interactive scene callback, adding back throttleRAF to both canvases

Fix for scroll back to content & scrollbars

Separating renderInteractiveScene and renderScene

Common canvas context bootstrap

Groups cache fix, mutation elements fix and other smaller fixes

Remove getSelectedElements cache

Fixing broken tests

Updated tests with expected # of renderStaticScene calls, adding group selection edge-case test, other smaller fixes
2023-07-23 13:41:51 +02:00