Commit graph

15 commits

Author SHA1 Message Date
matt
345dfb3e01 perf: improve commander selection speed and fix color identity display 2025-10-19 13:29:47 -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
8435312c8f feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -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
07a92eb47f chore(release): v2.2.9 misc land variety, land alternatives randomization, scroll flicker fix 2025-09-10 16:20:38 -07:00
matt
341a216ed3 feat(web): Multi-Copy modal earlier; Multi-Copy stage before lands; bump version to 2.1.1; update CHANGELOG\n\n- Modal triggers after commander selection (Step 2)\n- Multi-Copy applied first in Step 5, lands next\n- Keep mc_summary/clamp/adjustments wiring intact\n- Tests green 2025-08-29 09:19:03 -07:00
matt
8d1f6a8ac4 feat(web,docs): visual summaries (curve, pips/sources incl. 'C', non‑land sources), tooltip copy, favicon; diagnostics (/healthz, request‑id, global handlers); fetches excluded, basics CSV fallback, list highlight polish; README/DOCKER/release-notes/CHANGELOG updated 2025-08-26 20:00:07 -07:00
mwisnowski
625f6abb13 Web/builder: Owned stability+enrichment+exports; prefer-owned toggle & bias; staged build show-skipped; UI polish; docs update 2025-08-26 16:25:34 -07:00
mwisnowski
ff1912f979 Enacted some cleanup of builder.py. moved Imports to the top and cut out duplicate code/moved it to builder_utils.py 2025-08-19 15:00:28 -07:00
mwisnowski
b7ee6ea57d Finished core deck builder. Still need to do cleanup, implement cards that are not singleton, and pricing 2025-08-19 14:15:23 -07:00
mwisnowski
8478bc2534 Implemented logic for adding creatures by themes, with weighted values. Added logic for keeping track of how many cards with what themes have been added as well 2025-08-19 10:18:53 -07:00
mwisnowski
411f042af8 Builder tool has been restrcutured up through adding lands, still a bit of cleanup to do, but will come back after other parts 2025-08-19 09:00:51 -07:00
mwisnowski
a8a181c4af Started remaking the builder module, Currently up through adding the standard/staple lands 2025-08-18 11:58:25 -07:00
mwisnowski
a69a4c8384 Started work on redoing the builder module, moved existing code to new dir and setup new builder.py file 2025-08-15 10:11:56 -07:00
mwisnowski
dbbc8bc66e Moved the builder, tagger, and setup modules into their own folders, along with constants to help provide better clarity and readability. Additionally added a missing call for the tag_for_artifcact_triggers() function 2025-01-28 10:19:44 -08:00
Renamed from builder_utils.py (Browse further)