Skip to content

Phase 7 - Refactoring: Render actor creation#183

Draft
lorenzoberts wants to merge 6 commits into
lorenzo/actor-refactor-phase-6from
lorenzo/actor-refactor-phase-7
Draft

Phase 7 - Refactoring: Render actor creation#183
lorenzoberts wants to merge 6 commits into
lorenzo/actor-refactor-phase-6from
lorenzo/actor-refactor-phase-7

Conversation

@lorenzoberts

Copy link
Copy Markdown
Collaborator

No description provided.

This commit moves the synchronous shell-backed render service out of
infrastructure and into a top-level Render context. The existing
RenderServiceApi behavior is preserved so App still renders patchset previews
through the same service boundary while the code moves closer to the upcoming
Render actor.

This commit is part of the architecture's refactoring phase 7.

Signed-off-by: lorenzoberts <lorenzobs@usp.br>
This commit introduces RenderPatchsetRequest and rendered preview DTOs for the
Render context. The synchronous render service now accepts an explicit request
payload and returns rendered preview entries instead of a raw Vec<String>,
while App preserves the existing details preview behavior by converting the
rendered strings into Ratatui text at the current boundary.

This commit is part of the architecture's refactoring phase 7.

Signed-off-by: lorenzoberts <lorenzobs@usp.br>
This commit introduces RenderMessage, RenderHandle, and RenderActor around the
existing synchronous render service. The actor owns the render core, receives
requests over mpsc, replies over oneshot, and runs shell-backed rendering
through spawn_blocking while preserving the current fallback behavior.

It also adds actor-level tests for patchset preview rendering, single patch
rendering, and sequential requests through the same Render actor.

This commit is part of the architecture's refactoring phase 7.

Signed-off-by: lorenzoberts <lorenzobs@usp.br>
This commit wires App to RenderHandle for patchset preview rendering and starts
RenderActor during application startup. Patchset details still build the same
preview state, but the shell-backed rendering work now goes through the Render
actor instead of a synchronous App service dependency.

This commit is part of the architecture's refactoring phase 7.

Signed-off-by: lorenzoberts <lorenzobs@usp.br>
This commit moves patchset details state assembly into
PatchsetDetailsState::from_rendered_preview. App::open_patchset_details now
focuses on orchestrating Lore and Render actor calls while the details screen
state owns conversion from rendered preview strings into the existing Ratatui
text payloads.

This commit is part of the architecture's refactoring phase 7.

Signed-off-by: lorenzoberts <lorenzobs@usp.br>
This commit moves the patch and cover renderer helpers out of App and into the
Render context. Render no longer depends on App modules for preview rendering,
and call sites now import renderer preferences from render_prefs directly.

This commit completes the architecture's refactoring phase 7.

Signed-off-by: lorenzoberts <lorenzobs@usp.br>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant