| @@ -76,9 +76,22 @@ | ||
| 76 | 76 | // The official artwork has no hologram and no interior |
| 77 | 77 | // sheen — a flat gradient over dead black. One number here |
| 78 | 78 | // turns both back on for a whole site. |
| 79 | 79 | 'iridescence' => 0, |
| 80 | - 'outlineWidth' => 3, | |
| 80 | + // The artwork's ring is 13 units on a body of roughly 240 — | |
| 81 | + // 5.4%, or 6px at this radius. That 6 is the whole drawn | |
| 82 | + // ring, chroma and white line together, split two to one. | |
| 83 | + 'outlineWidth' => 4, | |
| 84 | + // The white line the artwork draws between the body and the | |
| 85 | + // chroma. It reaches INWARD, so thickening it eats into the | |
| 86 | + // body rather than widening the ring — 'outlineWidth' keeps | |
| 87 | + // meaning the coloured band whatever this says. | |
| 88 | + // | |
| 89 | + // Must match `MIO_DEFAULTS` in `src/mio/config.ts`. | |
| 90 | + 'linerWidth' => 2, | |
| 91 | + // Starlight again: the brand has one white, and the line and | |
| 92 | + // the eyes are both drawn in it. | |
| 93 | + 'linerColor' => '#fffbff', | |
| 81 | 94 | // Reach of the light, as a multiple of Mio's own radius: |
| 82 | 95 | // `10` carries the wash about one and a half radii past the |
| 83 | 96 | // outline. Deliberately generous — Mio sits on a dark desk |
| 84 | 97 | // and the glow is the thing that makes her read as lit |
| @@ -151,10 +164,10 @@ | ||
| 151 | 164 | * array( |
| 152 | 165 | * 'appearance' => array( radius, bodyColor, bodyAlpha, hueStart, |
| 153 | 166 | * hueSpan, hueDrift, hueLoop, hueAngle, |
| 154 | 167 | * saturation, lightness, iridescence, |
| 155 | - * outlineWidth, glow, glowBlur, | |
| 156 | - * eyeColor, eyeScale ), | |
| 168 | + * outlineWidth, linerWidth, linerColor, | |
| 169 | + * glow, glowBlur, eyeColor, eyeScale ), | |
| 157 | 170 | * 'physics' => array( points, shapePreset, shapeLobes, |
| 158 | 171 | * shapeAmount, shapeAngle, shapeShuffle, |
| 159 | 172 | * radialStiffness, edgeStiffness, |
| 160 | 173 | * bendStiffness, pressure, damping, |
| @@ -222,8 +235,10 @@ | ||
| 222 | 235 | 'saturation', |
| 223 | 236 | 'lightness', |
| 224 | 237 | 'iridescence', |
| 225 | 238 | 'outlineWidth', |
| 239 | + 'linerWidth', | |
| 240 | + 'linerColor', | |
| 226 | 241 | 'glow', |
| 227 | 242 | 'glowBlur', |
| 228 | 243 | 'eyeColor', |
| 229 | 244 | 'eyeScale', |
| @@ -278,8 +293,9 @@ | ||
| 278 | 293 | 'saturation' => array( 0, 1 ), |
| 279 | 294 | 'lightness' => array( 0.15, 1 ), |
| 280 | 295 | 'iridescence' => array( 0, 2 ), |
| 281 | 296 | 'outlineWidth' => array( 0.5, 24 ), |
| 297 | + 'linerWidth' => array( 0, 12 ), | |
| 282 | 298 | 'glow' => array( 0, 20 ), |
| 283 | 299 | 'eyeScale' => array( 0.05, 0.6 ), |
| 284 | 300 | 'shapeLobes' => array( 0, 8 ), |
| 285 | 301 | 'shapeAmount' => array( 0, 1.4 ), |
| @@ -375,9 +391,9 @@ | ||
| 375 | 391 | $presets = openstation_mio_shape_presets(); |
| 376 | 392 | $out[ $key ] = in_array( $value, $presets, true ) ? $value : $default; |
| 377 | 393 | continue; |
| 378 | 394 | } |
| 379 | - if ( 'bodyColor' === $key || 'eyeColor' === $key ) { | |
| 395 | + if ( 'bodyColor' === $key || 'eyeColor' === $key || 'linerColor' === $key ) { | |
| 380 | 396 | $out[ $key ] = openstation_mio_color_int( $value, openstation_mio_color_int( $default ) ); |
| 381 | 397 | continue; |
| 382 | 398 | } |
| 383 | 399 | if ( is_bool( $default ) ) { |
| @@ -460,9 +476,9 @@ | ||
| 460 | 476 | $clean[ $group ][ $key ] = 0 + $value; |
| 461 | 477 | } |
| 462 | 478 | } elseif ( is_string( $value ) ) { |
| 463 | 479 | // The only string-valued keys are `shapePreset` and the |
| 464 | - // two colours in `#rrggbb` form. | |
| 480 | + // three colours in `#rrggbb` form. | |
| 465 | 481 | $clean[ $group ][ $key ] = sanitize_text_field( $value ); |
| 466 | 482 | } |
| 467 | 483 | } |
| 468 | 484 | } |