teqo-backup/docs/plans
Francisco Ignácio Fontoura Solla e482005ce0 B14: municipio mais proximo (atalho geo no Inicio staff)
Card "Onde estou" no dashboard staff: point-in-polygon contra a malha
municipal que o painel do mapa ja carrega, sem artefato de centroides,
sem migration, sem collection, sem server action e sem Consent -- a
posicao e lida por navigator.geolocation e casada no browser, nunca sai
do aparelho.

- src/lib/municipalityProximity.ts: haversine, ray casting, centroide
  ponderado por area e uniao discriminada
  (inScope | zoneCity | outOfScope | outsideBahia)
- src/utilities/campaignGeolocation.ts: flag de sessao, leitura guardada
  de permissao e requestCurrentPosition com falha tipada
- Salvador nao ganha ZE chutada: link para a lista filtrada, com href
  serializado no servidor (importar o serializador canonico no cliente
  custava 21 kB de First Load JS)
- fallback fora da carteira ordenado por centroide, teto de 150 km
- fix grosseiro (>10 km) mostra o resultado com ressalva de precisao

/campanha First Load JS: 265 -> 268 kB.
2026-07-26 17:33:33 -03:00
..
aproximar-mapa-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
autosave-status-lista-liderancas.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
autosave-tendencia-lista-municipios.md B24: auto-save e justificativa no popover de Tendência. 2026-07-26 14:05:36 -03:00
backtest-pos-eleicao.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
baseline-eleitoral-tse.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
cadastro-nominal-apoiadores.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
camada-territorios-identidade.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
cenario-junto-filtros-municipios.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
cenarios-estimativa-votos.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
chips-liderancas-lista-dobradinhas.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
chips-municipios-lista-dobradinhas.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
chips-municipios-lista-liderancas.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
classificacao-territorial-relativa.md E10: classificacao territorial relativa (Reduto/Expansao/Manutencao/Marginal/Sem base) sobre o artefato TSE, com coluna+sort+filtro na lista, badge no card da conta da cadeira e na capa do dossie; seam generico cellTooltip na CampaignTable e promocao do CampaignHoverTooltip para shared 2026-07-25 21:59:20 -03:00
combobox-assessores-lista-municipios.md B27: combobox + chips + auto-save no popover de Assessores da lista de municípios 2026-07-26 03:31:51 -03:00
compartilhar-pagina.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
conta-da-cadeira.md E10+ registra os debitos do /simplify do E10 como fill-in de engenharia 2026-07-25 22:38:28 -03:00
convite-whatsapp-lista-liderancas.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
decisao-arquitetura-dominios.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
demandas-campanha.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
dobradinhas-lista-liderancas.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
documentacao-conceitos-campanha.md E18: documentação de conceitos de inteligência de campanha 2026-07-25 01:37:37 -03:00
dossie-municipio.md E9 /simplify: consolidate duplicated helpers, dead passthrough, comment drift 2026-07-25 02:24:18 -03:00
edicao-rapida-lista-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
email-celular-lista-liderancas.md docs(B28): registra débitos do /simplify no plano-pai (adiado com gatilho) 2026-07-26 15:32:57 -03:00
escala-dry-pos-a4.md Deliver A7 Fase 2 cityCode TSE geography filters and absorb simplify debts. 2026-07-19 22:48:08 -03:00
escala-dry-pos-a8.md Deliver A8 IBGE voter profile on Eleitorado tab with post-simplify scale plan. 2026-07-19 23:05:27 -03:00
escala-dry-pos-a9.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-b2.md Deliver A8 IBGE voter profile on Eleitorado tab with post-simplify scale plan. 2026-07-19 23:05:27 -03:00
escala-dry-pos-b3.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-b13.md simplify(B13): corrige classe agregada, bolhas em pane proprio e registra debitos 2026-07-26 05:12:37 -03:00
escala-dry-pos-b16.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
escala-dry-pos-b33.md docs(B33): registra débito de engenharia do /simplify (B33+) 2026-07-26 16:27:37 -03:00
escala-dry-pos-c2.md Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
escala-dry-pos-c3.md Add missing C7 modules and register C11 simplify follow-ups. 2026-07-19 03:52:22 -03:00
escala-dry-pos-c6.md C13 pos-simplify: fecha os residuos da varredura e estreita os guards 2026-07-25 21:29:32 -03:00
escala-dry-pos-c7.md Implement C12 campaign foundation records 2026-07-24 19:27:15 -03:00
escala-dry-pos-c8.md Deliver C9 scale/DRY for supporters and register C10 follow-ups. 2026-07-19 03:23:25 -03:00
escala-dry-pos-c9.md Deliver C9 scale/DRY for supporters and register C10 follow-ups. 2026-07-19 03:23:25 -03:00
escala-dry-pos-e1.md Mark E4 spreadsheet import as cut in roadmap and project docs. 2026-07-19 22:06:25 -03:00
escala-dry-pos-e2.md Deliver A5 mobilization insight and absorb E7 F2 int follow-up. 2026-07-19 22:34:35 -03:00
escala-dry-pos-e10.md docs(B33): registra débito de engenharia do /simplify (B33+) 2026-07-26 16:27:37 -03:00
escala-dry-pos-field-desk.md Refactor campaign dashboard UX and add product discovery artifacts. 2026-07-19 21:56:01 -03:00
escala-dry-pos-onda0.md Add allowlisted global cache revalidation for Onda 0 F1. 2026-07-19 22:21:16 -03:00
escala-dry-pos-reset-senha-perfil.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-visitados-recentemente.md Refactor campaign dashboard UX and add product discovery artifacts. 2026-07-19 21:56:01 -03:00
escala-percentual-mapa-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-relativa-mapa.md simplify(B13): corrige classe agregada, bolhas em pane proprio e registra debitos 2026-07-26 05:12:37 -03:00
estimativa-votos-praca.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
eventos-agenda-mobilizacao.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
explicacao-colunas-header-listas.md B22: explicacao por coluna no header das listas — description em CampaignTableHead/MunicipalitySortableHead, campaignConceptOneLiner como fonte unica E18, municipalityColumnDescriptions cobrindo as 11 colunas de /campanha/municipios 2026-07-26 02:58:54 -03:00
exportar-csv-assinaturas.md Add admin CSV export for signatures and contacts. 2026-07-23 00:53:04 -03:00
field-desk-ux-pos-critique.md Refactor campaign dashboard UX and add product discovery artifacts. 2026-07-19 21:56:01 -03:00
fila-de-alocacao.md E9: Fila de alocação (déficit como default do staff, frescor, coluna da vergonha) 2026-07-25 02:24:17 -03:00
filtros-auto-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
filtros-no-header-lista-municipios.md B16: Filtros no header da lista de municípios 2026-07-25 03:13:28 -03:00
filtros-salvos-municipios.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
gerenciar-assessores.md B19: registra gatilho de defer do N+1 no batch de território/ZE 2026-07-25 02:43:26 -03:00
hover-mapa-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
icone-prioridade-lista-municipios.md Register fill-in to replace the priority badge with an icon+tooltip on the municipalities list. 2026-07-24 18:25:36 -03:00
import-planilha-projecao.md Import projection-sheet strategy columns into municipalities (E4R fase 2) 2026-07-24 15:58:06 -03:00
insight-alavancagem-chapa.md Deliver A5 ticket leverage and flip insights with simplify cleanup. 2026-07-19 17:34:06 -03:00
insight-classificacao-territorial.md Deliver A5-2 territorial classification insight and absorb review debts. 2026-07-19 18:15:07 -03:00
insight-dobradinha-2026.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
insight-inteligencia-competitiva.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
insight-mobilizacao-brancos-nulos.md Deliver A5 mobilization insight and absorb E7 F2 int follow-up. 2026-07-19 22:34:35 -03:00
insight-taxa-conversao.md Deliver A5 slice 1 conversion-rate insight and absorb review debts. 2026-07-19 14:05:11 -03:00
inteligencia-campanha.md Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
link-territorio-lista-municipios.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
mapa-bahia-geometrias.md Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
mapa-mental-arquitetura.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
mapa-pracas-filtrado.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
mapa-projecao-municipios.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
motor-de-sugestoes.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
municipio-mais-proximo.md B14: municipio mais proximo (atalho geo no Inicio staff) 2026-07-26 17:33:33 -03:00
municipios-prioritarios-inicio.md B20: municípios prioritários no Início com déficit E9 e CTA para a lista. 2026-07-25 20:01:51 -03:00
niveis-de-envolvimento.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
notifications.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
onda-0-ripd-nota-mvp.md Deliver Onda 0 MVP: provisional Consent, privacy policy, and /privacidade. 2026-07-19 03:38:21 -03:00
onda-0.md Sync roadmap and intel plans with the 2026-07-23 field session; add E4R/A11/E16/E17 plans 2026-07-24 02:54:28 -03:00
ordenacao-colunas-lista-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
ordenacao-filtros-lista-dobradinhas.md docs(B33): registra débito de engenharia do /simplify (B33+) 2026-07-26 16:27:37 -03:00
ordenacao-filtros-lista-liderancas.md B21: cria página própria dos territórios 2026-07-25 21:50:24 -03:00
overview-lista-nucleos.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
pagina-territorios-identidade.md B21: cria página própria dos territórios 2026-07-25 21:50:24 -03:00
perfil-eleitorado-ibge.md Deliver A8 IBGE voter profile on Eleitorado tab with post-simplify scale plan. 2026-07-19 23:05:27 -03:00
pinagem-superficies-lista.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
pixel-meta-abaixo-assinado.md Add Meta Pixel tracking to public petition pages. 2026-07-21 10:51:47 -03:00
planejador-de-giros.md Sync roadmap and intel plans with the 2026-07-23 field session; add E4R/A11/E16/E17 plans 2026-07-24 02:54:28 -03:00
poligonos-pracas-zona.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
pwa-campanha.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
ranking-votos-municipio.md E10+ registra os debitos do /simplify do E10 como fill-in de engenharia 2026-07-25 22:38:28 -03:00
registrar-sinal-lista-municipios.md B26: registrar sinal tipado a partir da célula Último sinal na lista de municípios. 2026-07-25 20:42:01 -03:00
registro-fundacao.md Implement C12 campaign foundation records 2026-07-24 19:27:15 -03:00
remodelagem-municipios.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
remodelagem-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
remover-coluna-tipo-municipios.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
renomear-coluna-cobertura-meta.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
renomear-plano-acao-para-atividade.md C13 pos-simplify: fecha os residuos da varredura e estreita os guards 2026-07-25 21:29:32 -03:00
reordenar-colunas-lista-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
reset-senha-foto-perfil.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
selecionados-no-topo-filtros-header.md Docs: registra B20–B37, C13 (Atividade) e fill-ins de listas no roadmap e notebook. 2026-07-25 19:40:07 -03:00
seletor-colunas-lista-municipios.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
sistema-listas-campanha.md Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
split-election-insights.md Pass 2 W5: close-out de documentacao 2026-07-25 16:08:38 -03:00
tabela-ti-inicio.md Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
territorio-multi-municipio-bairro.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
tooltip-celulas-listas.md docs: registra débitos do /simplify pós-B23 no plano (paridade a11y da nota de tendência, wrapper Popover+tooltip) 2026-07-26 03:24:55 -03:00
visitados-recentemente.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
whatsapp-canal-fundacao.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
whatsapp-envio-liderancas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
whatsapp-interno-campanha.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
whatsapp-sugestao-atualizacoes.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
zonas-por-municipio.md Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00