[{"data":1,"prerenderedAt":356},["ShallowReactive",2],{"navigation_docs":3,"-reference-stages-files":148,"-reference-stages-files-surround":351},[4,21,62,108],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":20},"Tutorials","i-lucide-graduation-cap","\u002Ftutorials","1.tutorials",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Your first texture","\u002Ftutorials\u002Ffirst-texture","1.tutorials\u002F1.first-texture","i-lucide-sprout",{"title":16,"path":17,"stem":18,"icon":19},"Grow a crop through its stages","\u002Ftutorials\u002Fgrowth-stages","1.tutorials\u002F2.growth-stages","i-lucide-wheat",false,{"title":22,"icon":23,"path":24,"stem":25,"children":26,"page":20},"How-to guides","i-lucide-wrench","\u002Fhow-to","2.how-to",[27,32,37,42,47,52,57],{"title":28,"path":29,"stem":30,"icon":31},"Install TextureScript","\u002Fhow-to\u002Finstall","2.how-to\u002F1.install","i-lucide-download",{"title":33,"path":34,"stem":35,"icon":36},"Compare a crop with vanilla","\u002Fhow-to\u002Fcompare-with-vanilla","2.how-to\u002F2.compare-with-vanilla","i-lucide-columns-2",{"title":38,"path":39,"stem":40,"icon":41},"Connect an agent","\u002Fhow-to\u002Fconnect-an-agent","2.how-to\u002F3.connect-an-agent","i-lucide-bot",{"title":43,"path":44,"stem":45,"icon":46},"Hand-edit a growth stage","\u002Fhow-to\u002Fhand-edit-a-stage","2.how-to\u002F4.hand-edit-a-stage","i-lucide-pencil",{"title":48,"path":49,"stem":50,"icon":51},"Turn a PNG into a grid","\u002Fhow-to\u002Fimport-a-png","2.how-to\u002F5.import-a-png","i-lucide-file-image",{"title":53,"path":54,"stem":55,"icon":56},"Prove a fix stayed in its region","\u002Fhow-to\u002Fprove-a-fix","2.how-to\u002F6.prove-a-fix","i-lucide-diff",{"title":58,"path":59,"stem":60,"icon":61},"Keep game assets out of git","\u002Fhow-to\u002Fkeep-game-assets-out","2.how-to\u002F7.keep-game-assets-out","i-lucide-shield-check",{"title":63,"icon":64,"path":65,"stem":66,"children":67,"page":20},"Reference","i-lucide-book-open","\u002Freference","3.reference",[68,73,78,83,88,93,98,103],{"title":69,"path":70,"stem":71,"icon":72},"Commands","\u002Freference\u002Fcommands","3.reference\u002F1.commands","i-lucide-terminal",{"title":74,"path":75,"stem":76,"icon":77},"Palette files","\u002Freference\u002Fpalette-files","3.reference\u002F2.palette-files","i-lucide-palette",{"title":79,"path":80,"stem":81,"icon":82},"Grid files","\u002Freference\u002Fgrid-files","3.reference\u002F3.grid-files","i-lucide-grid-3x3",{"title":84,"path":85,"stem":86,"icon":87},"Stages files","\u002Freference\u002Fstages-files","3.reference\u002F4.stages-files","i-lucide-layers",{"title":89,"path":90,"stem":91,"icon":92},"Scene files","\u002Freference\u002Fscene-files","3.reference\u002F5.scene-files","i-lucide-box",{"title":94,"path":95,"stem":96,"icon":97},"Lint rules","\u002Freference\u002Flint-rules","3.reference\u002F6.lint-rules","i-lucide-list-checks",{"title":99,"path":100,"stem":101,"icon":102},"MCP server","\u002Freference\u002Fmcp-server","3.reference\u002F7.mcp-server","i-lucide-plug",{"title":104,"path":105,"stem":106,"icon":107},"Environment","\u002Freference\u002Fenvironment","3.reference\u002F8.environment","i-lucide-settings",{"title":109,"icon":110,"path":111,"stem":112,"children":113,"page":20},"Explanation","i-lucide-lightbulb","\u002Fexplanation","4.explanation",[114,119,123,128,133,138,143],{"title":115,"path":116,"stem":117,"icon":118},"Textures as text","\u002Fexplanation\u002Ftextures-as-text","4.explanation\u002F1.textures-as-text","i-lucide-type",{"title":120,"path":121,"stem":122,"icon":77},"Colour from two anchors","\u002Fexplanation\u002Fcolour","4.explanation\u002F2.colour",{"title":124,"path":125,"stem":126,"icon":127},"Measured conventions","\u002Fexplanation\u002Fmeasured-conventions","4.explanation\u002F3.measured-conventions","i-lucide-ruler",{"title":129,"path":130,"stem":131,"icon":132},"Growth stages as maps","\u002Fexplanation\u002Fgrowth-stages","4.explanation\u002F4.growth-stages","i-lucide-chart-no-axes-column-increasing",{"title":134,"path":135,"stem":136,"icon":137},"The 3D view","\u002Fexplanation\u002Fthe-3d-view","4.explanation\u002F5.the-3d-view","i-lucide-rotate-3d",{"title":139,"path":140,"stem":141,"icon":142},"No game assets","\u002Fexplanation\u002Fno-game-assets","4.explanation\u002F6.no-game-assets","i-lucide-shield",{"title":144,"path":145,"stem":146,"icon":147},"Architecture","\u002Fexplanation\u002Farchitecture","4.explanation\u002F7.architecture","i-lucide-boxes",{"id":149,"title":84,"body":150,"description":344,"extension":345,"links":346,"meta":347,"navigation":348,"path":85,"seo":349,"stem":86,"__hash__":350},"docs\u002F3.reference\u002F4.stages-files.md",{"type":151,"value":152,"toc":337},"minimark",[153,157,169,176,181,274,278,285,289,316,320],[154,155,156],"p",{},"A stages file names a crop's mature grids and says when each pixel appears.",[158,159,166],"pre",{"className":160,"code":162,"filename":163,"language":164,"meta":165},[161],"language-text","# corn growth stages, derived from the mature plant\npalette corn.palette\ngrid lower mature\u002Flower.grid\ngrid upper mature\u002Fupper.grid\nstages 8\nshift 0 +2\nshift 1 +2\nshift 2 +1\nshift 3 +1\nmap lower\n.......55.......\n...             (16 rows)\nmap upper\n.....7.77.7.....\n...             (16 rows)\n","corn.stages","text","",[167,168,162],"code",{"__ignoreMap":165},[154,170,171,172,175],{},"Paths are relative to the stages file. Lines starting with ",[167,173,174],{},"#"," are comments.",[177,178,180],"h2",{"id":179},"directives","Directives",[182,183,184,197],"table",{},[185,186,187],"thead",{},[188,189,190,194],"tr",{},[191,192,193],"th",{},"directive",[191,195,196],{},"meaning",[198,199,200,214,231,241,251,261],"tbody",{},[188,201,202,208],{},[203,204,205],"td",{},[167,206,207],{},"palette FILE",[203,209,210,211],{},"the family palette; required for ",[167,212,213],{},"shift",[188,215,216,225],{},[203,217,218,221,222],{},[167,219,220],{},"grid lower FILE",", ",[167,223,224],{},"grid upper FILE",[203,226,227,228],{},"the mature grid of each half; a single-block crop has only ",[167,229,230],{},"lower",[188,232,233,238],{},[203,234,235],{},[167,236,237],{},"stages N",[203,239,240],{},"number of stages, 1 to 10; default 8",[188,242,243,248],{},[203,244,245],{},[167,246,247],{},"shift STAGE ±K",[203,249,250],{},"at that stage, draw every pixel K shades lighter (+) or darker (−) within its material",[188,252,253,258],{},[203,254,255],{},[167,256,257],{},"recolour STAGE FROM TO",[203,259,260],{},"up to and including that stage, draw key FROM as key TO, before shifting",[188,262,263,271],{},[203,264,265,221,268],{},[167,266,267],{},"map lower",[167,269,270],{},"map upper",[203,272,273],{},"followed by 16 rows: the stage map of that half",[177,275,277],{"id":276},"stage-maps","Stage maps",[154,279,280,281,284],{},"A map is a 16×16 grid in which every opaque pixel of the mature grid carries the digit of the\nfirst stage it appears in, and every transparent pixel is ",[167,282,283],{},".",". It must label exactly the mature\npixels. A pixel labelled 3 is drawn at stages 3 and later.",[177,286,288],{"id":287},"rules","Rules",[290,291,292,300,303,306,313],"ul",{},[293,294,295,296,299],"li",{},"Stages are numbered from 0 to ",[167,297,298],{},"stages"," − 1.",[293,301,302],{},"Every stage must have pixels in its lower half. An empty upper half is normal: the plant is one\nblock tall at that stage.",[293,304,305],{},"The upper half's bottom-row opaque columns must be a subset of the lower half's top row at\nevery stage (the seam).",[293,307,308,309,312],{},"A shift that collapses a ramp into one shade is reported; use ",[167,310,311],{},"+1"," on four-shade ramps.",[293,314,315],{},"Shift and recolour errors are refused before anything is written.",[177,317,319],{"id":318},"output","Output",[154,321,322,325,326,329,330,333,334,283],{},[167,323,324],{},"texturescript stages FILE.stages OUT_DIR"," writes ",[167,327,328],{},"OUT_DIR\u002FstageN\u002Flower.*"," and ",[167,331,332],{},"upper.*"," (grid,\nPNG, ×16 preview, ASCII) for every stage, and ",[167,335,336],{},"OUT_DIR\u002Fstrip.png",{"title":165,"searchDepth":338,"depth":338,"links":339},2,[340,341,342,343],{"id":179,"depth":338,"text":180},{"id":276,"depth":338,"text":277},{"id":287,"depth":338,"text":288},{"id":318,"depth":338,"text":319},"The .stages format that derives a crop's growth stages from its mature grids.","md",null,{},{"icon":87},{"title":84,"description":344},"JiXYaCS1_mfix9SdIp3-v7xYSlun947CluUEKlP1Kds",[352,354],{"title":79,"path":80,"stem":81,"description":353,"icon":82,"children":-1},"The .grid format, a palette section plus 16 rows of 16 keys.",{"title":89,"path":90,"stem":91,"description":355,"icon":92,"children":-1},"The TOML scene format used by view, shoot and the MCP shoot tool.",1791722218931]