Files
CydandClaude Fable 5 198b73eb96 Deploy: freeze the render bridge to renderer.exe -- archive is now complete
render-bridge/freeze.ps1: PyInstaller onefile of live_bridge.py + Dave's
vrboard/vrview/vrview_gl (+glcontext collected for moderngl) -> dist\
renderer.exe (~33 MB). GL backend live-verified from a pure-dist launch
(no --root/--renderer overrides) on 2026-07-10. package.ps1 bundles the
frozen exe automatically when present; DEPLOYMENT-PLAN's renderer OPEN
item is resolved. Ignore the build-artifact dirs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 23:57:14 -05:00

25 lines
1.3 KiB
PowerShell

# freeze.ps1 -- PyInstaller onefile of live_bridge.py -> dist\renderer.exe,
# the deployable render bridge (package.ps1 bundles it automatically when
# present). pod-launch invokes it as: renderer.exe tcp:8621 <live.fifodump>.
#
# Needs the Windows CPython (py -3.13) with the render-bridge wheels plus
# pyinstaller: py -3.13 -m pip install numpy pygame-ce moderngl pillow pyinstaller
#
# Dave's modules (vrboard/vrview/vrview_gl) come from ..\..\dpl3-revive\patha
# and are baked into the exe; _backend's runtime sys.path insert becomes a
# harmless no-op in the frozen build. glcontext is moderngl's dynamically
# imported binary backend -- PyInstaller misses it without --collect-all.
# First frozen + live-verified (GL backend) 2026-07-10.
$ErrorActionPreference = 'Stop'
Set-Location $PSScriptRoot
py -3.13 -m PyInstaller --onefile --noconsole --name renderer `
--paths ..\..\dpl3-revive\patha `
--hidden-import vrview_gl --hidden-import vrview --hidden-import vrboard `
--collect-all glcontext `
--distpath .\dist `
--workpath (Join-Path $env:TEMP 'pyi-renderer') `
--specpath (Join-Path $env:TEMP 'pyi-renderer') `
live_bridge.py
if ($LASTEXITCODE -ne 0) { throw "PyInstaller failed" }
Write-Host "[freeze] dist\renderer.exe ready ($('{0:N1} MB' -f ((Get-Item .\dist\renderer.exe).Length / 1MB)))"