← Commit history

Publish 0.21.4

Colby Knox ·49b5664054 ·27d ago ·parent ab153b6
5 files changed +12−6
SKILL.md+1−1
@@ -568,7 +568,7 @@ Tests: `npm run test:brand` (node test/brand.mjs) runs every status, the can_edit refusal, the confirm push body, and the four provenance fields against a stub registry, so nothing here is verified by writing to a real owner's guide.-`npm run test:render` (node test/render-view.mjs) starts a real server, opens+`npm test` runs every suite, starting with `npm run test:syntax` (node --check over every shipped script, public/js included; a page script that fails to parse leaves the surface blank and compose rendering the generic mock, hero-studio#59). `npm run test:render` (node test/render-view.mjs) starts a real server, opens a surface at one width and the render view at another, and asserts the render view POSTs no state, reaches networkidle2, and that a renderer's error line is reported instead of Node's version footer (hero-studio#57). The render view
install.sh

  
package.json+5−2
@@ -2,7 +2,7 @@   "slug": "hero-studio",   "title": "Hero Studio",   "type": "app",-  "version": "0.21.3",+  "version": "0.21.4",   "description": "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 PAGE OWNER's brand guide (<owner>/brand): colors, type, logo and background themes, Adom's included; an unresolved guide holds unbranded rather than borrowing Adom's look. Placement is fixed for all. The floating app window is the showcase: it auto-loads a real screenshot from the package's wiki page (screenshots/, docs/), takes a manual import, or a full-hero import (the human-ratified re-stamp path for existing heroes). The pose gate opens in verification mode: per-item checklist (title, subtitle, showcase, type match) and a Generate that unlocks only fully confirmed. Includes showcase bleeds, brand tile themes, gradient angles, pixel-faithful wiki marquee and index-card previews, and a component-hero mode with a photo/raytrace/phong fallback ladder.",   "license": "MIT",   "tags": [@@ -66,7 +66,10 @@     "uninstall": "./uninstall.sh",     "test:brand": "node test/brand.mjs",     "test:render": "node test/render-view.mjs",-    "test:renderer": "node test/renderer.mjs"+    "test:renderer": "node test/renderer.mjs",+    "test:syntax": "node test/syntax.mjs",+    "test": "node test/syntax.mjs && node test/brand.mjs && node test/render-view.mjs && node test/renderer.mjs",+    "prepublishOnly": "node test/syntax.mjs"   },   "needs_sudo": false,   "hero": {
page.json+5−2
@@ -2,7 +2,7 @@   "slug": "hero-studio",   "title": "Hero Studio",   "type": "app",-  "version": "0.21.3",+  "version": "0.21.4",   "description": "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 PAGE OWNER's brand guide (<owner>/brand): colors, type, logo and background themes, Adom's included; an unresolved guide holds unbranded rather than borrowing Adom's look. Placement is fixed for all. The floating app window is the showcase: it auto-loads a real screenshot from the package's wiki page (screenshots/, docs/), takes a manual import, or a full-hero import (the human-ratified re-stamp path for existing heroes). The pose gate opens in verification mode: per-item checklist (title, subtitle, showcase, type match) and a Generate that unlocks only fully confirmed. Includes showcase bleeds, brand tile themes, gradient angles, pixel-faithful wiki marquee and index-card previews, and a component-hero mode with a photo/raytrace/phong fallback ladder.",   "license": "MIT",   "tags": [@@ -66,7 +66,10 @@     "uninstall": "./uninstall.sh",     "test:brand": "node test/brand.mjs",     "test:render": "node test/render-view.mjs",-    "test:renderer": "node test/renderer.mjs"+    "test:renderer": "node test/renderer.mjs",+    "test:syntax": "node test/syntax.mjs",+    "test": "node test/syntax.mjs && node test/brand.mjs && node test/render-view.mjs && node test/renderer.mjs",+    "prepublishOnly": "node test/syntax.mjs"   },   "needs_sudo": false,   "hero": {
public/js/app.js+1−1
@@ -257,7 +257,7 @@ function renderRendererLine() {   if (rs) {     if (rs.local.ok) txt = 'renderer: local headless Chrome in this container';     else if (rs.pup.ok) txt = 'renderer: host browser via pup (local ' + rs.local.why + '; for full fidelity: ' + rs.local.fix + ')';-    else txt = 'RENDERER NOT READY, Generate will fail: ' + rs.local.why + '; pup fallback: ' + rs.pup.why + '. Fix: ' + (rs.local.fix || 'hero-studio doctor') + ';+    else txt = 'RENDERER NOT READY, Generate will fail: ' + rs.local.why + '; pup fallback: ' + rs.pup.why + '. Fix: ' + (rs.local.fix || 'hero-studio doctor');     if (rs.onDisk) txt += ' | hero-studio ' + rs.onDisk + ' is installed on disk; this studio runs ' + rs.running + ': restart it to pick up the update';   }   // the classic panel line always says what will render