mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:35:19 +00:00
Terceira rodada de /simplify sobre o B14, com dois enunciados errados corrigidos: - A propriedade da fronteira compartilhada NAO vem da ordem do `.find()`, e sim da convencao meio-aberta do ray casting (`point.lng < crossingLng`): a aresta pertence ao poligono cujo interior fica a leste (ao norte, se horizontal). Tres comentarios diziam o contrario, e o do unit test dizia "oeste" enquanto afirmava `east`. - O plano dizia que o `Promise.all` esconde o decode da malha atras do fix de GPS. Nao esconde: o decode roda no topo do modulo, quando o chunk executa. O paralelo continua certo por outro motivo (decode ~2 ms; sequencial jogaria os 42 KB no caminho critico quando o fix vem do cache). Simplificacoes: `unsupported` virou estado proprio, entao `failureCopy` deixa de ser anulavel e caem duas leituras defensivas inalcancaveis; "Voce esta em " era escrito duas vezes (frase sr-only + JSX), o que anulava justamente a invariante que o comentario alegava; `zoneCityHrefs` virou `Partial` porque a busca falha para os 416 municipios sem zona e o guard existia sem o tipo exigir; `MunicipalityForIbgeIndex` era duplicata campo-a-campo de `AccessibleMunicipality`; `kmFormatter` duplicava `oneDecimalFormatter`; `RecentlyVisitedCard` carregava tres props que nenhum caller passa (dez condicionais mortas); e o bbox de feature estava escrito em dois specs (agora `tests/helpers/featureBounds.ts`, compartilhado por vitest e Playwright). Copy: fora da Bahia sem nada por perto dizia a mesma coisa em duas frases e nunca dizia que voce estava fora do estado. Agora o headline afirma o fato e o detalhe reusa "Nenhum municipio da sua carteira por perto.". Tambem limpa um achado de knip herdado do main (`MunicipalityPoliticalTrendViewModel` exportado sem uso) e registra no plano o caminho afiado do debito de payload RSC mais dois adiados com gatilho.
30 lines
913 B
TypeScript
30 lines
913 B
TypeScript
import type { BahiaMunicipalityFeature } from '../../src/lib/bahiaGeometriesTypes.js'
|
|
|
|
export type FeatureBounds = {
|
|
west: number
|
|
east: number
|
|
south: number
|
|
north: number
|
|
}
|
|
|
|
/**
|
|
* Bounding box of every ring of a municipality feature. Type-only import on
|
|
* purpose: this helper is shared by the vitest int suite and the Playwright e2e
|
|
* suite, which resolve runtime modules differently.
|
|
*/
|
|
export const featureBounds = (feature: BahiaMunicipalityFeature): FeatureBounds => {
|
|
const rings =
|
|
feature.geometry.type === 'Polygon'
|
|
? [feature.geometry.coordinates]
|
|
: feature.geometry.coordinates
|
|
const positions = rings.flat(2)
|
|
const longitudes = positions.map(([lng]) => lng)
|
|
const latitudes = positions.map(([, lat]) => lat)
|
|
|
|
return {
|
|
west: Math.min(...longitudes),
|
|
east: Math.max(...longitudes),
|
|
south: Math.min(...latitudes),
|
|
north: Math.max(...latitudes),
|
|
}
|
|
}
|