Split out of #239, preserved from TODO.md before its deletion (#208).
Recorded, not recommended. This is a spike to reach a decision, not an agreement to migrate.
The original case
From TODO.md: ~10MB bundle against Electron's ~150MB, system WebView instead of bundled
Chromium, Rust backend, nokhwa for capture, keeping the frontend and rewriting IPC.
Grounded against the release just cut: the shipped artefacts are a 211MB macOS DMG and a
95MB Windows installer, so the size argument is real and larger than the note claimed.
What the original note did not weigh
The screensavers are the problem, not the IPC. There are 30 WebGL2 shaders tuned against
Chromium's ANGLE. A system WebView means a different GL implementation per platform — WebKit on
macOS, WebView2 on Windows — with no guarantee they compile the same shaders or perform
comparably. #225 measured savers between 15 and 120 fps at 6000×1200 on ANGLE/Metal; none of
those numbers transfers.
Also rebuilt from scratch: the auto-update pipeline including the artifactName handling that
#86 exists because of, and code signing on both platforms (#56).
What the spike should produce
Answering the first bullet is most of the decision. If the shaders do not survive the move, the
bundle size is irrelevant.
Split out of #239, preserved from
TODO.mdbefore its deletion (#208).Recorded, not recommended. This is a spike to reach a decision, not an agreement to migrate.
The original case
From
TODO.md: ~10MB bundle against Electron's ~150MB, system WebView instead of bundledChromium, Rust backend,
nokhwafor capture, keeping the frontend and rewriting IPC.Grounded against the release just cut: the shipped artefacts are a 211MB macOS DMG and a
95MB Windows installer, so the size argument is real and larger than the note claimed.
What the original note did not weigh
The screensavers are the problem, not the IPC. There are 30 WebGL2 shaders tuned against
Chromium's ANGLE. A system WebView means a different GL implementation per platform — WebKit on
macOS, WebView2 on Windows — with no guarantee they compile the same shaders or perform
comparably. #225 measured savers between 15 and 120 fps at 6000×1200 on ANGLE/Metal; none of
those numbers transfers.
Also rebuilt from scratch: the auto-update pipeline including the
artifactNamehandling that#86 exists because of, and code signing on both platforms (#56).
What the spike should produce
running in a Tauri shell on macOS and Windows, with frame cost measured at 6000×1200 and
compared against the ANGLE figures in Mandelbrot runs below 30 fps at 6000×1200, and the set has never been measured on the wall's own host #225
nokhwaenumerates and captures from the actual capture cards in useAnswering the first bullet is most of the decision. If the shaders do not survive the move, the
bundle size is irrelevant.