From ab296302d179ff7a3bd047591db35ff67c92a683 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 11 Sep 2026 04:41:05 +0300 Subject: [PATCH] test: register the space-switch witness for the two renderers (#525) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `smoke-select` answered НЕОПРЕДЕЛЁННОСТЬ on this diff: the smoke does not name `_renderDevice` or `_renderOpenings` anywhere — it switches spaces the ordinary way and reads running transitions off the nodes those renderers produced. That is exactly the case `scripts/smoke-links.mjs` exists for, and without the record the next edit to either renderer selects no witness at all. Issue: #525 User-Visible: no --- scripts/smoke-links.mjs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/smoke-links.mjs b/scripts/smoke-links.mjs index fc6a65ef..069e53ab 100644 --- a/scripts/smoke-links.mjs +++ b/scripts/smoke-links.mjs @@ -27,6 +27,15 @@ /** @type {SmokeLink[]} */ export const SMOKE_LINKS = [ + { + symbols: ['_renderDevice', '_renderOpenings'], + smokes: ['smoke_space_switch_transitions.mjs'], + because: '#525: the smoke never names these renderers — it switches spaces the ordinary way ' + + 'and reads running transitions off the nodes they produced. The contract it guards is ' + + 'list identity: a keyless list reuses a node by position, and the leaf of the next space ' + + 'then animates from the previous door\'s angle. Any edit to either renderer can drop the ' + + 'key without a single identifier of the smoke changing', + }, { symbols: ['LoadedSummaryPanelRuntime', 'SummaryPanelPresentation', 'renderSummaryPanelEditor', 'summaryPanelCss', 'summaryPanelEditorCss', 'summaryPanelDialogCss', 'summaryIcon'],