Wrap stroke mix shell
This commit is contained in:
@@ -18,6 +18,10 @@ agent or engineer to remove them without reconstructing context from chat.
|
|||||||
|
|
||||||
## Recent Reductions
|
## Recent Reductions
|
||||||
|
|
||||||
|
- 2026-06-13: `LATER-003` was narrowed again. `Canvas::stroke_draw_mix()` now
|
||||||
|
routes the retained mix-pass shell through
|
||||||
|
`execute_legacy_canvas_stroke_mix_pass_shell(...)`; the live path still owns
|
||||||
|
the concrete framebuffer bind and GL capability toggles.
|
||||||
- 2026-06-13: `LATER-003` was narrowed again. `Canvas::stroke_draw_mix()` now
|
- 2026-06-13: `LATER-003` was narrowed again. `Canvas::stroke_draw_mix()` now
|
||||||
routes the full retained mix-pass shell through
|
routes the full retained mix-pass shell through
|
||||||
`execute_legacy_canvas_stroke_mix_pass_with_setup(...)`; the live path
|
`execute_legacy_canvas_stroke_mix_pass_with_setup(...)`; the live path
|
||||||
|
|||||||
@@ -601,6 +601,9 @@ Progress Notes:
|
|||||||
- 2026-06-13: `Canvas::stroke_draw_mix()` now routes the full retained mix-pass
|
- 2026-06-13: `Canvas::stroke_draw_mix()` now routes the full retained mix-pass
|
||||||
shell through `execute_legacy_canvas_stroke_mix_pass_with_setup(...)`; the
|
shell through `execute_legacy_canvas_stroke_mix_pass_with_setup(...)`; the
|
||||||
live path still owns the concrete framebuffer bind and GL capability toggles.
|
live path still owns the concrete framebuffer bind and GL capability toggles.
|
||||||
|
- 2026-06-13: `Canvas::stroke_draw_mix()` now routes the retained mix-pass
|
||||||
|
shell through `execute_legacy_canvas_stroke_mix_pass_shell(...)`; the live
|
||||||
|
path still owns the concrete framebuffer bind and GL capability toggles.
|
||||||
- 2026-06-13: `Canvas::stroke_draw()` live-pass sampler wiring now reuses a
|
- 2026-06-13: `Canvas::stroke_draw()` live-pass sampler wiring now reuses a
|
||||||
retained helper builder, and the stroke execution tests cover it. `STR-004`
|
retained helper builder, and the stroke execution tests cover it. `STR-004`
|
||||||
is now done after the final pad-destination helper extraction and tracker
|
is now done after the final pad-destination helper extraction and tracker
|
||||||
|
|||||||
@@ -420,10 +420,10 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz)
|
|||||||
m_mixer.unbindFramebuffer();
|
m_mixer.unbindFramebuffer();
|
||||||
});
|
});
|
||||||
[[maybe_unused]] const auto mix_result =
|
[[maybe_unused]] const auto mix_result =
|
||||||
pp::panopainter::execute_legacy_canvas_stroke_mix_pass_with_setup(
|
pp::panopainter::execute_legacy_canvas_stroke_mix_pass_shell(
|
||||||
mix_setup.begin,
|
mix_setup.begin,
|
||||||
mix_setup.end,
|
mix_setup.end,
|
||||||
pp::panopainter::make_legacy_canvas_stroke_mix_pass_request(
|
pp::panopainter::make_legacy_canvas_stroke_mix_pass_request(
|
||||||
"Canvas::stroke_draw_mix",
|
"Canvas::stroke_draw_mix",
|
||||||
m_size,
|
m_size,
|
||||||
mix_planes,
|
mix_planes,
|
||||||
@@ -477,7 +477,7 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz)
|
|||||||
[&](int plane_index) {
|
[&](int plane_index) {
|
||||||
set_active_texture_unit(0);
|
set_active_texture_unit(0);
|
||||||
current_layer.rtt(plane_index).unbindTexture();
|
current_layer.rtt(plane_index).unbindTexture();
|
||||||
});
|
}));
|
||||||
|
|
||||||
gl.restore();
|
gl.restore();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -562,6 +562,19 @@ execute_legacy_canvas_stroke_mix_pass_with_setup(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename BeginMixPass, typename EndMixPass>
|
||||||
|
[[nodiscard]] inline LegacyCanvasStrokeMixPassResult
|
||||||
|
execute_legacy_canvas_stroke_mix_pass_shell(
|
||||||
|
BeginMixPass&& begin_mix_pass,
|
||||||
|
EndMixPass&& end_mix_pass,
|
||||||
|
const LegacyCanvasStrokeMixPassRequest& request)
|
||||||
|
{
|
||||||
|
return execute_legacy_canvas_stroke_mix_pass_with_setup(
|
||||||
|
std::forward<BeginMixPass>(begin_mix_pass),
|
||||||
|
std::forward<EndMixPass>(end_mix_pass),
|
||||||
|
request);
|
||||||
|
}
|
||||||
|
|
||||||
struct LegacyCanvasStrokeComputeRequest {
|
struct LegacyCanvasStrokeComputeRequest {
|
||||||
StrokeSample previous_sample {};
|
StrokeSample previous_sample {};
|
||||||
std::span<const StrokeSample> samples;
|
std::span<const StrokeSample> samples;
|
||||||
|
|||||||
Reference in New Issue
Block a user