Skip to content

feat(nav): HUD tipo Organic Maps (piel AEGIS) - #123

Open
Blackleets wants to merge 1 commit into
feat/nav-citymapper-journey-boardfrom
feat/organic-maps-nav-hud
Open

Blackleets wants to merge 1 commit into
feat/nav-citymapper-journey-boardfrom
feat/organic-maps-nav-hud

Conversation

@Blackleets

Copy link
Copy Markdown
Owner

Summary

El copiloto activo se veía sobrecargado (banner + chips + velocímetro CSS peleándose). Rehacemos el HUD activo con layout de GPS gratis tipo Organic Maps / OsmAnd Free, pintado con tokens AEGIS.

  • Banner: columna cian (icono + distancia) · instrucción · mute — sin “Copiloto activo”
  • Abajo: Llegada · Restante · Distancia/modo · report / recenter / pause / exit
  • Velocidad: chip flotante solo en modo coche
  • formatStepDistance: Ahora / pasos glanceables (no “1 m”)
  • navigation-mobile.css: se eliminan los overrides que rompían el UI

Base: feat/nav-citymapper-journey-board (#119).

Test plan

  • Arrancar navegación móvil: banner limpio, distancia legible
  • Coche: chip km/h a la izquierda; a pie: sin chip
  • Pause / exit / recenter / report siguen OK
  • Incidencias próximas no tapan el mapa de más
  • Lint + smoke

Simplify active navigation chrome: maneuver+distance column, clean
instruction banner, trip metrics row, driving-only speed chip.
Remove CSS hacks that fought the HUD; glanceable step distances.
@vercel

vercel Bot commented Sep 6, 2026

Copy link
Copy Markdown

Deployment failed for project aegis with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/nfyns-projects-b0cc0f41?upgradeToPro=build-rate-limit

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2bd4e496a7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +565 to +566
data-hidden={navigationSpeedKmh === null ? 'true' : 'false'}
aria-label={`Velocidad ${navigationSpeedKmh === null ? 'no disponible' : `${Math.round(navigationSpeedKmh)} kilómetros por hora`}. ${gpsQualityLabel}`}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Stop displaying stale speed after GPS failure

When watchPosition fails after a valid fix, src/app/page.tsx updates gpsSignalStatus but leaves navigationSpeedKmh unchanged; this new chip therefore continues showing the last numeric speed while the visible GPS-quality warning has been removed. If failure occurs before the first fix, data-hidden instead removes the only element carrying that warning, so denied and unavailable states have no visible feedback. Keep the GPS state visible and do not present the retained speed as current.

AGENTS.md reference: AGENTS.md:L17-L18

Useful? React with 👍 / 👎.

Comment on lines +613 to +614
<div className="text-[20px] font-bold leading-none tracking-[-0.03em] text-[color:var(--text-primary)] tabular-nums">{durationLabel}</div>
<div className="mt-1 text-[10px] font-medium text-[color:var(--text-muted)]">Restante</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Compute Restante from the remaining journey

After navigation has progressed, this field still renders durationLabel, which is derived from the original routeSnapshot.durationSeconds, while the adjacent label now explicitly calls it “Restante.” Consequently a one-hour route can still report one hour remaining near the destination even though liveArrivalLabel already uses remaining progress; derive this metric from the remaining distance/time calculation as well.

AGENTS.md reference: AGENTS.md:L17-L18

Useful? React with 👍 / 👎.

height: 2.55rem !important;
stroke-width: 2.25 !important;
filter: drop-shadow(0 3px 7px rgba(0, 0, 0, 0.38));
@media (max-width: 640px) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Style the speed chip across the mobile breakpoint

The application renders this cockpit for widths below 768px, and also for landscape devices below 1024px when their height is under 500px, but all positioning, container styling, and even the data-hidden rule for the newly extracted speed chip are limited to 640px. On 641–767px portrait tablets and common landscape phones, the chip becomes a bare in-flow div and remains visible as — km/h when speed is unavailable; align this media query with the actual mobile predicate.

AGENTS.md reference: AGENTS.md:L55-L59

Useful? React with 👍 / 👎.

<span className="text-[23px] font-bold leading-none tracking-[-0.04em] text-white tabular-nums">{liveArrivalLabel}</span>
<span className="text-[8px] font-mono uppercase tracking-[0.16em] text-cyan-200/60">llegada</span>
<div className="aegis-nav-trip flex items-center gap-2 px-3 py-3">
<div className="grid min-w-0 flex-1 grid-cols-3 gap-1 text-center">

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Allow the trip metrics enough width on narrow phones

On a 320px viewport, the four non-shrinking action buttons, four 8px gaps, and horizontal padding leave only about 60px total for this three-column grid, so arrival, duration, and distance values overflow or collide with one another and the controls. Standard 375–390px devices still leave each metric only about 39–44px, which is narrower than routine values such as 22:03 or 12.3 km; stack or otherwise compact the metrics/actions at narrow widths.

AGENTS.md reference: AGENTS.md:L57-L58

Useful? React with 👍 / 👎.

Comment on lines +606 to +607
<div className="aegis-nav-trip flex items-center gap-2 px-3 py-3">
<div className="grid min-w-0 flex-1 grid-cols-3 gap-1 text-center">

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Surface the active rerouting state

During an automatic reroute, handleRouteRequest sets routeLoading and navigationRerouting; the top instruction banner is consequently hidden, while this active bottom branch now renders only the unchanged trip metrics and actions. Since the previous “Buscando mejor ruta” indicator was removed, a slow or failed reroute looks like the navigation UI silently froze until the request completes; retain a loading/recalculation indication in this branch.

AGENTS.md reference: AGENTS.md:L60-L60

Useful? React with 👍 / 👎.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant