kShellSeparationShade top-level constant

int const kShellSeparationShade

Quantos passos da rampa neutra separam a surface (rail, header, assistente) do surfaceContainer (o cartão de conteúdo).

Por que um SHADE e não um ΔT

A rampa neutra já é assimétrica de propósito — passos finos perto do branco, grossos perto do preto — e a versão escura é a clara invertida. Medindo o acumulado a partir da base: s50→s300 vale 11.1 tons no claro e 22.2 no escuro, exatamente 2×. Ou seja: a regra de "dobrar a separação no escuro" já está embutida na geometria da paleta.

Antes isto era um deltaTone fixo em HCT (14 no claro, 26 no escuro). Três problemas: o valor caía FORA da rampa e não tinha nome de shade; o 2× tinha de ser reaplicado à mão a cada ajuste; e nada impedia o valor de aterrissar em cima de outro token — foi assim que o cartão escuro colidiu com o preenchimento dos inputs (s200).

Com um shade, os três somem: o 2× vem da rampa e o valor é um stop nomeado.

Implementation

const int kShellSeparationShade = 300;