Three related Reports/docs improvements (GTK3V2MAIN):
Add a "Creating a New Report" page to the Developer Documentation (Doxygen dev guide),
under docs/doxygen/creating-a-report.md, linked from mainpage.md before "Building and
Testing". Describes the shared reportsDialog_t viewer, the report-only vs. interactive
shapes, a step-by-step recipe (compute pass, reportsformat.c formatter, .ui file +
gresource registration, menu.c entry, unit test, .xtr fixture), debug logging, and a
gotchas section (stale-list use-after-free, shared indicator globals, hidden text
control, turntable special-casing) -- each cross-referenced to the real functions/SF
tickets involved.
Doxygen doc comments (and a few demo .xtr NOTE annotations) had drifted into citing
files that only exist on the maintainer's local machine -- ".claude/*.md" implementation
plans and (worse) literal "[[feedback_...]]"/"[[project_...]]" memory-link syntax that
leaked into shipped source and even into visible NOTE text in dmreportequip.xtr/
dmreportcurve.xtr/dmreporttracklen.xtr. Removed every such reference from reports.c,
reports.h, unittest/reportstest.c, the three .xtr fixtures, app/help/genmessages.c,
app/help/CMakeLists.txt, and app/doc/{CMakeLists.txt,Doxyfile.in,DoxygenLayout.xml,
intro.dox.in,known_missing_dialog_help.txt} -- replaced with the real SF ticket number
where one exists, or the reasoning inlined directly, so the comment stands on its own
for any reader/clone.
Unconnected Endpoints report: added a free-text "Note" column (reports.ui, replacing
the boolean "Nearby" column) built by a new pure function, ReportsFormatEndPtNote()
(reportsformat.c, unit tested), that combines whichever of "Turntable"/"Isolated"/
"Nearby" apply to a row. "Isolated" is new: a track where every endpoint is open (a
fully disconnected/"ghost" track), as opposed to a deliberate one-end-open dead-end
stub. "Turntable" flags a turntable stall (QueryTrack Q_CAN_ADD_ENDPOINTS), which is
open by design and never also flagged Isolated. The Note column is now included in
the exported Save/Print text too, not just the interactive list.
All changes build clean and pass the existing + new CMocka unit tests (reportstest, 56
tests) on GTK3V2MAIN.
Anonymous