Commit Graph

52 Commits

Author SHA1 Message Date
Nathan Schneider
897c30406b Reorganize directory, add manual dataset and sync tooling
- Move all scripts to scripts/, web assets to web/, analysis results
  into self-contained data/readings/<type>_<YYYYMMDD>/ directories
- Add data/readings/manual_20260320/ with 32 JSON readings from
  git.medlab.host/ntnsndr/protocol-bicorder-data
- Add scripts/json_to_csv.py to convert bicorder JSON files to CSV
- Add scripts/sync_readings.sh for one-command sync + re-analysis of
  any dataset backed by a .sync_source config file
- Add scripts/classify_readings.py to apply the LDA classifier to all
  readings and save per-reading cluster assignments
- Add --min-coverage flag to multivariate_analysis.py for sparse/shortform
  datasets; also applies in lda_visualization.py
- Fix lda_visualization.py NaN handling and 0-d array annotation bug
- Update README.md and WORKFLOW.md to document datasets, sync workflow,
  shortform handling, and new scripts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 17:35:13 -06:00
Nathan Schneider
0c794dddae Improve layout responsiveness on narrow windows
Prevent horizontal overflow with overflow-x: hidden on body. Make the
gradient bar fill its container in focused mode (width: 100%;
min-width: 0) rather than holding a fixed minimum width.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 15:56:58 -06:00
Nathan Schneider
721b588a2b Fix layout cutoff on narrow desktop windows
Raise responsive layout breakpoints from 768px to 900px across all
components. This ensures narrow desktop browser windows (769–900px)
get the stacked, single-column layout rather than the three-column
grid that was too wide for those widths. The 768px breakpoint in
app.css is kept as-is since it only adjusts font sizes for iOS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 15:27:59 -06:00
Nathan Schneider
f1ae9cac1f Derive classifier dimensions from bicorder.json automatically
Both export_model_for_js.py and bicorder_classifier.py now read
DIMENSIONS and KEY_DIMENSIONS directly from bicorder.json at runtime,
so the model stays in sync whenever gradient terms are renamed or
added. A COLUMN_RENAMES dict handles historical CSV column name
changes. The model now includes bicorder_version so the app's version
check works correctly.

