Commit graph

114 commits

Author SHA1 Message Date
matt
3c45a31aa3 refactor(web): finished JavaScript consolidation, tested JavaScript items, refined themes and color palettes, tested all themes and palettes, ensured all interactive lements use theme-aware css 2025-10-29 15:45:40 -07:00
matt
9379732eec refactor(web): consolidate inline JavaScript to TypeScript modules
Migrated app.js and components.js to TypeScript. Extracted inline scripts from base.html to cardHover.ts and cardImages.ts modules for better maintainability and code reuse.
2025-10-29 10:44:29 -07:00
matt
ed381dfdce refactor(web): remove legacy card hover system (~230 lines of dead code) 2025-10-28 17:35:47 -07:00
matt
6a94b982cb overhaul: migrated basic JavaScript to TypeScript, began consolidation efforts 2025-10-28 16:17:55 -07:00
matt
b994978f60 overhaul: migrated to tailwind css for css management, consolidated custom css, removed inline css, removed unneeded css, and otherwise improved page styling 2025-10-28 08:21:52 -07:00
matt
f1e21873e7 feat: implement batch build and comparison 2025-10-20 18:29:53 -07:00
matt
d965410200 fix: add commander_cards.parquet to GitHub download 2025-10-19 13:58:19 -07:00
matt
345dfb3e01 perf: improve commander selection speed and fix color identity display 2025-10-19 13:29:47 -07:00
matt
505bbdf166 fix: handle numpy arrays in card_similarity parse_theme_tags
The similarity cache build was failing because parse_theme_tags() was checking isinstance(tags, list) but Parquet files return numpy.ndarray objects. This caused all cards to be flagged as having no theme tags, resulting in an empty cache.

Changed to use hasattr(__len__) check instead, which works for both lists and numpy arrays.
2025-10-19 08:26:20 -07:00
matt
bff64de370 fix: systematically handle numpy arrays from Parquet files across codebase
- Add ensure_theme_tags_list() utility to builder_utils for simpler numpy array handling
- Update phase3_creatures.py: 6 locations now use bu.ensure_theme_tags_list()
- Update phase4_spells.py: 9 locations now use bu.ensure_theme_tags_list()
- Update tagger.py: 2 locations use hasattr/list() for numpy compatibility
- Update extract_themes.py: 2 locations use hasattr/list() for numpy compatibility
- Fix build-similarity-cache.yml verification script to handle numpy arrays
- Enhance workflow debug output to show complete row data

Parquet files return numpy.ndarray objects for array columns, not Python lists.
The M4 migration added numpy support to canonical parse_theme_tags() in builder_utils,
but many parts of the codebase still used isinstance(list) checks that fail with arrays.
This commit systematically replaces all 19 instances with proper numpy array handling.

