{"schemaVersion":1,"materialContractVersion":2,"gameVersion":"v1.5","taskId":"20260917-113411-logistics-logo-highlight-45442dfe","building":"grid_belt_01_left","requiresBaseContract":2,"resources":{"dynamic/conveyor.left.mapping":{"file":"conveyor-left-mapping.webp","width":64,"height":64,"rect":[0,0,128,128],"colorSpace":"linear-data","alpha":"straight","filter":"nearest","wrap":"clamp","geometry":"conveyor-left-mapping.json","encoding":"Decoded bytes: across=R/255; along=(G*256+B)/65535; coverage=A/255; no premultiplication or color conversion","semantic":"conveyor.left.mapping","namespace":"dynamic","sha256":"ed2e2565dc31ba3e5558d2d16a41abd6a5181a9ae0879a1de69b189a7d860e91","resolution":0.5},"dynamic/conveyor.arrow":{"file":"conveyor-arrow.webp","width":1024,"height":128,"rect":[0,0,2048,256],"colorSpace":"linear-data","alpha":"straight","filter":"linear","wrap":"repeat","uvOrigin":"bottom-left","sourceTexture":"T_fac_com_conveyorarrow_atlas","semantic":"conveyor.arrow","namespace":"dynamic","sha256":"3b71ca22c424ad491b12b8b5c8407980a5dc11cddde2a0843ac04709fc4d7ea6","resolution":0.5},"dynamic/conveyor.highlight":{"file":"conveyor-highlight.webp","width":128,"height":128,"rect":[0,0,256,256],"colorSpace":"linear-data","alpha":"straight","filter":"linear","wrap":"repeat","uvOrigin":"bottom-left","sourceTexture":"T_flow_06_clockwise","semantic":"conveyor.highlight","namespace":"dynamic","sha256":"3105cb6fc71755a2da609007d52818d44c38bb4a764e6c311883405dd426b301","resolution":0.5}},"shapes":{"left":{"pivotPixels":[64,64],"canvasCells":[1,1],"entry":[0.5,0],"exit":[0,0.5],"entryDirection":[0,1],"exitDirection":[-1,0],"phaseSpan":1,"staticArrowPhase":-0.0029871862169272845,"staticArrowCenterAlong":0.5,"appearanceRevision":"gold-glow-20260910","composition":"Use static alone, or base + arrow/dynamic overlay. Optional surface + edge-glow + edge-core replaces base; never double-stack base and its components.","staticArrowPhaseSource":"Shared animation phase: thresholded original atlas cell-0 intensity centroid at along=.5; no per-shape offset","phaseStatus":"One unit per grid piece; normalized polar corner preview, not recovered live conveyor mapping","sourceId":"grid_belt_01_left"}},"parameters":{"arrowSpeed":1,"timeOffset":1,"flowSpeed":1.25,"arrowSpace":1,"flowSpace":0.27,"source":"ECS initialization/material values; not live runtime capture","clock":"Shared route elapsed time; both independent effects continue across segment boundaries"},"resourceNamespace":"dynamic","materialSpecification":"material-computation.json","migrationFromContract1":{"conveyor.left.mapping":"dynamic/conveyor.left.mapping","conveyor.arrow":"dynamic/conveyor.arrow","conveyor.highlight":"dynamic/conveyor.highlight"},"textureProfile":{"id":"grid-textures-v1","pixelsPerCell":64,"logicalPixelsPerCell":128,"resolution":0.5,"coordinates":"logical pixels; physicalRect and image dimensions are physical pixels","colorFilter":"premultiplied-alpha 2x2 box","dataFilter":"nearest packed height/flow coordinates; channel box continuous fields"}}
