restyleWorld
Give a world, a scene or an installed kit a new art style with styleKit, without breaking or losing anything.
restyleWorld
Give a world, a scene or an installed kit a new art style with styleKit, without breaking or losing anything.
What it does
- Survey. Reads what is there before changing anything: the scene's entities, the materials in use (toon, outlined, emissive, transparent, pixel-art), the lights and whether they change over time, the screen UI, particles, the player and other characters, world labels, colours that carry gameplay meaning, any stack already in place and the style blocks installed.
- Reference. Saves the unstyled presented frame under
/zero/source/tmp/restyle/<subject>/and turns the asked look (or a proposed one) into one block choice per slot. - Build. Builds the stack with one
StyleKit.loadcall using readable entry ids, so running it again replaces rather than duplicates. - Tune. Up to three rounds of comparing presented frames against the look and adjusting settings, strengths, mark scale and hold rate.
- Content. Handles what a full-frame block cannot: excluding world labels, a group mask so characters stay crisp, one owner for outlines on toon or outlined objects, material pieces such as
bandedToon(only when allowed), transparent things and particles, gameplay colours. - Check. UI and labels readable, gameplay colours kept, black stays black, no flashing above 3 Hz, the Lookbook's numbers for the new stack against the old one, and the low quality tier.
- Report. Answers with the look, the stack, every exclusion, group and mask, every material change with its old material and the call that restores it, the checks, the Lookbook numbers and how to remove it all.
It is non-destructive: styleKit edits no material, and the whole look comes off with StyleKit.clear() or by deleting the StyleStack entity. Material changes happen only when the run is started with allowMaterialChanges = true, and each is recorded with how to put the old material back.
What it needs
styleKit installed, with blocks to choose from (starterBlocks gives one in every slot). The Lookbook check uses lookbookKit when the world has it and says so when it does not.
Starting it
zero workflow start --name restyleWorld --args '{"subject":"main","look":"watercolour with crisp characters"}'
subject names the world, scene or kit (default: the loaded scene); look is the look in the asker's words (default: the run proposes one); allowMaterialChanges lets it change materials on chosen objects (default false).
Scoped to this part · feeds back into the world's score.