59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
# Rayforge Windows GUI preflight
|
|
|
|
- Date: 2026-10-19
|
|
- Scope: isolated no-device launch prerequisite check
|
|
- Transport: none
|
|
- Installation performed: no
|
|
|
|
## Result
|
|
|
|
The pinned Rayforge source and the external no-device JCZ addon are present,
|
|
but the current test environment cannot launch Rayforge's GTK application.
|
|
The observed launch failure is:
|
|
|
|
```text
|
|
ModuleNotFoundError: No module named 'gi'
|
|
```
|
|
|
|
Rayforge's Windows development path expects an MSYS2 UCRT64 installation,
|
|
`PyGObject`, GTK4 and Libadwaita. Neither `C:\msys64\msys2_shell.cmd` nor the
|
|
checkout's generated `.msys2_env` is present. The lightweight Python venv used
|
|
for the transport-free encoder spikes therefore cannot substitute for the GUI
|
|
runtime.
|
|
|
|
The deterministic preflight result is stored in
|
|
`tests/fixtures/rayforge-windows-gui-preflight.json`. It deliberately reports
|
|
the manual GUI checkpoint as blocked rather than treating source/model tests
|
|
as a successful application launch.
|
|
|
|
## Safety and scope
|
|
|
|
The attempted instance used an isolated configuration directory and contained
|
|
only the external no-device addon. The addon has no discovery or transport
|
|
implementation. No USB endpoint or controller command was reached.
|
|
|
|
No dependency or runtime was installed. Installing Rayforge's full Windows
|
|
toolchain is a separate, reviewable action: upstream's setup includes MSYS2,
|
|
GTK, compiler/build packages and network downloads, so it should not be an
|
|
implicit side effect of a workflow test.
|
|
|
|
## On-demand source and build policy
|
|
|
|
The public repository records the upstream URL and exact commit in
|
|
`upstreams/rayforge.json`. `scripts/prepare_rayforge_build.ps1` fetches that
|
|
revision into the ignored `.build/upstreams/` cache only when explicitly
|
|
invoked. Its default action prepares source only; it neither installs the
|
|
Windows toolchain nor starts a build.
|
|
|
|
The repository scripts do not install Windows dependencies. Bundle creation
|
|
requires the explicit `-BuildWindowsBundle` switch and an already reviewed,
|
|
prepared runtime. This keeps a multi-gigabyte MSYS2/UCRT64 toolchain out of
|
|
normal clone, test and documentation workflows and makes a CI-produced bundle
|
|
the preferred interaction-test input.
|
|
|
|
## Next action
|
|
|
|
Produce or obtain an artifact for the pinned revision through the explicit
|
|
on-demand build path, then rerun the preflight and perform the packaged
|
|
no-device interaction checklist from `rayforge-graphical-workflow-spike.md`.
|
|
Do not make the Windows build toolchain an implicit project dependency.
|