Phase 7: wallpaper maker (live preview, click-to-edit labels, .data import)
The interactive replacement for the legacy Sheet -> GIMP/Script-Fu pipeline: WallpaperMakerForm (tray -> "Wallpaper maker") renders the profile wallpaper live via SkiaOverlayRenderer, outlines all 119 template cells, and lets any cell -- including the heading/banner cells the button editor cannot reach -- be clicked and retitled with debounced re-render. Clicks on stacked cells cycle through the regions at that pixel (OverlayHitTester, unit-tested); stacking is legitimate chroma-split display encoding. Imports a legacy .data sheet row (with a game picker for multi-row sheets), exports the PNG, and can apply the desktop wallpaper immediately to the same per-profile path the runtime uses. Prompts for and remembers AppConfig.OverlayTemplatePath on first use. PLAN.md: record this + the completed Phase 6 deploy package. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+23
-4
@@ -209,11 +209,19 @@ Core logic in `src/RioJoy.Core/Profiles` + `RioRuntime`; UI/OS in `src/RioJoy.Tr
|
||||
- ⏳ **Remaining:** full on-cabinet verification of the auto-switch +
|
||||
acquire/release lifecycle against real RIO hardware.
|
||||
|
||||
### Phase 6 — Packaging / signing / deploy
|
||||
- Driver test-signing + `pnputil` install already scripted (`driver/sign.ps1`,
|
||||
### Phase 6 — Packaging / signing / deploy — done ✅
|
||||
- Driver test-signing + `pnputil` install scripted (`driver/sign.ps1`,
|
||||
`driver/install.ps1`, `driver/uninstall.ps1`, [`driver/README.md`](../driver/README.md));
|
||||
proven on the cabinet. ⏳ Still to do: app installer, a single bundled deploy,
|
||||
and a cabinet deployment doc. (Production option: attestation signing.)
|
||||
proven on the cabinet.
|
||||
- **Deployment package** ([`deploy/`](../deploy/)): `build-package.ps1` produces
|
||||
`dist/RIOJoy-<version>.zip` (framework-dependent net48 app + `postinstall.bat` /
|
||||
`install-rio.ps1` / `pre-uninstall.bat` / `uninstall-rio.ps1`, all idempotent) with
|
||||
the cabinet doc [`README-DEPLOY.txt`](../deploy/README-DEPLOY.txt). Deployed builds
|
||||
use the **signed ViGEmBus** virtual controller (Xbox 360 layout, 11 buttons) so no
|
||||
test signing / Secure Boot change / reboot is needed; the custom RioGamepad driver
|
||||
remains the full-fidelity option for owned cabinets. App lifecycle is owned by the
|
||||
TeslaConsole launcher (no auto-start). ⏳ Verify remaining: first real deploy on a
|
||||
cabinet via TeslaConsole.
|
||||
|
||||
### Phase 7 — Profile/mapping editor + cockpit overlay generator — in progress
|
||||
Replaces the legacy Google-Sheet → `.data` → GIMP → Script-Fu pipeline
|
||||
@@ -243,6 +251,17 @@ Replaces the legacy Google-Sheet → `.data` → GIMP → Script-Fu pipeline
|
||||
activation). The live `SystemParametersInfo` apply changes a user setting, so it
|
||||
is gated behind config and not exercised by tests. ⏳ Optional: restore the prior
|
||||
wallpaper when going dormant.
|
||||
- **Wallpaper maker — done ✅.** `RioJoy.Tray/Editor/WallpaperMakerForm` (tray →
|
||||
"Wallpaper maker") is the interactive replacement for the Sheet → GIMP pipeline:
|
||||
it renders the profile's wallpaper live on the template base image, outlines all
|
||||
119 cells, and lets the user click any cell — including the heading/banner cells
|
||||
the button editor can't reach — to edit its text with debounced re-render.
|
||||
Clicking a stacked cell cycles through the regions at that pixel
|
||||
(`RioJoy.Core/Overlay/OverlayHitTester`, unit-tested — stacking is legitimate:
|
||||
the image feeds six chroma-split displays). Imports a legacy `.data` sheet row
|
||||
(game picker for multi-row sheets), exports the PNG, and can apply the desktop
|
||||
wallpaper immediately (same per-profile path the runtime uses). Prompts for and
|
||||
remembers `AppConfig.OverlayTemplatePath` on first use.
|
||||
- **Mapping editor — done ✅ (cockpit control-panel layout).**
|
||||
`RioJoy.Tray/Editor/ProfileEditorForm` shows the cockpit as a clickable control
|
||||
panel matching the **original Win32 RIO design** (docs/Win32RIO/, by FASA/Michel
|
||||
|
||||
Reference in New Issue
Block a user