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.