Fixes GitHub Actions workflow 'RuntimeError: No theme tags found' and verification failures.
2025-10-18 22:47:09 -07:00
matt
db0b0ccfdb fix: handle numpy arrays in parse_theme_tags
Parquet files return numpy arrays, not Python lists. Added conversion
from ndarray to list before processing theme tags.
2025-10-18 22:39:53 -07:00
matt
7a94e195b7 fix: remove incorrect import inside loop - functions are in same file 2025-10-18 22:36:45 -07:00
matt
29b5da4778 fix: correct DataFrame column filtering and enhance debug output
- Fix KeyError in generate_theme_catalog.py: use isCommander column correctly
- DataFrame.get() doesn't work like dict.get() - use column name directly
- Enhanced debug step to print full row data for better diagnostics
2025-10-18 22:32:54 -07:00
matt
30dfca0b67 fix: remove CSV fallback from theme catalog generation, add Parquet debug step
- Remove CSV fallback logic (Parquet-only in M4 migration)
- Add better error messages when Parquet file missing or empty
- Add workflow debug step to inspect Parquet file after tagging
- Simplify build_theme_catalog function signature
2025-10-18 22:22:35 -07:00
matt
9e6c3e66e9 fix: update generate_theme_catalog to use processed/ directory 2025-10-18 22:11:46 -07:00
matt
5ebd3c829e fix: create tagging completion flag in processed directory 2025-10-18 22:02:12 -07:00
matt
e92f2ccfb4 fix: handle themeTags as list in similarity cache builder 2025-10-18 21:50:12 -07:00
matt
b92918581e fix: use correct processed/ path for similarity cache building 2025-10-18 21:43:04 -07:00
matt
8435312c8f feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
matt
0f4d165201 feat(ui): add similar cards refresh button and reduce sidebar animation distractions 2025-10-17 18:40:15 -07:00
matt
c2960c808e Add card browser with similar cards and performance optimizations 2025-10-17 16:17:36 -07:00
matt
a8dc1835eb feat(card-browser): advanced filters, keyboard shortcuts, and responsive design 2025-10-16 19:02:33 -07:00
matt
bec984ce3e Add colorless commander filtering and display fixes 2025-10-16 11:20:27 -07:00
matt
77302f895f feat: improve theme browser performance and add keyboard navigation 2025-10-15 18:10:17 -07:00
matt
9e6c68f559 feat: theme catalog optimization with tag search and faster enrichment 2025-10-15 17:17:46 -07:00
matt
f70ffca23e feat: consolidate card data into optimized format for faster queries and reduced file sizes 2025-10-15 11:04:49 -07:00
matt
3647d04eec fix: Quick Build UI now uses full-width layout on desktop 2025-10-14 17:47:27 -07:00
matt
35bff901d2 feat: add ideal counts slider UI with smart validation 2025-10-14 16:45:49 -07:00
matt
9ab3835e2a feat: stage reordering, skip controls, quick build, and commander session cleanup 2025-10-14 16:09:58 -07:00
matt
bf60da89cd bugfix: removed owned bade on alternatives and added a specific close button to remove any confusion 2025-10-13 16:02:12 -07:00
matt
4a8d71b16b feature: add non-basic land types to tagging mechanics 2025-10-13 15:07:31 -07:00
matt
21aecb4b6e bugfix: Fixed custom theme selection and fuzzy matching issue 2025-10-13 12:59:52 -07:00
matt
37583ba0c5 feature: added 'Web-slinging' tag to tagger modules 2025-10-13 09:43:29 -07:00
matt
0dd5b4cf64 maintenance: cleaned up, consolidated, and refined codebase for tagging 2025-10-12 21:26:37 -07:00
matt
f2863ef362 feat: complete protection scope filtering with pool limiting 2025-10-09 17:29:57 -07:00
matt
06d8796316 feat: add keyword normalization and protection grant detection, fix template syntax and polling issues 2025-10-08 21:06:29 -07:00
matt
20b9e8037c feat: add collapsible analytics, click-to-pin chart tooltips, and extended virtualization 2025-10-08 11:38:30 -07:00
matt
3877890889 feat: optimize must-have controls and commander catalog 2025-10-07 15:56:57 -07:00
matt
b7bfc4ca09 feat(ui): add debounce helper and skeleton polish 2025-10-07 11:35:43 -07:00
matt
beea79c76a maintenance: properly implemented preview popup for alternative cards, allowed re-selection of alternative cards 2025-10-06 14:12:17 -07:00
matt
9606149138 bugfix: removed erroneous pytest import in failing CI task 2025-10-06 09:56:27 -07:00
matt
7679176414 bugfix: update editorial_governance to use small smaple set of themes instead of looking for the full library 2025-10-06 09:50:56 -07:00
matt
d416c9b238 feat: Added Partners, Backgrounds, and related variation selections to commander building. 2025-10-06 09:17:59 -07:00
matt
9428e09cef feat: add supplemental theme catalog tooling, additional theme selection, and custom theme selection 2025-10-03 10:43:24 -07:00
mwisnowski
a512f9b290
Merge branch 'main' into bugfix/fix-ci-testing 2025-10-02 17:11:35 -07:00
matt
e31c230e3b fix(ci): relax headless commander validation 2025-10-02 17:09:07 -07:00
matt
88cf832bf2 Finalize MDFC follow-ups, docs, and diagnostics tooling
document deck summary DFC badges, exporter annotations, and per-face metadata across README/DOCKER/release notes

record completion of all MDFC roadmap follow-ups and add the authoring guide for multi-face CSV entries

wire in optional DFC_PER_FACE_SNAPSHOT env support, exporter regression tests, and diagnostics updates noted in the changelog
2025-10-02 15:31:05 -07:00
matt
4b3ddf5853 fix(setup): restore security stamp filtering 2025-10-01 11:11:44 -07:00
matt
0448419d9f feat(web): refine commander search and theme UX 2025-10-01 10:54:32 -07:00
matt
0abae06a6e build(ci): harden preview perf gate startup 2025-09-30 16:12:04 -07:00