From c62709584d72b213ddbc5f6bbdca4c870fd716de Mon Sep 17 00:00:00 2001 From: Kayshen-X Date: Tue, 12 May 2026 02:54:50 +0800 Subject: [PATCH] docs(shell-core): refresh property_panel_visible doc-comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stale comment said "multi-select hides pending an aggregated- properties UI" — the aggregated UI landed in 8d51b110 and was hardened in 38ad5a47, so the comment now contradicts the implementation. Updated to describe the actual unified gate. --- .../openpencil-shell-core/src/document/mutators.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/crates/openpencil-shell-core/src/document/mutators.rs b/crates/openpencil-shell-core/src/document/mutators.rs index 0ed52ec52..42d43a1bb 100644 --- a/crates/openpencil-shell-core/src/document/mutators.rs +++ b/crates/openpencil-shell-core/src/document/mutators.rs @@ -356,14 +356,10 @@ impl Document { /// paint. Single source of truth so the host's /// `canvas_region` math, the panel's `for_selection_at` /// gate, and `apply_press` commit-on-blur all stay in lock- - /// step. Today: single-select with a resolvable anchor. - /// Multi-select hides pending an aggregated-properties UI; - /// stale single anchors (e.g. selection points at a node on - /// a non-active page, or an id that's been removed) hide too - /// since the panel itself returns `None` from - /// `for_selection_at` in that case (codex stop-hook fix: - /// reserving the rail when the panel won't paint left a - /// blank strip). + /// step. Visible when at least one id in `selected_set` + /// resolves on the active page — same gate for single and + /// multi-select (multi-select paints an aggregate snapshot + /// via `NodeSnapshot::from_multi_selection`). pub fn property_panel_visible(&self) -> bool { // Single + multi treat 0x0 nodes identically: panel shows // as long as at least one id resolves on the active page.