{"params":{"colorway":{"type":"choice","default":"office-grey","label":"Colorway","describe":"curated two-colour scheme; sets shell and grille albedos. office-grey = the warm grey handset the Standing Worker On A Call holds, bakelite-black = 1930s black phone with a lifted grey grille so the faces still separate, ivory-white = cream hotel phone, signal-red = emergency red","options":["office-grey","bakelite-black","ivory-white","signal-red"]},"shell":{"type":"color","default":"#6E6862","label":"Shell","describe":"albedo of the whole moulding \u2014 handle waist and both end blocks are one shell"},"grille":{"type":"color","default":"#35322F","label":"Grille","describe":"albedo of the two perforated faces (speaker and microphone) on the concave side; keep it clearly darker than the shell or the ends stop reading at thumbnail size"},"bulge":{"type":"range","default":1.6,"label":"End bulge","describe":"how much fatter the earpiece and mouthpiece blocks are than the handle waist, as a multiple of the handle half-width (1.3 = slim modern bar, 1.6 = the shipped classic, 1.9 = chunky toy). Changes only the end blocks; the waist and overall length are invariant","affects":"geometry","min":1.3,"max":1.9,"step":0.05},"bow":{"type":"range","default":0.04,"label":"Bow","describe":"how far the middle of the bar bows sideways off the ear-to-mouth line, in metres (0 = the straight in-fist bar, 0.04 = the shipped shallow banana, 0.05 = a strongly curled retro handset). The end faces tilt inward with the arc; length and sections are invariant","affects":"geometry","min":0,"max":0.05,"step":0.002}},"presets":{"office-grey":{"shell":"#6e6862","grille":"#35322f"},"bakelite-black":{"shell":"#2e2b28","grille":"#4a4440"},"ivory-white":{"shell":"#e9e2d4","grille":"#3a3630"},"signal-red":{"shell":"#a8392b","grille":"#2c2724"}},"rev":1789282501,"materials":{"shell":{"kind":"plastic","finish":"satin"},"grille":{"kind":"plastic","finish":"matte"}},"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.","preview_v":1792482383,"mod_v":1789282501}