2026-06-04 01:57:19 +01:00
{
"commands" : [
{
"authority" : "browser-lowering" ,
"command" : "repixelizer.web.open" ,
"method" : "GET" ,
"route" : "/app/" ,
"surfaceId" : "repixelizer.operator.surface" ,
"transport" : "http"
} ,
{
"authority" : "repixelizer-route-policy" ,
"command" : "repixelizer.job.submit" ,
"method" : "POST" ,
"route" : "/api/jobs" ,
"surfaceId" : "repixelizer.operator.surface" ,
"transport" : "http"
} ,
{
"authority" : "repixelizer-job-owner" ,
"command" : "repixelizer.job.cancel_own" ,
"method" : "DELETE" ,
"route" : "/api/jobs/{job_id}" ,
"surfaceId" : "repixelizer.operator.surface" ,
"transport" : "http"
}
] ,
"loweringComparison" : {
"periwinkleAndroidKotlin" : {
"keeps" : [
"surface root traversal" ,
"pane/card/text hierarchy" ,
"TextView body content" ,
"basic ProgressBar metric rendering" ,
"node-bound command taps"
] ,
"losesUntilRendererParity" : [
"Press Start 2P and VT323 font selection" ,
"Repixelizer shell frame, scanlines, pixel grid, corner accents, and chunky border widths" ,
"landing/app image assets; current Android lowerer prints asset refs when images are not explicitly implemented" ,
"upload picker, comparison canvas, pan/zoom inspection, eyedropper, and paint controls" ,
"provider style tokens; current Kotlin toneColor/textColorFor/textSizeFor are hard-coded"
] ,
"minimumParityCuts" : [
"map surface.styles.tokens before toneColor/textColorFor/textSizeFor" ,
"add packaged pixel fonts or font download cache" ,
"render image assetUri/assetRef as ImageView with pixelated sampling" ,
"lower command controls to Android upload/document picker and job route calls"
] ,
"source" : "E:\\Projects\\Eve\\android\\app\\src\\main\\java\\org\\gamecult\\eve\\MainActivity.kt" ,
"status" : "surface-tree-renderer-present-style-token-gap"
}
} ,
"providerId" : "repixelizer" ,
"providerKind" : "repixelizer.product" ,
"runtime" : {
"auth" : {
"appSlug" : "repixelizer" ,
"enabled" : false ,
"loginUrl" : null ,
"logoutUrl" : null ,
"mode" : "off" ,
"protectQueue" : false ,
"required" : false
} ,
"hostedDemo" : false ,
"limits" : {
"defaultSteps" : 48 ,
"heartbeatIntervalSeconds" : 10 ,
"maxInputDimension" : 4096 ,
"maxOutputDimension" : 1024 ,
"maxSteps" : 256 ,
"maxUploadBytes" : 16777216 ,
"queueCapacity" : 32 ,
"staleAfterSeconds" : 30
} ,
"queue" : {
"activeStatus" : null ,
"hasActiveJob" : false ,
"queueCapacity" : 32 ,
"queueDepth" : 0 ,
"waitingCount" : 0
}
} ,
"schema" : "gamecult.eve.surface.v1" ,
"surface" : {
"id" : "repixelizer.operator.surface" ,
"root" : {
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.hero.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Force fake pixel art back onto a real grid, then inspect each solver step without sanding off the crunchy old-machine charm."
} ,
"role" : "body" ,
"text" : "Force fake pixel art back onto a real grid, then inspect each solver step without sanding off the crunchy old-machine charm."
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.hero.open.body" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Browser lowering remains the full interactive app until native Eve gains upload and canvas editing parity."
} ,
"role" : "body" ,
"text" : "Browser lowering remains the full interactive app until native Eve gains upload and canvas editing parity."
} ,
{
"children" : [ ] ,
"id" : "repixelizer.hero.open.route" ,
"kind" : "text" ,
"props" : {
"method" : "GET" ,
"role" : "mono" ,
"route" : "/app/" ,
"text" : "GET /app/"
} ,
"role" : "mono" ,
"text" : "GET /app/"
}
] ,
"commandId" : "repixelizer.web.open" ,
"id" : "repixelizer.hero.open" ,
"kind" : "card" ,
"props" : {
"commandId" : "repixelizer.web.open" ,
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Open demo" ,
"transport" : {
"kind" : "http" ,
"method" : "GET" ,
"route" : "/app/"
}
} ,
"role" : "group" ,
"style" : {
"tone" : "cool" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Open demo"
}
] ,
"id" : "repixelizer.hero" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Repixelizer hosted demo"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Repixelizer hosted demo"
} ,
2026-06-05 22:44:05 +01:00
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.product.pitch" ,
"kind" : "text" ,
"props" : {
"role" : "strong" ,
"text" : "You need pixel art for a project, but pixel art is a craft and your favorite AI is mostly vibes in a trench coat."
} ,
"role" : "strong" ,
"text" : "You need pixel art for a project, but pixel art is a craft and your favorite AI is mostly vibes in a trench coat."
} ,
{
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.product.input.image" ,
"kind" : "image.preview" ,
"props" : {
"aspectRatio" : "1/1" ,
"imageRendering" : "pixelated" ,
"label" : "AI-generated hazmat character before repixelizing" ,
"role" : "body" ,
"src" : "https://repixelizer.gamecult.org/app/landing-assets/character-input.png"
} ,
"role" : "body" ,
"text" : "AI-generated hazmat character before repixelizing"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.product.input.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Looks charming from orbit. Suspiciously charming."
} ,
"role" : "body" ,
"text" : "Looks charming from orbit. Suspiciously charming."
}
] ,
"id" : "repixelizer.product.input" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "The AI gives you this"
} ,
"role" : "group" ,
"style" : {
"tone" : "cool" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "The AI gives you this"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.product.closeup.image" ,
"kind" : "image.preview" ,
"props" : {
"aspectRatio" : "1/1" ,
"crop" : "42% 63%" ,
"imageRendering" : "pixelated" ,
"label" : "Zoomed close-up showing fake pixel-art artifacts" ,
"role" : "body" ,
"src" : "https://repixelizer.gamecult.org/app/landing-assets/character-input.png" ,
"zoom" : 3.45
} ,
"role" : "body" ,
"text" : "Zoomed close-up showing fake pixel-art artifacts"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.product.closeup.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Smears, half-cells, anti-grid nonsense. The crime scene has opinions."
} ,
"role" : "body" ,
"text" : "Smears, half-cells, anti-grid nonsense. The crime scene has opinions."
}
] ,
"id" : "repixelizer.product.closeup" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Then you zoom in"
} ,
"role" : "group" ,
"style" : {
"tone" : "cool" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Then you zoom in"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.product.output.image" ,
"kind" : "image.preview" ,
"props" : {
"aspectRatio" : "1/1" ,
"imageRendering" : "pixelated" ,
"label" : "Repixelized hazmat character output" ,
"role" : "body" ,
"src" : "https://repixelizer.gamecult.org/app/landing-assets/character-repixelized.png"
} ,
"role" : "body" ,
"text" : "Repixelized hazmat character output"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.product.output.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Real cells on a real lattice, ready for cleanup or export."
} ,
"role" : "body" ,
"text" : "Real cells on a real lattice, ready for cleanup or export."
}
] ,
"id" : "repixelizer.product.output" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Repixelizer spits out this"
} ,
"role" : "group" ,
"style" : {
"tone" : "cool" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Repixelizer spits out this"
}
] ,
"id" : "repixelizer.product.gallery" ,
"kind" : "partition" ,
"layout" : {
"direction" : "horizontal" ,
"gap" : 12
} ,
"props" : {
"gap" : 12 ,
"role" : "product.gallery" ,
"split" : "x"
} ,
"role" : "gallery"
}
] ,
"id" : "repixelizer.product.landing" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Hosted demo"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Hosted demo"
} ,
{
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.status" ,
"kind" : "status.stage" ,
"props" : {
"detail" : "Choose a file, then run the machine." ,
"label" : "Idle" ,
"role" : "body" ,
"stage" : "Waiting for input"
} ,
"role" : "body" ,
"text" : "Idle"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.input.canvas" ,
"kind" : "canvas.preview" ,
"props" : {
"label" : "Input" ,
"role" : "body" ,
"state" : "empty"
} ,
"role" : "body" ,
"text" : "Input"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.output.canvas" ,
"kind" : "canvas.preview" ,
"props" : {
"label" : "Output" ,
"role" : "body" ,
"state" : "empty"
} ,
"role" : "body" ,
"text" : "Output"
}
] ,
"id" : "repixelizer.workspace.compare" ,
"kind" : "partition" ,
"layout" : {
"direction" : "horizontal" ,
"gap" : 10
} ,
"props" : {
"gap" : 10 ,
"role" : "comparison" ,
"split" : "x"
} ,
"role" : "comparison"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.inspect.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Hold either preview to inspect both panels together."
} ,
"role" : "body" ,
"text" : "Hold either preview to inspect both panels together."
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.inspect.zoom" ,
"kind" : "input.select" ,
"props" : {
"label" : "Inspect Zoom" ,
"role" : "field" ,
"value" : "8x"
} ,
"role" : "field" ,
"text" : "Inspect Zoom"
}
] ,
"id" : "repixelizer.workspace.inspect" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Zoom"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Zoom"
}
] ,
"id" : "repixelizer.workspace.viewer" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Pipeline Stages"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Pipeline Stages"
} ,
{
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.reset" ,
"kind" : "control.button" ,
"props" : {
"commandId" : "repixelizer.editor.reset" ,
"label" : "Reset Output" ,
"role" : "command"
} ,
"role" : "command" ,
"text" : "Reset Output"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.export" ,
"kind" : "control.button" ,
"props" : {
"commandId" : "repixelizer.editor.export" ,
"label" : "Export PNG" ,
"role" : "command"
} ,
"role" : "command" ,
"text" : "Export PNG"
}
] ,
"id" : "repixelizer.workspace.editor.actions" ,
"kind" : "partition" ,
"layout" : {
"direction" : "horizontal" ,
"gap" : 8
} ,
"props" : {
"gap" : 8 ,
"role" : "toolbar" ,
"split" : "x"
} ,
"role" : "toolbar"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.swatch" ,
"kind" : "color.swatch" ,
"props" : {
"label" : "Paint" ,
"role" : "body" ,
"value" : "#ffffffff"
} ,
"role" : "body" ,
"text" : "Paint"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.paint.r" ,
"kind" : "input.number" ,
"props" : {
"label" : "R" ,
"role" : "field" ,
"value" : "255"
} ,
"role" : "field" ,
"text" : "R"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.paint.g" ,
"kind" : "input.number" ,
"props" : {
"label" : "G" ,
"role" : "field" ,
"value" : "255"
} ,
"role" : "field" ,
"text" : "G"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.paint.b" ,
"kind" : "input.number" ,
"props" : {
"label" : "B" ,
"role" : "field" ,
"value" : "255"
} ,
"role" : "field" ,
"text" : "B"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.paint.a" ,
"kind" : "input.number" ,
"props" : {
"label" : "A" ,
"role" : "field" ,
"value" : "255"
} ,
"role" : "field" ,
"text" : "A"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.zoom" ,
"kind" : "control.range" ,
"props" : {
"label" : "Zoom" ,
"max" : 32 ,
"min" : 4 ,
"role" : "field" ,
"value" : "12x"
} ,
"role" : "field" ,
"text" : "Zoom"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.grid" ,
"kind" : "control.toggle" ,
"props" : {
"label" : "Grid" ,
"role" : "body" ,
"value" : true
} ,
"role" : "body" ,
"text" : "Grid"
}
] ,
"id" : "repixelizer.workspace.paint" ,
"kind" : "partition" ,
"layout" : {
"direction" : "horizontal" ,
"gap" : 6
} ,
"props" : {
"gap" : 6 ,
"role" : "paint-controls" ,
"split" : "x"
} ,
"role" : "paint-controls"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.editor.canvas" ,
"kind" : "canvas.editor" ,
"props" : {
"label" : "Editable output canvas" ,
"role" : "body" ,
"state" : "empty"
} ,
"role" : "body" ,
"text" : "Editable output canvas"
}
] ,
"id" : "repixelizer.workspace.editor" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Pixel Fixes"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Pixel Fixes"
} ,
{
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.input.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Start with the ugly input."
} ,
"role" : "body" ,
"text" : "Start with the ugly input."
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.file" ,
"kind" : "input.file" ,
"props" : {
"accept" : "image/png,image/*" ,
"label" : "Choose File" ,
"role" : "body"
} ,
"role" : "body" ,
"text" : "Choose File"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.dropzone" ,
"kind" : "dropzone" ,
"props" : {
"label" : "PNG, sprite scrap, cursed logo. Whatever started this." ,
"role" : "body"
} ,
"role" : "body" ,
"text" : "PNG, sprite scrap, cursed logo. Whatever started this."
}
] ,
"id" : "repixelizer.workspace.input" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Input"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Input"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.target.size" ,
"kind" : "input.number" ,
"props" : {
"label" : "Target Size" ,
"role" : "field" ,
"value" : "auto"
} ,
"role" : "field" ,
"text" : "Target Size"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.target.width" ,
"kind" : "input.number" ,
"props" : {
"label" : "Target Width" ,
"role" : "field" ,
"value" : "auto"
} ,
"role" : "field" ,
"text" : "Target Width"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.target.height" ,
"kind" : "input.number" ,
"props" : {
"label" : "Target Height" ,
"role" : "field" ,
"value" : "auto"
} ,
"role" : "field" ,
"text" : "Target Height"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.steps" ,
"kind" : "input.number" ,
"props" : {
"label" : "Steps" ,
"role" : "field" ,
"value" : "48"
} ,
"role" : "field" ,
"text" : "Steps"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.run" ,
"kind" : "control.button" ,
"props" : {
"commandId" : "repixelizer.job.submit" ,
"label" : "Run The Machine" ,
"method" : "POST" ,
"role" : "command" ,
"route" : "/api/jobs"
} ,
"role" : "command" ,
"text" : "Run The Machine"
}
] ,
"id" : "repixelizer.workspace.controls" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Controls"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Controls"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.queue.depth" ,
"kind" : "metric" ,
"props" : {
"label" : "Queue" ,
"max" : 32 ,
"role" : "body" ,
"value" : 0
} ,
"role" : "body" ,
"text" : "Queue"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workspace.queue.worker" ,
"kind" : "metric" ,
"props" : {
"label" : "Worker" ,
"max" : 1 ,
"role" : "body" ,
"value" : 0
} ,
"role" : "body" ,
"text" : "Worker"
}
] ,
"id" : "repixelizer.workspace.queue" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Queue"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Queue"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workspace.lattice.copy" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "No lattice picked yet."
} ,
"role" : "body" ,
"text" : "No lattice picked yet."
}
] ,
"id" : "repixelizer.workspace.lattice" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Lattice"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Lattice"
}
] ,
"id" : "repixelizer.workspace.sidebar" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Run Controls"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Run Controls"
}
] ,
"id" : "repixelizer.workspace" ,
"kind" : "partition" ,
"layout" : {
"direction" : "horizontal" ,
"gap" : 12
} ,
"props" : {
"gap" : 12 ,
"role" : "repixelizer.workspace" ,
"split" : "x"
} ,
"role" : "workspace"
} ,
2026-06-04 01:57:19 +01:00
{
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workflow.submit.body" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "Submit a PNG/JPEG/WebP/GIF into the GUI job queue; queue ownership stays in repixelizer.gui."
} ,
"role" : "body" ,
"text" : "Submit a PNG/JPEG/WebP/GIF into the GUI job queue; queue ownership stays in repixelizer.gui."
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workflow.submit.route" ,
"kind" : "text" ,
"props" : {
"method" : "POST" ,
"role" : "mono" ,
"route" : "/api/jobs" ,
"text" : "POST /api/jobs"
} ,
"role" : "mono" ,
"text" : "POST /api/jobs"
}
] ,
"commandId" : "repixelizer.job.submit" ,
"id" : "repixelizer.workflow.submit" ,
"kind" : "card" ,
"props" : {
"commandId" : "repixelizer.job.submit" ,
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Upload image" ,
"transport" : {
"kind" : "http" ,
"method" : "POST" ,
"route" : "/api/jobs"
}
} ,
"role" : "group" ,
"style" : {
"tone" : "cool" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Upload image"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.inspect.source" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "source, edge map, lattice overlay, phase field, cleaned output"
} ,
"role" : "body" ,
"text" : "source, edge map, lattice overlay, phase field, cleaned output"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.inspect.canvas" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "comparison canvas and editor lower to native only after Periwinkle gets image/control parity"
} ,
"role" : "body" ,
"text" : "comparison canvas and editor lower to native only after Periwinkle gets image/control parity"
}
] ,
"id" : "repixelizer.workflow.inspect" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Inspect solver"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Inspect solver"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.workflow.cancel.body" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "The command intent delegates to the existing owner-bound DELETE route."
} ,
"role" : "body" ,
"text" : "The command intent delegates to the existing owner-bound DELETE route."
} ,
{
"children" : [ ] ,
"id" : "repixelizer.workflow.cancel.route" ,
"kind" : "text" ,
"props" : {
"method" : "DELETE" ,
"role" : "mono" ,
"route" : "/api/jobs/{job_id}" ,
"text" : "DELETE /api/jobs/{job_id}"
} ,
"role" : "mono" ,
"text" : "DELETE /api/jobs/{job_id}"
}
] ,
"commandId" : "repixelizer.job.cancel_own" ,
"id" : "repixelizer.workflow.cancel" ,
"kind" : "card" ,
"props" : {
"commandId" : "repixelizer.job.cancel_own" ,
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Cancel own job" ,
"transport" : {
"kind" : "http" ,
"method" : "DELETE" ,
"route" : "/api/jobs/{job_id}"
}
} ,
"role" : "group" ,
"style" : {
"tone" : "cool" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Cancel own job"
}
] ,
"id" : "repixelizer.workflow" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Single page app"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Single page app"
} ,
{
"children" : [
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.runtime.hosted" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "hostedDemo: False"
} ,
"role" : "mono" ,
"text" : "hostedDemo: False"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.runtime.steps" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "defaultSteps: 48 maxSteps: 256"
} ,
"role" : "mono" ,
"text" : "defaultSteps: 48 maxSteps: 256"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.runtime.dimensions" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "maxOutputDimension: 1024px"
} ,
"role" : "mono" ,
"text" : "maxOutputDimension: 1024px"
}
] ,
"id" : "repixelizer.runtime.config" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Runtime"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Runtime"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.queue.depth" ,
"kind" : "text" ,
"props" : {
"role" : "strong" ,
"text" : "0 active or waiting / 32 capacity"
} ,
"role" : "strong" ,
"text" : "0 active or waiting / 32 capacity"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.queue.waiting" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "waitingCount: 0"
} ,
"role" : "mono" ,
"text" : "waitingCount: 0"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.queue.active" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "hasActiveJob: False"
} ,
"role" : "mono" ,
"text" : "hasActiveJob: False"
}
] ,
"id" : "repixelizer.runtime.queue" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Queue"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Queue"
} ,
{
"children" : [
{
"children" : [ ] ,
"id" : "repixelizer.auth.mode" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "mode: off"
} ,
"role" : "mono" ,
"text" : "mode: off"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.auth.required" ,
"kind" : "text" ,
"props" : {
"role" : "mono" ,
"text" : "required: False"
} ,
"role" : "mono" ,
"text" : "required: False"
} ,
{
"children" : [ ] ,
"id" : "repixelizer.auth.providers" ,
"kind" : "text" ,
"props" : {
"role" : "body" ,
"text" : "providers: none"
} ,
"role" : "body" ,
"text" : "providers: none"
}
] ,
"id" : "repixelizer.runtime.auth" ,
"kind" : "card" ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Access"
} ,
"role" : "group" ,
"style" : {
"tone" : "panel" ,
"variant" : "repixelizer-retro-card"
} ,
"text" : "Access"
}
] ,
"id" : "repixelizer.runtime" ,
"kind" : "pane" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 10
} ,
"props" : {
"styleProfile" : "repixelizer.retro.pixel" ,
"title" : "Live projection"
} ,
"role" : "section" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-pane"
} ,
"text" : "Live projection"
}
] ,
"id" : "repixelizer.surface.root" ,
"kind" : "surface" ,
"layout" : {
"direction" : "vertical" ,
"padding" : 14
} ,
"props" : {
"browserLowering" : "https://repixelizer.gamecult.org/app/" ,
"frontPage" : "https://repixelizer.gamecult.org/" ,
"styleProfile" : "repixelizer.retro.pixel" ,
"subtitle" : "Fake pixel art goes in. Real grid-aligned sprite art comes out." ,
"title" : "Repixelizer"
} ,
"role" : "root" ,
"style" : {
"tone" : "warm" ,
"variant" : "repixelizer-retro-shell"
} ,
"text" : "Repixelizer"
} ,
"schema" : "gamecult.eve.surface.v1" ,
"styles" : {
"assets" : {
"appUrl" : "https://repixelizer.gamecult.org/app/" ,
"fontCss" : "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap" ,
"landingInput" : "https://repixelizer.gamecult.org/app/landing-assets/character-input.png" ,
"landingOutput" : "https://repixelizer.gamecult.org/app/landing-assets/character-repixelized.png"
} ,
"loweringHints" : {
"android-native" : "Load packaged or downloadable Press Start 2P and VT323 fonts, map style tokens before hard-coded tones, and render asset images instead of asset labels." ,
"css" : "Use the tokens as CSS custom properties and retain scanline/pixel-grid overlays." ,
"tui" : "Preserve title/body font distinction as role metadata; canvas editing lowers to artifact refs and command intents only."
} ,
"profile" : "repixelizer.retro.pixel" ,
"tokens" : {
"borderBottomWidthPx" : 5 ,
"borderWidthPx" : 4 ,
"buttonGlyph" : ">" ,
"colorAccent" : "#ffd84a" ,
"colorAccentStrong" : "#ffae1a" ,
"colorBackgroundBottom" : "#01050d" ,
"colorBackgroundMid" : "#020813" ,
"colorBackgroundTop" : "#01040b" ,
"colorCornerAccent" : "#ffb72a" ,
"colorMuted" : "#d3bb7f" ,
"colorPanel" : "#0a2239" ,
"colorPanelAlt" : "#061627" ,
"colorPanelBorder" : "#0a2740" ,
"colorPanelBorderDeep" : "#06192a" ,
"colorPixelGrid" : "rgba(0, 0, 0, 0.3)" ,
"colorShadow" : "rgba(0, 0, 0, 0.55)" ,
"colorShellSurfaceBottom" : "#030b16" ,
"colorShellSurfaceTop" : "#061424" ,
"colorText" : "#efe5c9" ,
"colorTextBright" : "#f7efd8" ,
"cornerAccentPx" : 12 ,
"dashedInnerFrame" : true ,
"fontBody" : "\"VT323\", \"Courier New\", monospace" ,
"fontMono" : "\"VT323\", \"Courier New\", monospace" ,
"fontTitle" : "\"Press Start 2P\", \"VT323\", monospace" ,
"imageRendering" : "pixelated" ,
"scanlineOverlay" : true
}
} ,
"title" : "Repixelizer"
} ,
"title" : "Repixelizer" ,
"type" : "surface-state" ,
2026-06-05 22:44:05 +01:00
"updatedAt" : "2026-06-05T00:00:00Z" ,
2026-06-04 01:57:19 +01:00
"version" : 1
}