{"params":{"colorway":{"type":"choice","default":"nyc-yellow","label":"Colorway","describe":"curated kit-coherent scheme; sets the casting paint, the near-black lens trim and the pedestrian walk panel together. nyc-yellow is the kit's registered yellow and the colour a New York signal actually wears; municipal-green is the kit's shipped street-furniture green of the reference images; gotham-black is a warm near-black cast iron; granite-grey is a plain galvanised municipal grey. The three round signal lenses never change across colorways \u2014 a traffic lens is colour-coded by law.","options":["nyc-yellow","municipal-green","gotham-black","granite-grey"]},"paint":{"type":"color","default":"#e8a825","label":"Paint","describe":"albedo of the entire painted casting \u2014 base plate, mast, every mounting collar, the cross-arm and its cap, all three housing shells, the hood shells and the pedestrian lip. Roughly 80% of the visible surface; this is the colour the signal is recognised by at street distance."},"dark":{"type":"color","default":"#211f1d","label":"Lens trim","describe":"albedo of the proud ring around each round lens and of the inside of every hood. Keep it far darker than the paint or the rings stop separating the lenses from the housing and each head reads as a flat panel with stickers on it."},"stop":{"type":"color","default":"#b63735","label":"Stop lens","describe":"albedo of the TOP round lens on BOTH signal heads and of the lower pedestrian panel \u2014 one zone, because all of them are the same red stop signal and must always change together. Deep red glass by day; `night` burns it bright."},"amber":{"type":"color","default":"#cf7a15","label":"Caution lens","describe":"albedo of the MIDDLE round lens on both heads. Deliberately a deeper, oranger amber than the yellow casting: on the default colorway a lens the same yellow as the housing would vanish into it."},"go":{"type":"color","default":"#2e8a5a","label":"Go lens","describe":"albedo of the BOTTOM round lens on both heads. Must stay clearly greener and darker than the casting or the lowest lens disappears into the housing."},"walk":{"type":"color","default":"#ece5d3","label":"Walk panel","describe":"albedo of the UPPER pedestrian panel \u2014 the pale walk signal. Keep it the lightest zone on the asset; a mid tone sinks into the yellow housing around it."},"mastHeight":{"type":"range","default":1,"label":"Mast height","describe":"stretches ONLY the plain shaft between the base plate and the pedestrian head; every head, collar and the cross-arm keep their size and ride up together. Total height runs 4.48 m (a low side-street signal) to 5.52 m (an avenue mast).","affects":"geometry","min":0.8,"max":1.2},"armReach":{"type":"range","default":1,"label":"Arm reach","describe":"stretches the curved overhanging run of the cross-arm along X, carrying the overhead signal head out with it; the short stub on the other side and the arm's height profile are both fixed, so the arm stays one-sided and the asset is the same height at every value. At 0.7 the curve is tight and the overhead head sits tucked in 1.37 m past the mast; at 1.5 it sweeps 2.93 m out over a traffic lane. The whole asset stays inside one 4 m kit cell throughout.","affects":"geometry","min":0.7,"max":1.5},"armSignal":{"type":"toggle","default":true,"label":"Overhead head","describe":"true = a full three-lamp signal head hangs from the end of the cross-arm on a short drop bracket, the New York mast-arm arrangement; false = the arm is a bare cross-arm and only the mast-mounted head remains, for a side street.","affects":"geometry"},"pedSignal":{"type":"toggle","default":true,"label":"Pedestrian head","describe":"true = the small two-panel walk/stand signal and its lip hang on the mast below the main head; false = that whole sub-assembly is gone and the mast runs clean past its collar, giving a plain vehicle-only signal for mid-block use.","affects":"geometry"},"pedFacing":{"type":"choice","default":"left","label":"Pedestrian head facing","describe":"which way the pedestrian head is turned about the mast, so it can face the crosswalk it controls instead of the traffic. left = turned 90 degrees clockwise seen from above, panels facing -X (the default, across the street); right = 90 degrees the other way, panels facing +X; forward = square to the signal heads, panels facing +Z. Costs no triangles \u2014 only the sub-assembly is rotated.","affects":"geometry","options":["left","right","forward"]}},"presets":{"municipal-green":{"paint":"#3d6b52","walk":"#cfc6b9"},"gotham-black":{"paint":"#463b37","dark":"#211f1d","walk":"#c1b0a1"},"granite-grey":{"paint":"#62605c","dark":"#322d2c","walk":"#cfc6b9"}},"night":{"stop":{"color":"#ff2418","describe":"red stop lenses, and the pedestrian stand panel","albedo":"#b63735","findable":true},"amber":{"color":"#ffb422","describe":"amber caution lenses","albedo":"#cf7a15","findable":true},"go":{"color":"#2bf58a","describe":"green go lenses","albedo":"#2e8a5a","findable":true},"walk":{"color":"#f3f9f0","intensity":0.85,"describe":"pedestrian walk panel","albedo":"#ece5d3","findable":true}},"rev":1792408799,"materials":{"paint":{"kind":"paint","finish":"gloss"},"dark":{"kind":"paint","finish":"matte"},"stop":{"kind":"glass","finish":"clear"},"amber":{"kind":"glass","finish":"clear"},"go":{"kind":"glass","finish":"clear"},"walk":{"kind":"plastic","finish":"satin"}},"materials_note":"what each colour zone is made of: `kind` and `finish` name a procedural PBR material in https://polyfork.dev/materials.mjs (dressByAlbedo finds a zone by its albedo in COLOR_0). A zone not listed has not been classified.","night_note":"match `albedo` in COLOR_0 exactly, make those vertices emissive at `color` and `intensity`, and drop your scene lights. findable false means that colour is no longer in this asset's geometry: skip the zone rather than guessing.","preview_v":1792470200,"mod_v":1792408799}