Commit Graph

151 Commits

Author SHA1 Message Date
Matthias
4fa517066f fix(image-pipeline): close cleared in-flight source bitmaps 2026-04-04 11:40:32 +02:00
Matthias
c0534e04e0 fix(image-pipeline): bound source bitmap cache lifecycle 2026-04-04 11:37:26 +02:00
Matthias
77f8736579 fix(image-pipeline): skip pre-aborted source bitmap loads 2026-04-04 11:32:59 +02:00
Matthias
c41dde871f fix(image-pipeline): share source bitmap cache for abortable loads 2026-04-04 11:26:45 +02:00
Matthias
8660126fd6 docs(plans): add render pipeline performance plan 2026-04-04 11:00:04 +02:00
Matthias
533edaf7e5 docs(plans): add render pipeline performance design 2026-04-04 10:59:08 +02:00
12cd75c836 refactor(canvas): integrate graph-based handling for image source resolution and pipeline steps 2026-04-04 10:28:20 +02:00
90d6fe55b1 feat(canvas): implement dropped connection resolution and enhance connection handling 2026-04-04 09:56:01 +02:00
12202ad337 fix(canvas): default render compares to preview mode 2026-04-04 08:06:35 +02:00
8f2c3192d8 fix(canvas): restore compare previews for render inputs 2026-04-04 07:53:36 +02:00
376291a193 fix(canvas): cover drop regressions and lint 2026-04-03 23:19:58 +02:00
1bf1fd4a1b refactor(canvas): extract drop handling hook 2026-04-03 23:12:30 +02:00
c8597169a1 fix(canvas): align connection hook mutation types 2026-04-03 23:05:26 +02:00
58faf12d75 chore(test): remove unintended canvas hook coverage 2026-04-03 23:03:18 +02:00
59658cb8be refactor(canvas): extract connection handling hook 2026-04-03 22:59:47 +02:00
47cb167bd3 fix(canvas): use resolved ids for drag edge splits 2026-04-03 22:48:56 +02:00
81edfa6da7 fix(canvas): reject invalid edge splits before mutation 2026-04-03 22:38:20 +02:00
99cd1b5233 chore(test): remove unintended task 5 coverage 2026-04-03 22:21:40 +02:00
dee10405d2 refactor(canvas): extract node interaction hook 2026-04-03 22:18:42 +02:00
ffd7f389b8 test(canvas): cover flow resize lock
Add hook-level regression coverage proving useCanvasFlowReconciliation preserves local node state while the shared resize lock is active. The test harness now supports driving the resize ref the same way production interactions do.
2026-04-03 22:09:17 +02:00
d7b0720474 test(vitest): discover flow reconciliation hook test
Add the planned Task 4 test path to the explicit canvas test include list so normal Vitest discovery runs components/canvas/__tests__/use-canvas-flow-reconciliation.test.ts without temporary config overrides.
2026-04-03 22:03:22 +02:00
9fb850f2a4 fix(canvas): align flow reconciliation hook with task plan
Rename the hook test to the planned path, revert the persistent Vitest config tweak, and narrow the hook inputs to reconciliation data plus shared refs. Keep verification working with a temporary test config instead of expanding the repo-level include list.
2026-04-03 22:01:18 +02:00
d1c14c93e5 refactor(canvas): extract flow reconciliation hook
Move Convex-to-local node and edge reconciliation into a dedicated hook so canvas.tsx has a cleaner sync boundary during modularization. Add hook-level tests for optimistic edge carry and drag-lock behavior to preserve the existing UX.
2026-04-03 21:36:02 +02:00
5223d3d8d7 fix(canvas): refresh sync engine hook dependencies 2026-04-03 21:26:24 +02:00
c060c57ad8 refactor(canvas): extract sync engine hook 2026-04-03 21:11:04 +02:00
f2f22b66a7 test(canvas): expand reconciliation helper coverage 2026-04-03 20:51:21 +02:00
297816c5ca test(vitest): include canvas component tests 2026-04-03 20:45:22 +02:00
928fd81904 refactor(canvas): extract flow reconciliation helpers 2026-04-03 20:42:47 +02:00
16ad9e48f4 docs(canvas): remove extraction scratch note 2026-04-03 20:32:33 +02:00
859aad4438 docs(canvas): annotate modularization seams 2026-04-03 20:30:35 +02:00
cdcd819a44 docs(canvas): add modularization strategy 2026-04-03 20:26:39 +02:00
4fad69a151 fix(canvas): ensure valid source and target node IDs when creating synthetic edges 2026-04-03 20:15:23 +02:00
d7d715fd03 fix(convex): rename helper modules to valid convex paths 2026-04-03 19:59:50 +02:00
081bf13e04 feat(a11y): add live region feedback for auth and billing flows 2026-04-03 19:47:56 +02:00
8ed9adf6f8 chore(lint): resolve remaining warnings and ignore generated convex artifacts 2026-04-03 19:41:34 +02:00
0173d5c604 fix(canvas): avoid server persistence for download-only renders 2026-04-03 19:39:31 +02:00
d320ff47b0 refactor(canvas): extract data and storage url orchestration from canvas 2026-04-03 19:31:05 +02:00
fb005f3cce refactor(billing): derive subscription product credits from shared tier map 2026-04-03 19:25:03 +02:00
8639478a11 refactor(config): unify tier credit constants across frontend and backend 2026-04-03 19:20:28 +02:00
7e87a74df9 feat(canvas): move image pipeline rendering off main thread with worker fallback 2026-04-03 19:17:42 +02:00
7e1a77c38c refactor(canvas): debounce and extract local snapshot persistence 2026-04-03 19:10:07 +02:00
234da6f7d7 refactor(app): scope heavy providers to authenticated route layouts 2026-04-03 19:01:48 +02:00
df2a6c1759 refactor(app): move auth gating and metadata to server-first patterns 2026-04-03 18:55:13 +02:00
9c8cd364b4 feat(a11y): improve keyboard and semantic controls in core UI 2026-04-03 18:54:04 +02:00
8dd1d1bb7c refactor(billing): centralize tier credits and align topup UI 2026-04-03 18:53:21 +02:00
609e4fca20 fix(canvas): separate download from upload side effects 2026-04-03 18:52:54 +02:00
68416ed9de test: add vitest baseline for critical payment and auth guards 2026-04-03 18:15:18 +02:00
2542748e82 fix(canvas): align optimistic edge id typing with queue payloads 2026-04-03 18:07:59 +02:00
af3cb47247 fix(canvas): resolve hook rule violations in delete and image nodes 2026-04-03 18:05:02 +02:00
c33e65b0f6 fix(tool-ui): remove render-time ref mutation in controllable state 2026-04-03 18:02:44 +02:00