Commit 025d38d
docs(readme): fix broken examples, correct counts, surface missing features (#209)
* docs(readme): correct widget-type count from 21 to 19
The DashboardWidgetRegistry seeds exactly 19 built-in widget types
(verified via DashboardWidgetRegistry.types() in a live session and by
counting concrete *Widget.m classes in libs/Dashboard/). The README
claimed 21 in three places (badges line, dashboard feature list, and
What's in the box). Corrected all three to match the code.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): replace wrong '6 themes' with accurate themes + palettes
FastSenseTheme has only 2 distinct presets (light, dark) — the four
legacy names (default/industrial/scientific/ocean) all alias to light,
and the engine's own error says 'Use light or dark'. The '6' conflated
the 2 themes with the 4 separate line-color palettes (vibrant, muted,
colorblind, ocean). Replaced '6 themes' with 'light & dark themes,
4 color palettes', verified against a live FastSenseTheme() session.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): fix broken TagRegistry.register calls in Tags example
The Tags quickstart called TagRegistry.register(press) with a single
argument, which errors at runtime (MATLAB:minrhs — register's signature
is register(key, tag)). Verified the original snippet throws and the
two-arg form renders cleanly end-to-end in a live MATLAB session.
Corrected both calls to pass the tag key:
TagRegistry.register('press_a', press)
TagRegistry.register('press_high', alarm)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): fix broken dashboard example (Label->Title, MonitorTag->Threshold)
The 'Build a dashboard' quickstart errored at runtime in two ways,
both verified in a live MATLAB session:
1. 'Label' is not a valid widget option (DashboardWidget:unknownOption).
number/gauge/status widgets all document 'Title'. Changed Label->Title.
2. A MonitorTag bound via 'Tag' routes to the Sensor slot (Sensor is a
backward-compat alias for Tag), and StatusWidget then reads .Y, which
MonitorTag lacks (MATLAB:noSuchMethodOrField 'Y'). StatusWidget's
documented contract wires a MonitorTag-backed indicator via
'Threshold'. Changed the status widget to 'Threshold', alarm.
Corrected snippet now renders all 4 widgets and round-trips through
save/load cleanly (ok=1, 4 widgets reloaded).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): correct examples count (40+ -> 70+) and run_all_examples claim
Two inaccuracies in the examples line, both verified against examples/:
- '40+ runnable scripts' undercounts — there are 72 example_*.m scripts
in the topic dirs (01-basics .. 07-advanced), 82 .m files total.
- 'Run them all with run_all_examples' is misleading: run_all_examples
executes a hardcoded curated list of 23 examples (prints
'FastSense Examples (23 total)'), not all 72. All 23 curated files
exist on disk.
Rewrote to '70+ runnable scripts ... run_all_examples plays a guided
tour of the highlights.'
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): add missing DerivedTag (5th Tag flavour)
The Tags section said 'four flavours' and listed only 4, but there are
5 concrete Tag subclasses (SensorTag, StateTag, MonitorTag, CompositeTag,
DerivedTag) — verified via superclasses() in a live session. DerivedTag
is the continuous-output counterpart to the 0/1 Monitor/Composite tags;
the README's own prose already promised 'derived signals' with no
matching table row.
- four -> five flavours; added a DerivedTag row (continuous signal from
other tags). Verified DerivedTag computes power=V.*I correctly over
1000 pts (matches expected to 1e-9).
- tightened CompositeTag's description to '0/1 aggregated from monitors'
to distinguish it from the continuous DerivedTag (per CompositeTag's
own header).
- added DerivedTag to the 'What's in the box' Tag list.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): surface per-widget info popups (flagship dashboard feature)
The README listed the dashboard's nested-layout and detach features but
omitted per-widget info popups — one of the three flagship features of
the Advanced Dashboard work. Every DashboardWidget has a Description
('Doc text shown in a popup when the widget's info (i) button is
clicked'); a non-empty Description renders an InfoIconButton that opens
a doc popup.
Verified in a live render: a widget WITH a Description shows exactly 1
InfoIconButton; a sibling without one shows none.
Added 'per-widget info popups' to the dashboard feature line and
'info popups' to the What's-in-the-box Dashboards recap.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs(readme): rename example variable fp -> fs (FastPlot relic)
The quickstart code blocks named the FastSense handle 'fp' — an
abbreviation of the project's old name (FastPlot). Renamed both blocks'
variable to 'fs' so the front-door examples match the current product
name. Verified the renamed '30 seconds in' snippet still renders
cleanly (ok=1).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 545b4b2 commit 025d38d
1 file changed
Lines changed: 28 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| |||
68 | 69 | | |
69 | 70 | | |
70 | 71 | | |
71 | | - | |
72 | | - | |
| 72 | + | |
| 73 | + | |
73 | 74 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
| |||
89 | 90 | | |
90 | 91 | | |
91 | 92 | | |
92 | | - | |
93 | | - | |
94 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
101 | | - | |
102 | | - | |
| 102 | + | |
| 103 | + | |
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
| |||
124 | 125 | | |
125 | 126 | | |
126 | 127 | | |
127 | | - | |
128 | | - | |
| 128 | + | |
| 129 | + | |
129 | 130 | | |
130 | | - | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
153 | 154 | | |
154 | 155 | | |
155 | 156 | | |
156 | | - | |
| 157 | + | |
157 | 158 | | |
158 | 159 | | |
159 | 160 | | |
| |||
0 commit comments