From 482b486ad1befe844dccaeb47bf0a3be5ff41ae9 Mon Sep 17 00:00:00 2001 From: Mike Stankavich Date: Thu, 20 Aug 2026 13:10:10 -0500 Subject: [PATCH 1/3] docs: state that Locate's readouts decay instead of freezing The app tour described the Statistics panel as though its values simply tracked a search, and said the signal history appears "once a search is running". Neither matches the app: the gauge, Current, Average, Peak and Update Rate all follow the live read stream, so they fall back to No signal and 0 Hz when reads stop or the target EPC changes, and the history panel renders only while the tag is actually being heard. Spells out the operator-facing contract that a reading on screen means the tag is being heard right now, while noting the two deliberate exceptions: Status stays Searching through a search that returns nothing, and Last search - Peak RSSI is retained as history. Refs: TRA-1123 --- docs/app-tour/locate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/app-tour/locate.md b/docs/app-tour/locate.md index b45d385..414e5f5 100644 --- a/docs/app-tour/locate.md +++ b/docs/app-tour/locate.md @@ -16,7 +16,7 @@ description: Find a specific item by walking the area with a handheld reader. ## What this page does -Locate is a proximity finder for a single tag. You paste a **Tag EPC Identifier** into the field, then either press the on-screen **Start** button (enabled once a reader is connected) or press and hold the physical trigger — both begin the same search. A semicircular **Signal Strength** gauge, scaled in dBm from -100 to -20 and banded red-to-green, updates in real time as you walk: stronger signal means the tag is closer. A **Statistics** panel tracks Current / Average (1s) / Peak readings, an update rate in Hz, and an overall Status (Idle / Searching), and a rolling 10-second signal history sits alongside it once a search is running. An **Audio Feedback** toggle, on by default, plays a tone whose pitch rises with signal strength so you don't need to look at the screen while hunting. +Locate is a proximity finder for a single tag. You paste a **Tag EPC Identifier** into the field, then either press the on-screen **Start** button (enabled once a reader is connected) or press and hold the physical trigger — both begin the same search. A semicircular **Signal Strength** gauge, scaled in dBm from -100 to -20 and banded red-to-green, updates in real time as you walk: stronger signal means the tag is closer. A **Statistics** panel tracks Current / Average (1s) / Peak readings, an update rate in Hz, and an overall Status (Idle / Searching); a rolling 10-second signal history appears alongside it whenever the tag is being heard. The gauge and those four readings follow the live read stream rather than the search itself — when reads stop, or you retarget to a different EPC, they fall back to **No signal** and 0 Hz rather than holding the last value, so a reading on screen always means the tag is being heard right now. Status still shows **Searching** while a search is running even when nothing is coming back, and the line under the EPC field deliberately keeps the finished search's best reading as `Last search - Peak RSSI`. An **Audio Feedback** toggle, on by default, plays a tone whose pitch rises with signal strength so you don't need to look at the screen while hunting. ## How it fits in the app From 3a6a94b7eabce6a671e5e1eacd91322bb44c9588 Mon Sep 17 00:00:00 2001 From: Mike Stankavich Date: Thu, 20 Aug 2026 13:20:02 -0500 Subject: [PATCH 2/3] docs: split the Locate readouts into their own paragraph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The preview build read as a wall of text: describing the surface and explaining how to read the numbers ran together into one block well past the length of the sibling tour pages. Splits at the seam between the two kinds of content — what is on screen stays in the first paragraph, alongside its siblings' level of detail, and the live-read contract moves to a second. Names the four decaying readouts explicitly now that they no longer sit next to the list they referred back to. No heading structure added: every other app-tour page is a single section with no subsections, and this keeps that shape. Refs: TRA-1123 --- docs/app-tour/locate.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/app-tour/locate.md b/docs/app-tour/locate.md index 414e5f5..df7777c 100644 --- a/docs/app-tour/locate.md +++ b/docs/app-tour/locate.md @@ -16,7 +16,9 @@ description: Find a specific item by walking the area with a handheld reader. ## What this page does -Locate is a proximity finder for a single tag. You paste a **Tag EPC Identifier** into the field, then either press the on-screen **Start** button (enabled once a reader is connected) or press and hold the physical trigger — both begin the same search. A semicircular **Signal Strength** gauge, scaled in dBm from -100 to -20 and banded red-to-green, updates in real time as you walk: stronger signal means the tag is closer. A **Statistics** panel tracks Current / Average (1s) / Peak readings, an update rate in Hz, and an overall Status (Idle / Searching); a rolling 10-second signal history appears alongside it whenever the tag is being heard. The gauge and those four readings follow the live read stream rather than the search itself — when reads stop, or you retarget to a different EPC, they fall back to **No signal** and 0 Hz rather than holding the last value, so a reading on screen always means the tag is being heard right now. Status still shows **Searching** while a search is running even when nothing is coming back, and the line under the EPC field deliberately keeps the finished search's best reading as `Last search - Peak RSSI`. An **Audio Feedback** toggle, on by default, plays a tone whose pitch rises with signal strength so you don't need to look at the screen while hunting. +Locate is a proximity finder for a single tag. You paste a **Tag EPC Identifier** into the field, then either press the on-screen **Start** button (enabled once a reader is connected) or press and hold the physical trigger — both begin the same search. A semicircular **Signal Strength** gauge, scaled in dBm from -100 to -20 and banded red-to-green, updates in real time as you walk: stronger signal means the tag is closer. A **Statistics** panel tracks Current / Average (1s) / Peak readings, an update rate in Hz, and an overall Status (Idle / Searching); a rolling 10-second signal history appears alongside it whenever the tag is being heard. An **Audio Feedback** toggle, on by default, plays a tone whose pitch rises with signal strength so you don't need to look at the screen while hunting. + +The gauge, Current, Average, Peak, and Update Rate all follow the live read stream rather than the search itself — when reads stop, or you retarget to a different EPC, they fall back to **No signal** and 0 Hz rather than holding the last value, so a reading on screen always means the tag is being heard right now. Status still shows **Searching** while a search is running even when nothing is coming back, and the line under the EPC field deliberately keeps the finished search's best reading as `Last search - Peak RSSI`. ## How it fits in the app From 80210d4fa9ea431c4f14854a60809d2f6e400f7e Mon Sep 17 00:00:00 2001 From: Mike Stankavich Date: Thu, 20 Aug 2026 13:23:09 -0500 Subject: [PATCH 3/3] docs: give Locate's readouts a table instead of prose Decay behavior is a per-readout property, which is tabular data. In prose, answering "does Peak persist?" meant parsing two sentences and holding the exclusions in your head; as a table it is one row. Adds a "Reading the signal" subsection so the contract is linkable and picked up by the right-rail table of contents. No other app-tour page has a subsection, but that shape is unreviewed generated output rather than a considered convention, so it is not a reason to keep prose that serves the reader worse. Keeps both exceptions explicit after the table: Status reports the search rather than the signal, and Last search - Peak RSSI is the one value retained on purpose. Refs: TRA-1123 --- docs/app-tour/locate.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/app-tour/locate.md b/docs/app-tour/locate.md index df7777c..eacfd10 100644 --- a/docs/app-tour/locate.md +++ b/docs/app-tour/locate.md @@ -16,9 +16,24 @@ description: Find a specific item by walking the area with a handheld reader. ## What this page does -Locate is a proximity finder for a single tag. You paste a **Tag EPC Identifier** into the field, then either press the on-screen **Start** button (enabled once a reader is connected) or press and hold the physical trigger — both begin the same search. A semicircular **Signal Strength** gauge, scaled in dBm from -100 to -20 and banded red-to-green, updates in real time as you walk: stronger signal means the tag is closer. A **Statistics** panel tracks Current / Average (1s) / Peak readings, an update rate in Hz, and an overall Status (Idle / Searching); a rolling 10-second signal history appears alongside it whenever the tag is being heard. An **Audio Feedback** toggle, on by default, plays a tone whose pitch rises with signal strength so you don't need to look at the screen while hunting. +Locate is a proximity finder for a single tag. You paste a **Tag EPC Identifier** into the field, then either press the on-screen **Start** button (enabled once a reader is connected) or press and hold the physical trigger — both begin the same search. A semicircular **Signal Strength** gauge, scaled in dBm from -100 to -20 and banded red-to-green, updates in real time as you walk: stronger signal means the tag is closer. A **Statistics** panel and a rolling signal history sit below it, and an **Audio Feedback** toggle, on by default, plays a tone whose pitch rises with signal strength so you don't need to look at the screen while hunting. -The gauge, Current, Average, Peak, and Update Rate all follow the live read stream rather than the search itself — when reads stop, or you retarget to a different EPC, they fall back to **No signal** and 0 Hz rather than holding the last value, so a reading on screen always means the tag is being heard right now. Status still shows **Searching** while a search is running even when nothing is coming back, and the line under the EPC field deliberately keeps the finished search's best reading as `Last search - Peak RSSI`. +### Reading the signal + +Every live readout follows the read stream rather than the search itself, so a value on screen means the tag is being heard **right now**. When reads stop — because you have walked out of range, the tag is not there, or you retargeted to a different EPC — they fall back rather than holding the last value. + +| Readout | Shows | When reads stop | +| --------------------------- | ----------------------------------- | ------------------------------------------------- | +| **Signal Strength** gauge | Current strength in dBm | **No signal** | +| **Current** | Most recent reading | **No signal** | +| **Average (1s)** | Mean over the last second | **No signal** | +| **Peak** | Strongest reading of this search | **No signal** | +| **Update Rate** | Readings per second | **0 Hz** | +| Signal history | Rolling 10-second trace | Disappears | +| **Status** | Whether a search is running | Stays **Searching** until you stop | +| **Last search - Peak RSSI** | Best reading of the finished search | Retained — this line is history, not a live value | + +Two of those are deliberate exceptions. **Status** reports the search, not the signal, so it keeps saying **Searching** even when nothing is coming back — that is how you tell "still looking" from "found nothing yet". And **Last search - Peak RSSI**, under the EPC field, is the one place a finished search's best reading is kept on purpose. ## How it fits in the app