Skip to content

Commit 4ac2487

Browse files
authored
Merge pull request #69 from iplweb/cleanup/faza-3b-render
refactor(render): run_render 97 → 1 (faza 3b)
2 parents 6e3b4b1 + 9e43eb1 commit 4ac2487

11 files changed

Lines changed: 2344 additions & 1244 deletions

File tree

guidebot_recorder/recorder/render/__init__.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,21 @@
2424
timeline.py observed freezes → validated model → the edited file
2525
audio.py audio beds, muxing, and the two-phase artifact publish
2626
reuse.py the compiled-sidecar contract as render reads it
27-
_step.py _render_step (opaque; phase 3 decomposes it)
28-
_run.py run_render (opaque; phase 3 decomposes it — still >600 lines,
29-
which is expected and is *not* a sign the cleanup is done)
27+
28+
Phase 3 added the four that carry ``run_render``'s three lifetimes, plus the two
29+
that spend them::
30+
31+
plan.py _RenderPlan — everything decided before a browser exists
32+
stage.py _Stage — what is on screen now, and the ONE order the
33+
role-gated init scripts may be registered in
34+
clock.py _Clock — the recording axis, and why ``on_sfx`` is a bound
35+
method rather than a value
36+
loop.py replaying one flat step; the absence probe is a seam, not a
37+
comment
38+
post.py recording -> composed -> virtual -> mastered, in that order
39+
and no other
40+
_step.py _render_step — two dispatches on two different keys
41+
_run.py run_render — nothing but the order the phases run in
3042
3143
It also, on purpose, **withholds every name the tests patch**. Nineteen names plus
3244
``os.replace`` are this package's test seams, and five of them
@@ -56,9 +68,11 @@
5668
5769
Ten of the nineteen are the second kind, which is why this package's guard cannot
5870
be the one ``video.mux`` uses. Two names have consumers in two submodules at once —
59-
``Recorder`` (``visuals`` and ``_run``) and ``probe_frame_count`` (``timeline`` and
60-
``_run``) — and each needs **two** patch lines; one line silently stops covering
61-
the other path. ``tests/unit/recorder/test_render_seams.py`` enforces all of it.
71+
``Recorder`` (``visuals`` and ``loop``) and ``probe_frame_count`` (``timeline`` and
72+
``post``) — and each needs **two** patch lines; one line silently stops covering
73+
the other path. ``_run`` itself holds **no** seam any more: every one of them moved
74+
to the submodule that constructs or calls it.
75+
``tests/unit/recorder/test_render_seams.py`` enforces all of it.
6276
6377
The submodules are re-exported as *modules* for exactly that reason, using the
6478
redundant-alias form. The private helpers below (``_PopupSession``,
@@ -76,14 +90,19 @@
7690
from . import _run as _run
7791
from . import _step as _step
7892
from . import audio as audio
93+
from . import clock as clock
7994
from . import constants as constants
8095
from . import errors as errors
96+
from . import loop as loop
8197
from . import narration as narration
8298
from . import pages as pages
99+
from . import plan as plan
83100
from . import popup_crop as popup_crop
84101
from . import popup_detect as popup_detect
85102
from . import popup_session as popup_session
103+
from . import post as post
86104
from . import reuse as reuse
105+
from . import stage as stage
87106
from . import tasks as tasks
88107
from . import timeline as timeline
89108
from . import visuals as visuals

guidebot_recorder/recorder/render/_run.py

Lines changed: 53 additions & 909 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)