Skip to content

fix(studio): restore editor control bindings for React 19 - #78

Draft
zedarvates wants to merge 1 commit into
fix/studio-import-bindingsfrom
fix/studio-editor-bindings
Draft

zedarvates wants to merge 1 commit into
fix/studio-import-bindingsfrom
fix/studio-editor-bindings

Conversation

@zedarvates

@zedarvates zedarvates commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Audio effects, asset filtering, canvas controls and keyframes referenced corrupted local names and failed on render or interaction. Restore their real state, props, existing editor store/action and callbacks. Also fix the general Templates category's null marker and stop keyframe rendering from sorting the parent's array.

Partial follow-up to #74, draft stacked on #77 at b0018678cc7ca67e229264d0b6bb6dc1eb6e3a3a. Current head: af83b71145191bb964f2109261adbe15234cdd87. No merge or commercial availability is claimed.

The scheduling helpers preserve exact callback argument tuples and browser-compatible timer types. Their JavaScript is byte-identical after type erasure. Correct the old throttle test's trailing-call assumption to match the existing leading-only implementation; restore real timers after each test.

A new strict audio/keyframe/scheduling contract exposed Lucide 0.468.0 importing ReactSVG, absent from React 19 declarations (upstream issue). Upgrade only the UI's Lucide requirement/lock to 0.474.0, the first inspected published version after 0.468.0 that removes the import. All other locked versions and optional/platform entries, root/Electron locks and full application compiler settings/inclusions remain unchanged. No fake React export or relaxed compiler flag is added.

Local evidence — clean Studio-only installation, Node 24.19.0 / npm 11.9.0:

  • Eight new editor interaction tests fail before the component repairs and pass afterwards. Real hooks, Zustand stores, Radix, DnD and icons are retained; graphics boundaries are substituted.
  • All 24 focused tests in five files pass, as do the shared-library audit (5,713 bindings in 966 files), both existing strict bridge programs and the new strict control program with negative argument-type cases.
  • The production bundle succeeds.
  • Full unchanged tsc -b still fails with 1,206 diagnostics, down from 1,249 on the exact fix(studio): restore corrupted import bindings and paths #77 base in the same setup. No diagnostic remains in the five modified production source files. Earlier local/hosted counts used different installations and are separate measurements.

Current-head hosted evidence — af83b71145191bb964f2109261adbe15234cdd87:

Review and remaining blockers: review the restored control bindings, template separation, immutable keyframe rendering, leading-only scheduling contract and minimal Lucide upgrade. Zero-error full application compilation, domain/module/optional Electron contracts, real media/project/generation fixtures and the primary Electron launcher remain unfinished. Displayed zoom and preview callbacks do not establish canvas zoom geometry, media playback or processing. The #70/#63/#73 dependency combination has not been retested with this batch.

Scope and commands.

@sonarqubecloud

sonarqubecloud Bot commented Oct 4, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant