# Fluxo curto do Quest (venda assistida) — Etapa 98

## Objetivo

Criar uma **jornada enxuta (5–10 minutos)** para a experiência Quest em **venda assistida**, em que:
- o **cliente final** usa o headset por poucos minutos;
- o **vendedor conduz** a sessão presencialmente;
- o fluxo prioriza impacto comercial e fechamento rápido (CTA e próximos passos).

Esta etapa **não remove** módulos existentes (onboarding, hotspots, comparação, closing, outcome/export/handoff, presets, runtime XR, dwell/hover/gaze-like). Ela adiciona uma camada **organizadora** por cima.

## Conceitos

### Modos

- **QuestPresentationFlowMode.FullExperience**: comportamento atual (sem orquestração do fluxo curto).
- **QuestPresentationFlowMode.GuidedSalesShort**: fluxo curto de vendas guiadas.
- **QuestPresentationFlowMode.PremiumShowcaseShort**: fluxo curto privilegiando hotspots premium.

### Macro etapas (no máximo 5)

Enum: **QuestCoreFlowStage**

1. **Intro** (onboarding enxuto)
2. **MainPresentation** (roteiro guiado, rápido)
3. **ImpactHotspots** (hotspots mais impactantes)
4. **QuickComparison** (comparação curta e clara)
5. **Closing** (fechamento/CTA cedo o suficiente)

## Como funciona no runtime

### Controller organizador

O `QuestShortFlowController`:
- mantém um `QuestShortFlowState` com **modo**, **etapa atual**, **tempo restante estimado** e **pronto para closing**;
- seleciona automaticamente um conjunto de **hotspots impactantes** (por padrão, 3) com base em:
  - `IsPremiumUpsell` (prioriza),
  - `SalesValueScore` (maior primeiro),
  - `HighlightPriority` (menor é mais prioritário).
- integra de forma leve com controllers existentes:
  - onboarding: abre e reduz dicas/duração no modo curto;
  - navegação: posiciona a sessão em Guided ou FocusedHotspot conforme etapa;
  - contexto/story: abre contexto do hotspot e prepara micro-roteiro (sem forçar narrativa longa);
  - comparação: abre comparação a partir do hotspot atual;
  - closing: abre o painel de fechamento cedo.

### Pronto para closing

Heurística simples:
- se `DecisionReadinessLevel == ReadyToClose` ou estado comercial == `ReadyToClose`, ou etapa >= comparação/closing, então **pronto**.

## UI / Controles (simples)

Na barra de navegação do Quest foram adicionados botões:
- **Fluxo curto**: alterna entre `FullExperience` e `GuidedSalesShort`.
- **Etapa - / Etapa +**: volta/avança macro etapa do fluxo curto.
- **Ir p/ closing**: tenta ir direto para fechamento se “pronto para closing”.

No HUD/debug existe uma linha:
- `Fluxo curto: [modo] | Etapa X/Y | Restante ~N min | Pronto p/ closing: Sim/Não`

## Limitações (intencionais nesta etapa)

- **Sem refatorar agressivamente**: o fluxo curto não altera o desenho interno dos módulos; apenas chama ações já existentes.
- **Sem persistência do fluxo curto**: o estado é runtime; não há salvamento dedicado.
- **Sem filtros avançados de hotspots**: o critério é heurístico e simples.

