Skip to content

feat(sdk): file-backed fs adapter + setTiming GSAP-script sync; add sdk-playground#1423

Open
vanceingalls wants to merge 1 commit into
graphite-base/1423from
06-13-feat_sdk_playground_fs_adapter_settiming_gsap_sync
Open

feat(sdk): file-backed fs adapter + setTiming GSAP-script sync; add sdk-playground#1423
vanceingalls wants to merge 1 commit into
graphite-base/1423from
06-13-feat_sdk_playground_fs_adapter_settiming_gsap_sync

Conversation

@vanceingalls

Copy link
Copy Markdown
Collaborator

Stacked on the acorn-parser/T6e branch.

What

  • fs PersistAdapter implemented (was a stub) — packages/sdk/src/adapters/fs.ts. node:fs/promises read/write, timestamped version history under .hf-versions/<path>/, prune to maxVersions (20), listVersions/loadFrom. Emits persist:error in the canonical { error: { message, cause } } shape.
  • setTiming GSAP-script syncpackages/sdk/src/engine/mutate.ts. setTiming on a GSAP composition stamped data-start/data-end on the DOM node, but the runtime re-stamps those attributes from GSAP positions on the next init — silently overwriting the edit. handleSetTiming now also rewrites the GSAP script (parseGsapScriptAcornForWrite + updateAnimationInScript), flushing both models in one patch pair so they stay in sync. DAW-style timeline trim depends on this.
  • @hyperframes/sdk-playground (new, private) — interactive browser harness over the full op surface: setStyle/setText/setAttribute/removeElement/setVariableValue/find/selection() proxy/all 9 GSAP+label ops/setClassStyle. Live preview iframe with click-select + drag-to-reposition, DAW-style timeline trim via setTiming, file-backed persistence with version history (Vite dev-server plugin + fetch adapter), undo/redo/can/getOverrides/flush, raw-HTML editor modal. README documents built vs planned.

Test

  • bun run --cwd packages/sdk build + test — 118 pass
  • bun run --cwd packages/sdk-playground build — clean
  • oxlint + oxfmt clean; fallow audit passes (0 introduced findings)

🤖 Generated with Claude Code

@vanceingalls vanceingalls changed the base branch from 06-12-refactor_core_swap_studio-api_read_path_from_recast_to_acorn_parser_t6e_ to graphite-base/1423 June 14, 2026 02:06
@vanceingalls vanceingalls changed the base branch from graphite-base/1423 to 06-12-refactor_core_swap_studio-api_read_path_from_recast_to_acorn_parser_t6e_ June 14, 2026 02:06
@vanceingalls vanceingalls changed the base branch from 06-12-refactor_core_swap_studio-api_read_path_from_recast_to_acorn_parser_t6e_ to graphite-base/1423 June 14, 2026 02:46
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