File size: 1,908 Bytes
921d377
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
"""
Live-play subsystem.

Houses the real-time scene-generation loop that powers the
candy.ai-style interactive player: chat arrives, the planner
picks the next scene, a video job runs against the existing
Animate pipeline, and the clip streams back over SSE.

Modules land per batch and are imported lazily so this subpackage
can be extended without touching the top-level router while
intermediate batches are in flight.

  PLAY-1  scene_memory.py   rolling context (pure, in-memory synopsis).
  PLAY-2  scene_planner.py  chat turn → ScenePlan (heuristic phase-1).
"""
from .scene_memory import (
    SceneMemory,
    TurnSnapshot,
    build_scene_memory,
    reset_session,
    set_synopsis,
    should_refresh_synopsis,
)
from .scene_planner import (
    ScenePlan,
    plan_next_scene,
    plan_next_scene_async,
    synthesize_synopsis,
)
from .asset_urls import resolve_asset_url
from .edit_recipes import EditRecipe, LoRAEntry, pick_recipe
from .persona_assets import PersonaAssets, resolve_persona_assets
from .persona_profile import load_persona_prompt_vars
from .schema import ensure_playback_schema
from .video_job import (
    SceneJob,
    get_job,
    list_jobs,
    mark_failed,
    mark_ready,
    mark_rendering,
    render_now,
    render_now_async,
    submit_scene_job,
)

__all__ = [
    "SceneMemory",
    "TurnSnapshot",
    "build_scene_memory",
    "reset_session",
    "set_synopsis",
    "should_refresh_synopsis",
    "ScenePlan",
    "plan_next_scene",
    "plan_next_scene_async",
    "synthesize_synopsis",
    "EditRecipe",
    "LoRAEntry",
    "PersonaAssets",
    "ensure_playback_schema",
    "load_persona_prompt_vars",
    "pick_recipe",
    "resolve_asset_url",
    "resolve_persona_assets",
    "SceneJob",
    "get_job",
    "list_jobs",
    "mark_failed",
    "mark_ready",
    "mark_rendering",
    "render_now",
    "render_now_async",
    "submit_scene_job",
]