Files
gridcraft/docs/hardware-parity.md
T
aiongg 2ed3df2bd6 G4: two windows on one workbook without copying it; Arrange All
- The workbook's active sheet is an atomic set in place (Workbook::active_sheet /
  set_active_sheet), so a window swap or sheet switch never clones the
  Arc<Workbook> or marks it dirty. Selections already live in DocState and the
  window views. Save records the sheet of the most recently active window.
- A dialog taken out of its window while it runs goes back to that window when
  a command run from it switched windows (dialogs::show, ui.dialog.confirm).
- view.arrangeAll {arrange?: tiled|horizontal|vertical|cascade, activeWorkbook?}
  returns the visible windows, active first; the desktop moves and sizes the
  native windows over the main window's monitor. New Window and Arrange All
  buttons on the View ribbon; Arrange Windows dialog.
- Docs: ui-parity, hardware-parity, gaps #20, target-app-parity, ROADMAP.
2026-10-22 16:50:10 +00:00

3.6 KiB
Raw Blame History

Hardware parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-22 · Change: minor (Arrange All) · Target: Microsoft Excel (Microsoft 365), Excel for Mac 16.113.4

The hardware Excel uses, per platform, against GridCraft. Part of target-app-parity.md. Hardware: ~40% ready, 25–40 h (estimated).

Hardware feature Excel GridCraft (macOS · Windows · Linux · BSD · web) Gap and estimate
Multi-core recalculation Multi-threaded recalculation on all cores (Windows and Mac), configurable thread count Single-threaded everywhere (no threading in crates/calc) Parallel recalc of independent dependency chains on native builds; WASM stays single-threaded or uses workers later: 12–18 h
GPU rendering of the grid and charts DirectX / Metal accelerated drawing wgpu: Metal · DirectX 12 (default since 10-08; OpenGL when DirectX 12 has no GPU driver or fails to start; Vulkan only on request, so the Intel UHD igvk64.dll crash (#120) can't happen; shaders compiled with FXC, so no DXC runtime is needed, #339) · Vulkan/GL · Vulkan/GL · WebGPU or WebGL2 At parity in kind. Driver problems: screen flashing on Windows 11 (#76): 2–4 h
Pen and touch (Draw tab) Pen pressure and tilt, eraser end, touch mode, Ink to Shape, ink replay Pen, highlighter, eraser, Ink to Shape with mouse/pen input; no pressure or tilt, no touch mode Pressure-sensitive strokes where winit reports force; touch-friendly ribbon spacing: 4–6 h
Trackpad and mouse Smooth scrolling, pinch zoom, horizontal scroll, Magic Mouse Smooth scrolling and zoom via egui Verify pinch zoom on each platform: 1–2 h
Multiple windows and monitors One window per workbook, New Window for the same workbook, per-monitor DPI A native window per workbook window on the desktop, New Window for the same workbook; new windows cascade from the last one on its monitor; View › Arrange All tiles, stacks or cascades them over the main window's monitor (web: one window) Arrange All across monitors; verify per-monitor DPI with windows on two monitors: 2–3 h
High-DPI and display scaling yes yes (display scale matched to desktop density; View › Interface size 75–200 % on top, #230) —
Accessibility hardware (screen readers, braille displays, switch control) Narrator, JAWS, NVDA, VoiceOver AccessKit enabled in eframe; grid cells and ribbon not yet exposed as an accessible tree Counted under UI (ui-parity.md)
Printers System print with driver options Desktop submits through craft-print with printer choice, copies, duplex and grayscale; web browser printing Counted under print

Revision history

Date Change Summary
2026-10-22 minor View › Arrange All over the main window's monitor.
2026-10-22 minor Multiple windows: each workbook window is a native window of its own (desktop).
2026-10-12 minor Desktop File > Print now discovers printers and submits PDF jobs through pinned craft-print with printer choice, copies, duplex and grayscale; browser printing and PDF export remain available. Remaining print parity includes page ranges and driver-specific tray/options UI; physical printer fidelity needs hardware validation.
2026-10-11 trivial Windows: DirectX 12 shaders compiled with FXC, no DXC runtime needed (#339, #354)
2026-10-11 trivial Windows: OpenGL fallback when DirectX 12 has no GPU or fails to start; Vulkan never by default (#120)
2026-10-10 major Created: single-threaded calc, wgpu rendering, no pen pressure, single window