plans(C110+): débitos pós-critique do preview do arrasto — chevron, dots do mês, gradiente
This commit is contained in:
parent
4baa617c01
commit
e3e8d3fb4a
1 changed files with 34 additions and 0 deletions
34
docs/plans/c110-ux-pos-critique.md
Normal file
34
docs/plans/c110-ux-pos-critique.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# UX pós-critique: C110 — refinamentos do feedback visual do arrasto da agenda
|
||||
|
||||
Status: rascunho
|
||||
Atualizado em: 2026-08-10
|
||||
Issue: — (registrar via agent:register após o plano)
|
||||
Priority: P3
|
||||
Model: cursor-grok-4.5-medium
|
||||
Impeccable: B — encaixes na superfície já entregue (preview do arrasto do C110)
|
||||
Canvas UI: N/A — superfície existente
|
||||
Appetite: ~0,5 dia eng fill-in
|
||||
|
||||
## Intenção
|
||||
|
||||
O C110 (#589, entregue) trouxe o feedback visual do arrasto com um preview do período adjacente — aprovação do gate com o canvas, corte de fidelidade aceito ("preview aproximado; Opção 2 se destoar"). Este lote colhe os débitos pós-/simplify que ficaram abaixo do limiar de Issue individual, agrupados por superfície (o preview do arrasto): uma validação de leitura de produto (chevron) e dois polimentos visuais dentro da aproximação aceita.
|
||||
|
||||
## Escopo do lote
|
||||
|
||||
1. **Chevron: confirmar a leitura "direção da mudança"** (origem: /simplify). O aceite diz "um chevron na borda revelada indica a direção da mudança (próximo/anterior)"; o canvas do gate desenhou o chevron apontando para o **lado revelado** (direita quando o próximo é revelado à direita). Implementado seguindo o canvas. **Fase:** validar com um usuário da persona (coordenador/assessor) qual leitura prevalece; se "direção da mudança" (apontar na direção do gesto) vencer, flip de 1 linha (ChevronLeft/Right) no `ActivityAgendaSwipePreview` + ajuste do e2e se assertar a classe.
|
||||
2. **Dots do mês ancorados ao frame do grid** (origem: /simplify). Os dots do preview no mês posicionam contra o bloco do conteúdo (chevron/label inclusos), não contra o frame skeleton — a primeira fileira pode sobrepor a área do rótulo. **Fase:** envolver head+frame+dots num container posicionado único para os dots ancorarem no frame.
|
||||
3. **Gradiente de colunas duplicado no CSS** (origem: /simplify). A base do frame e a camada do mês repetem o mesmo `repeating-linear-gradient` de 14.285%. **Fase:** custom property `--swipe-frame-columns` se o lote já mexer nesse CSS (senão descartar — a var valeria mais indireção que as ~5 linhas).
|
||||
|
||||
## Fora de escopo / já resolvido
|
||||
|
||||
- Já resolvido no /simplify da sessão: helpers `clampDisplacement`/`isVerticalDrag`; `civilDateParts` fundido (year); `civilInstantAtBahia` → `allDayStartInstant`; seed e2e generalizado; `dispatchTouchDrag` unificado; CSS sem regras mortas (`background-size`, `position: relative` no frame, regra `--next`); paridade de label foldada nos unit tests.
|
||||
- Decisões travadas (não reabrir): direção do gesto travada no claim; `touchcancel` sintético no claim; range do mês de 42 dias; transform imperativo no hook (sem estado por frame).
|
||||
|
||||
## Rabbit holes
|
||||
|
||||
- Redesenho do preview (Opção 2 do aceite — só seta) — não reabrir sem evidência nova de que o preview destoa.
|
||||
- Animar mais superfícies da agenda (título do header, criação inline) — anti-goals do C110.
|
||||
|
||||
## Questões em aberto
|
||||
|
||||
- Nenhuma — o gate é a validação do chevron com usuário (fase 1).
|
||||
Loading…
Reference in a new issue