Regenerated bicorder_model.json against bicorder.json v1.2.6 with
correct dimension names, 9 key dimensions from shortform flags, and
updated thresholds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 15:13:54 -06:00
Nathan Schneider
5232e760be Update help/about text
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 15:12:19 -06:00
Nathan Schneider
50b7821596 Allow text selection in the interface
Remove user-select: none from body, keeping it only on interactive
elements (buttons, sliders, tooltips) where it prevents accidental
selection during interaction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 14:31:43 -06:00
Nathan Schneider
4589fba64e Fix upload dialog visibility and mobile overflow
Move the upload confirmation dialog above the action buttons so it's
immediately visible, and add overflow-safe CSS to prevent text from
spilling outside the dialog box on mobile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 13:59:19 -06:00
Nathan Schneider
730075f757 Tweaks to analysis readme 2026-03-03 20:42:07 -07:00
Nathan Schneider
61dac6ff28 Changed major LDA category names 2026-02-21 17:25:22 -07:00
Nathan Schneider
62a6b0ba2c analysis updates 2026-02-21 17:13:15 -07:00
Nathan Schneider
b004e9fb19 Analysis changes 2026-01-25 22:55:30 -07:00
Nathan Schneider
900ec1a6af Merge branch 'main' of https://git.medlab.host/ntnsndr/protocol-bicorder 2026-01-25 22:54:32 -07:00
Nathan Schneider
57b780fe95 Additional analysis in app and tweaked json descriptions 2026-01-25 22:48:54 -07:00
6209990436 Updated README ASCII 2026-01-19 22:04:12 +00:00
Nathan Schneider
f53ada8196 User experience improvements to the focused mode 2026-01-18 16:59:56 -07:00
Nathan Schneider
56d1f7e11e Improved analysis screen on focused mode. 2026-01-17 22:58:24 -07:00
Nathan Schneider
d1f288cda8 Adjusted the classifier to reduce false flags 2026-01-14 22:44:32 -07:00
Nathan Schneider
6230e6da7b Added arrows to focused view for clarity 2026-01-14 22:35:27 -07:00
Nathan Schneider
3355ed9f02 Added synthetic_readings JSON files to analysis 2026-01-14 21:59:28 -07:00
Nathan Schneider
7829141756 Analysis updates and json tweaks 2026-01-14 21:42:23 -07:00
Nathan Schneider
1b508b911f Added classifer analysis to bicorder ascii and web app 2025-12-21 21:38:39 -07:00
Nathan Schneider
b541f85553 Additional analysis: examining clustering via LDA 2025-12-19 11:40:45 -07:00
Nathan Schneider
d62d9205ac Updated logo/icon 2025-12-18 13:38:44 -07:00
Nathan Schneider
cbcb06ff01 Added Description support to bicorder.txt 2025-12-18 11:10:14 -07:00
Nathan Schneider
7914f14807 Adjusted some terms 2025-12-18 11:06:38 -07:00
Nathan Schneider
2827c9c7f4 Removed unnecessary Value field on web app 2025-12-18 11:03:47 -07:00
Nathan Schneider
7a57c29202 Updated ASCII slider interface 2025-12-18 10:44:15 -07:00
Nathan Schneider
b461d759e5 Set short-form as default 2025-12-18 10:30:47 -07:00
Nathan Schneider
72d3c513b1 Added description field 2025-12-18 10:30:13 -07:00
Nathan Schneider
ad4b2a0a7c Removed redundant Share button 2025-12-18 10:24:27 -07:00
Nathan Schneider
912e209b80 Added contextual content to the web app, some aesthetic improvements 2025-12-02 22:28:15 -07:00
Nathan Schneider
f123db6faf Added description table to the ascii output 2025-12-02 15:27:09 -07:00
Nathan Schneider
8edc0df755 Updated bicorder.txt with last json change 2025-12-02 15:10:54 -07:00
Nathan Schneider
8691ee0f7f Replaced exclusive with monopolistic/pluralistic 2025-12-02 14:46:45 -07:00
Nathan Schneider
0e437d2b88 Added Focused mode as default. Also finally adding the icons correctly. 2025-11-29 20:19:08 -05:00
Nathan Schneider
bcc6727917 Better fix on mobile tooltips 2025-11-29 17:10:02 -05:00
Nathan Schneider
af52f32330 Created icon for PWA and web 2025-11-29 17:05:15 -05:00
Nathan Schneider
d278e8998a Fixed mobile tooltip positioning on mobile 2025-11-29 16:57:07 -05:00
Nathan Schneider
240401b9cb Fixed commit date issue on JSON upload 2025-11-25 13:38:38 -05:00
Nathan Schneider
aac6334380 Fixed JSON version issue in commit message 2025-11-25 13:30:11 -05:00
Nathan Schneider
b541f6049e First commit for bicorder-app 2025-11-25 13:20:21 -05:00
Nathan Schneider
3a55d3dbb9 Updated the bicorder to permit a shortform based on analysis 2025-11-25 13:15:41 -05:00
Nathan Schneider
7be67c9eb5 Adjustments to analysis and AI disclaimer 2025-11-23 09:27:51 -05:00
Nathan Schneider
dd5f71e7ad Added user feedback to bicorder spec 2025-11-22 12:59:48 -05:00
Nathan Schneider
998c93b3f9 Legacy bicorder version added to analysis folder 2025-11-21 19:35:24 -07:00
Nathan Schneider
fa527bd1f1 Initial analysis 2025-11-21 19:34:33 -07:00
Nathan Schneider
7ba4a069a2 Removed extra whitespace from ascii_bicorder.py script 2025-11-21 19:32:47 -07:00
Nathan Schneider
04eee1360f Formatting and clarity improvements 2025-11-21 11:43:13 -07:00
Nathan Schneider
dcfd37fa4c Initial analysis complete 2025-11-16 23:47:10 -07:00
Nathan Schneider
815ed9d6f4 Set up analysis scripts 2025-10-30 10:56:21 -06:00