Skip to content

chore: migrate core windowing/rendering stack to latest APIs#434

Open
sjuxax wants to merge 1 commit into
Inlyne-Project:mainfrom
sjuxax:upgrade-deps
Open

chore: migrate core windowing/rendering stack to latest APIs#434
sjuxax wants to merge 1 commit into
Inlyne-Project:mainfrom
sjuxax:upgrade-deps

Conversation

@sjuxax

@sjuxax sjuxax commented Apr 9, 2026

Copy link
Copy Markdown

Caveat: generated with combination of Opus 4.6 and GPT-5.4-Codex.

  • upgrade the main platform/rendering dependencies: glyphon 0.3 -> 0.10 wgpu 0.16 -> 28 winit 0.28.7 -> 0.30 taffy 0.3.19 -> 0.9 resvg 0.39.0 -> 0.45.0 fontdb 0.14.1 -> 0.22

  • refactor app startup and event handling around winit 0.30’s ApplicationHandler/run_app model, including deferred window creation, explicit event loop proxy wiring, and moving runtime UI state out of the old closure-based event loop

  • update renderer initialization and frame submission for modern wgpu: safe surface creation with Arc/Surface<'static>, new InstanceDescriptor and DeviceDescriptor fields, pipeline layout immediates, optional shader entry points, updated render pass descriptors, frame latency config, broader surface error recovery, and guards against empty lyon buffer submissions that now panic on wgpu 28

  • migrate text rendering to the new glyphon/cosmic-text APIs by introducing Cache and Viewport management, updating TextAtlas/TextRenderer prepare+render calls, adjusting buffer sizing/shaping, and extending text areas with custom_glyphs

  • port image rendering and SVG handling to new wgpu/resvg APIs: replace deprecated texture copy types, update sampler/pipeline creation, and simplify SVG rasterization around the newer usvg/resvg flow

  • modernize keyboard/input handling for winit 0.30 by replacing VirtualKeyCode/ScanCode usage with NamedKey, Character, KeyCode, and KeyEvent/PhysicalKey-based translation, plus updated modifier handling, defaults, serialization, mappings, and tests

  • adapt table/layout code to taffy 0.9 by switching to TaffyTree, new measurement/context APIs, and updated sizing helpers while keeping hover/layout behavior intact

  • remove direct raw-window-handle clipboard setup in favor of the default clipboard provider path, and refresh related CLI/tests/snapshots/lockfile

  • add migration documentation and API audit notes to capture the upgrade strategy and changed integration points

- upgrade the main platform/rendering dependencies:
  glyphon 0.3 -> 0.10
  wgpu 0.16 -> 28
  winit 0.28.7 -> 0.30
  taffy 0.3.19 -> 0.9
  resvg 0.39.0 -> 0.45.0
  fontdb 0.14.1 -> 0.22

- refactor app startup and event handling around winit 0.30’s
  ApplicationHandler/run_app model, including deferred window creation,
  explicit event loop proxy wiring, and moving runtime UI state out of the
  old closure-based event loop

- update renderer initialization and frame submission for modern wgpu:
  safe surface creation with Arc<Window>/Surface<'static>, new
  InstanceDescriptor and DeviceDescriptor fields, pipeline layout immediates,
  optional shader entry points, updated render pass descriptors, frame latency
  config, broader surface error recovery, and guards against empty lyon buffer
  submissions that now panic on wgpu 28

- migrate text rendering to the new glyphon/cosmic-text APIs by introducing
  Cache and Viewport management, updating TextAtlas/TextRenderer prepare+render
  calls, adjusting buffer sizing/shaping, and extending text areas with
  custom_glyphs

- port image rendering and SVG handling to new wgpu/resvg APIs:
  replace deprecated texture copy types, update sampler/pipeline creation, and
  simplify SVG rasterization around the newer usvg/resvg flow

- modernize keyboard/input handling for winit 0.30 by replacing
  VirtualKeyCode/ScanCode usage with NamedKey, Character, KeyCode, and
  KeyEvent/PhysicalKey-based translation, plus updated modifier handling,
  defaults, serialization, mappings, and tests

- adapt table/layout code to taffy 0.9 by switching to TaffyTree,
  new measurement/context APIs, and updated sizing helpers while keeping
  hover/layout behavior intact

- remove direct raw-window-handle clipboard setup in favor of the default
  clipboard provider path, and refresh related CLI/tests/snapshots/lockfile

- add migration documentation and API audit notes to capture the upgrade
  strategy and changed integration points
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