matt
e17dcf6283
feat(testing): add template validation suite and fix HTML structure issues
2025-11-04 10:08:49 -08:00
matt
40023e93b8
fix(lint): improved type checking and code maintainability
2025-10-31 10:11:00 -07:00
matt
83fe527979
fix(lint): improved type checking and code quality (77% error reduction)
2025-10-31 08:18:09 -07:00
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