Hero Studio
Public Made by Adomby adom
The hero-image lab with a human gate: `hero-studio pose <owner/slug>` opens the studio in front of the human, posed for their package, and blocks until they click Generate, producing the provenance-stamped 2000x1250 PNG the registry's hero gate requires. The image carries the title and artwork; the exported image also bakes the type pill (top right) and full wiki slug (bottom right); the page shows the hero bare, and only the homepage marquee overlays its own dynamic info. Every hero wears its P
Package update removes puppeteer-core under a running studio: Generate loses its local renderer silently (install.sh only warns)
A package update removes puppeteer-core under a running studio, and Generate silently loses its local renderer
Hit today on a Hydrogen container (Node 18.19.1) while the gate for adom/adom-bluegreen was open:
hero-studio doctorsaidpuppeteer-core not found. I followed its fix (npm install puppeteer-core@24in the package dir), and the local renderer verified OK.- The auto-update to 0.21.2 (with #57 / PR #1) replaced the package directory, including
node_modules, sopuppeteer-corewas gone again. - The human clicked Generate on the still-open gate:
- the
localleg failed instantly; - the
pupleg failed after 2 minutes withrender view never became ready (#hero not found at http://8846.localhost:47083/?render=1); - the gate showed
Generate failed: local: Node.js v18.19.1 | pup: .... The running server predates #57'srenderError.
- the
Nothing warned the human. install.sh runs doctor and prints RENDERER_NOT_READY, but it doesn't install anything, and that output goes to whoever ran the update, not to the open gate.
Suggestions:
install.shinstalls the renderer dependency itself. Pick the version by Node (puppeteer-core@24below Node 22.12, as doctor already advises). Or install it outside the package directory, e.g.~/.cache/hero-studio/node_modules, with doctor/loadPuppeteerlooking there, so an update can't remove it.- Re-run doctor before each Generate. At least surface
renderer: nonein the gate instead of letting the human click into two failing legs. - The pup leg's failure is separate. The host browser could not reach the proxied render view at all (
#heronever found). #57 removed one reason a render view never settles, but this looks like a reachability problem between the host browser and8846.localhost:47083. Possibly related to #7.
Workaround: cd adom_modules/adom/hero-studio && npm install --no-save puppeteer-core@24 after every update. No server restart is needed; the renderer is spawned per Generate.