Saltar al contenido principal

Visión General

El Sistema de Flujos Imova organiza cualquier experiencia guiada mediante tres conceptos jerárquicos: Secuencia, Paso y Acción. Entender esta relación es la base para comprender el resto de la arquitectura.

Secuencia (Sequence)​

Una Sequence representa un flujo de trabajo completo: una experiencia de evaluación o entrenamiento de principio a fin. Internamente contiene, entre otros datos, una lista ordenada de identificadores únicos (StepsUID) que apuntan a los Step que la componen. El orden de esta lista define el recorrido esperado cuando la secuencia se ejecuta en modo Secuencial.

Paso (Step)​

Un Step es un punto específico dentro del flujo. Cada paso define:

  • Una descripción legible del propósito del paso.
  • Un tipo de disparador (TriggerType), que indica de qué naturaleza es la interacción esperada: QR, UI, Dialogo, EPP, Canvas, Trigger, PyP o Pregunta.
  • Una lista de triggers correctos: los UID de Action que, al dispararse, se consideran una ejecución correcta del paso.
  • Un timeout opcional, para pasos que deben completarse dentro de un tiempo límite.
  • Una o más Action asociadas, que representan las distintas formas válidas (o registradas) de interactuar con ese paso.

Acción (Action)​

Una Action es la unidad mínima disparable del sistema. Representa un evento concreto que el usuario o un cliente externo ejecuta —por ejemplo, escanear un código QR, presionar un botón en una UI, o cruzar un trigger de colisión— y se identifica mediante un UID único. Cuando una acción se dispara, el sistema la contrasta contra el paso activo para determinar si corresponde a un trigger correcto.

El "happy path"​

El "happy path" es el camino ideal de una secuencia:

  • En modo Secuencial, es el orden exacto en que deben completarse los pasos, tal como aparece en StepsUID de la Sequence.
  • En modo Libre, es simplemente el conjunto de pasos que deben completarse, sin importar el orden.

Tabla resumen​

ConceptoClaseRol
SecuenciaSequenceFlujo de trabajo completo; ordena una lista de Step mediante StepsUID.
PasoStepPunto del flujo con su tipo de disparador, triggers correctos, timeout y Action asociadas.
AcciónActionUnidad mínima disparable, identificada por UID, ejecutada por el usuario o un cliente externo.

Siguientes pasos​

  • Modos de Flujo: cómo se interpreta el "happy path" en modo Secuencial vs. modo Libre.
  • Arquitectura de Clases: cómo estos conceptos se implementan en código y cómo se relacionan con FluxManager, FluxState y el resto del sistema.