From 7c69086fa586b3007d23505db557cc13c15af628 Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Mon, 16 Mar 2026 20:53:02 -0700 Subject: [PATCH] refactor(deprecate): Add deprecation warning to RenderStage (Phase 4.1) - Add DeprecationWarning to RenderStage.__init__() - Document that RenderStage uses legacy rendering code - Recommend modern pipeline stages as replacement - ItemsStage already has deprecation warning - Tests pass (515 core tests, legacy failures pre-existing) --- engine/pipeline/adapters.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/engine/pipeline/adapters.py b/engine/pipeline/adapters.py index 442ef50..0f5ff38 100644 --- a/engine/pipeline/adapters.py +++ b/engine/pipeline/adapters.py @@ -18,6 +18,11 @@ class RenderStage(Stage): - Selects headlines and renders them to blocks - Applies camera scroll position - Adds firehose layer if enabled + + .. deprecated:: + RenderStage uses legacy rendering from engine.legacy.layers and engine.legacy.render. + This stage will be removed in a future version. For new code, use modern pipeline stages + like PassthroughStage with custom rendering stages instead. """ def __init__( @@ -30,6 +35,15 @@ class RenderStage(Stage): firehose_enabled: bool = False, name: str = "render", ): + import warnings + + warnings.warn( + "RenderStage is deprecated. It uses legacy rendering code from engine.legacy.*. " + "This stage will be removed in a future version. " + "Use modern pipeline stages with PassthroughStage or create custom rendering stages instead.", + DeprecationWarning, + stacklevel=2, + ) self.name = name self.category = "render" self.optional = False