Skip to content

Consolidate font model into shift-font#57

Merged
kostyafarber merged 2 commits into
mainfrom
first-class-shift-font-object-model
Jun 3, 2026
Merged

Consolidate font model into shift-font#57
kostyafarber merged 2 commits into
mainfrom
first-class-shift-font-object-model

Conversation

@kostyafarber
Copy link
Copy Markdown
Collaborator

Summary

Consolidates the Rust font model around shift-font and removes the old shift-edit / shift-ir split.

  • moves the reusable edit/model code into shift-font
  • moves bridge DTO-oriented interpolation/state helpers into shift-wire
  • updates downstream Rust crates to depend on shift-font
  • removes bridge-owned active edit sessions in favor of explicit GlyphLayerRef mutation targets
  • updates renderer bridge calls, generated TypeScript bridge types, tests, docs, and scripts

Why

This gives the next workspace/store work a cleaner base: shift-font is now the first-class object model, bridge mutation no longer depends on hidden native session state, and renderer selection stays explicit.

Validation

  • cargo check --workspace
  • cargo test --workspace
  • pnpm typecheck
  • pnpm --filter shift-bridge run test
  • pnpm --filter @shift/desktop test -- Glyph.test.ts variation.test.ts SourceEditDraft.test.ts ApplyPositionPatchCommand.test.ts
  • commit hooks: cargo check, cargo fmt, cargo clippy, cargo test, oxfmt, oxlint, tsgo typecheck, deadcode, vitest

Notes

python3 scripts/context-drift-check.py was not run because the local Python environment is missing markdown_it.

@kostyafarber kostyafarber marked this pull request as ready for review June 2, 2026 15:24
@kostyafarber kostyafarber merged commit fb1455c into main Jun 3, 2026
10 of 12 checks passed
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