# Experiencias v2 Architecture ## Goal Experiencias v2 is a reusable engine for guided digital products. The core model must stay generic. Guides, challenges, onboarding, courses, recipe walkthroughs, and inner-mind scenes are all expressed as: ```txt Experience Screen FlowCollection Flow Step Block ``` Domain words can appear in labels and templates, but not as core table names. ## Core Vocabulary ### Experience The complete product or app. Examples: AuraSerena, FitFlow, Guerrero Digital. ### Screen A persistent place in the app. Examples: Dashboard, Recetario, Guías, Mi Semana, Perfil. A screen is a stable navigation surface. It can open or embed flows. ### FlowCollection A reusable set of flows. Examples: Comer sin ruido, Semana liviana, Reset suave 7 días. Former names: guide_collection, challenge_collection. ### Flow A sequence or chapter inside a collection, or a standalone sequence launched by a screen. Examples: Módulo 1 - Entender la hinchazón, Día 1 - Reset suave, Onboarding de bienvenida. Former names: guide_module, challenge_template, story, day. ### Step A navigable unit inside a flow. The user experiences it as one screen or panel. Examples: text screen, choice screen, checklist screen, scale screen, image screen, recipe step. Former names: slide, guide block used as screen, scene step. ### Block A composable layout part inside a step. Examples: heading, body, image, CTA, choice options, checklist items, progress. A step can have one main block, but the model supports multiple blocks for richer layouts. ### Renderer The runtime component that paints a step or flow. Renderers use data + theme + render preset + motion preset. ### Theme Brand-level visual identity: colors, base typography, radius, surface palette. ### RenderPreset How a step or block is presented. Examples: serene_editorial, inner_mind, premium_recipe_card, soft_choice, cinematic_intro. ### MotionPreset Reusable animation behavior. Examples: fade_up_soft, blur_enter, typewriter_dream, smoky_in, smoky_out, slide_next. ### StyleKit A package tying together theme + render presets + motion presets. ## Editor Shape The studio is canvas-first by context. ### App Map Shows screens and navigation. ### Flow Editor Canvas editor for one flow at a time. Each node is a Step. Clicking a step selects it, opens the inspector, and updates the mobile preview to that exact step. ### Step Inspector Edits selected step: title, type, render preset, motion preset, blocks, capture key, CTA behavior. ### Preview Right-side mobile preview always follows selection. It must support whole screen preview, whole flow preview, and exact selected step preview. ## Persistence Postgres is the source of truth. JSON can exist only as seed fixtures, export/import format, or cached snapshots. ## Migration Rule Old v1 names are only allowed in migration/import code. The v2 runtime and editor should not expose: guide_collections, guide_modules, challenge_templates, challenge_collections, day_list, story, slides. ## First Build Scope 1. Postgres schema. 2. Seed AuraSerena demo. 3. App Map. 4. Flow Editor canvas. 5. Step inspector. 6. Mobile preview by selected step.