New pkg/preload package:
- preload.go — InjectPreload(webview, origin) entry point; builds
three-step preload: storage polyfills, Electron shim (origin-
filtered), app preloads from .core/view.yaml manifest.preloads.
- assets/storage_polyfills.js — localStorage/sessionStorage/
IndexedDB bridges.
- assets/electron_shim.js — minimal ipcRenderer.send/invoke
mapping to core.QUERY/ACTION.
- Adds a minimal window.core.ml.generate shim — gates the
AI-native browser path (RFC §11a).
pkg/window/wails.go wires into Wails OnPageLoad via reflection when
the runtime exposes the hook, with a clean fallback for the
stubbed/test runtime. Legacy display-preload code detected and
skipped when the new package is in play.
Good/Bad/Ugly tests in pkg/preload/preload_test.go. go vet + go
test clean.
Closes tasks.lthn.sh/view.php?id=16
Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Virgil <virgil@lethean.io>