Commit graph

48 commits

Author SHA1 Message Date
matt
5904ff1a3d chore: fix the test_bracket_policy_applier test from overwriting the files in confg/card_files when ran 2025-09-12 11:21:55 -07:00
matt
947adacfe2 test: convert tests to pytest assertions; add server-availability skips; clean up warnings and minor syntax/indent issues 2025-09-12 10:50:57 -07:00
matt
f28f8e6b4f web(ui): move theme controls to sidebar bottom, tighten Test Hand fan arc, set desktop to 280x392; mobile banner cleanup; bump version to 2.2.10 and update compose APP_VERSION; cache-bust CSS 2025-09-11 14:54:35 -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
6fe8a7af89 cleanup: removed unneeded debug scripts that were accidentally left behind 2025-09-10 07:42:03 -07:00
matt
3e4395d6e9 feat: complete include/exclude observability, fix validation bugs, and organize tests
- Add structured logging for include/exclude operations with comprehensive event tracking
- Fix duplicate counting bug in validation API by eliminating double validation passes
- Simplify color identity validation UX by consolidating into single 'illegal' status
- Organize project structure by moving all test files to centralized code/tests/ directory
- Update documentation reflecting feature completion and production readiness
- Add validation test scripts and performance benchmarks confirming targets met
- Finalize include/exclude feature as production-ready with EDH format compliance
2025-09-09 20:18:03 -07:00
matt
f77bce14cb feat: add structured logging for include/exclude decisions 2025-09-09 19:13:01 -07:00
matt
abea242c16 feat(cli): add type indicators, ideal count args, and theme name support
Enhanced CLI with type-safe help text, 8 ideal count flags (--land-count, etc), and theme selection by name (--primary-tag)
2025-09-09 18:52:47 -07:00
matt
cfcc01db85 feat: complete M3 Web UI Enhancement milestone with include/exclude cards, fuzzy matching, mobile responsive design, and performance optimization
- Include/exclude cards feature complete with 300+ card knowledge base and intelligent fuzzy matching
- Enhanced visual validation with warning icons and performance benchmarks (100% pass rate)
- Mobile responsive design with bottom-floating controls, two-column layout, and horizontal scroll prevention
- Dark theme confirmation modal for fuzzy matches with card preview and alternatives
- Dual architecture support for web UI staging system and CLI direct build paths
- All M3 checklist items completed: fuzzy match modal, enhanced algorithm, summary panel, mobile responsive, Playwright tests
2025-09-09 18:15:30 -07:00
matt
0516260304 feat: Add include/exclude card lists feature with web UI, validation, fuzzy matching, and JSON persistence (ALLOW_MUST_HAVES=1) 2025-09-09 09:36:17 -07:00
matt
668f1a7185 chore:fixing cli build due to missing variable in build phase 5 and the headless_runner not doing setup/tagging automatically 2025-09-05 12:46:49 -07:00
matt
375349e56e release: 2.2.6 – refresh bracket list JSONs; finalize brackets compliance docs and UI polish 2025-09-04 19:28:48 -07:00
mwisnowski
4e03997923 Bracket enforcement + inline gating; global pool prune; compliance JSON artifacts; UI combos gating; compose envs consolidated; fix YAML; bump version to 2.2.5 2025-09-03 18:00:06 -07:00
matt
0033f07783 Web: mobile UI polish; Multi-Copy opt-in + tag filter; banner subtitle inline; New Deck modal refinements; version bump to 2.2.4; update release notes template 2025-09-02 16:03:12 -07:00
mwisnowski
014bcc37b7 web: DRY Step 5 and alternatives (partial+macro), centralize start_ctx/owned_set, adopt builder_* 2025-09-02 11:39:14 -07:00
mwisnowski
fe9aabbce9 chore(release): v2.2.3 - fixed bug causing basic lands to not be added; updated removal tagging logic causing non-removal cards to be tagged due to wording 2025-09-01 20:20:04 -07:00
mwisnowski
6c48fb3437 feat(combos): add Combos & Synergies detection, chip-style UI with dual hover; JSON persistence and headless honoring; stage ordering; docs and tests; bump to v2.2.1 2025-09-01 16:55:24 -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
171fa5cbaf release: v2.0.1 — Web UI major upgrade, theming reset, diagnostics polish, docs refreshed 2025-08-28 16:44:58 -07:00
matt
721e1884af feat: locks/replace/compare/permalinks; perf: virtualization, LQIP, caching, diagnostics; add tests, docs, and issue/PR templates (flags OFF) 2025-08-28 14:57:22 -07:00
mwisnowski
f8c6b5c07e Web UI polish: thumbnail-hover preview, white thumbnail selection, Themes bullet list; global Scryfall image retry (thumbs+previews) with fallbacks and cache-bust; standardized data-card-name. Deck Summary alignment overhaul (count//name/owned grid, tabular numerals, inset highlight, tooltips, starts under header). Added diagnostics (health + logs pages, error pages, request-id propagation), global HTMX error toasts, and docs updates. Update DOCKER guide and add run-web scripts. Update CHANGELOG and release notes template. 2025-08-27 11:21:46 -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
fd7fc01071 Web + backend: propagate tag_mode (AND/OR) end-to-end; AND-mode overlap prioritization for creatures and theme spells; headless configs support tag_mode; add Scryfall attribution footer and configs UI indicators; minor polish. (#and-overlap-pass) 2025-08-26 11:34:42 -07:00
mwisnowski
0f73a85a4e Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows 2025-08-26 09:48:25 -07:00
mwisnowski
8fa040a05a build(windows): fix PyInstaller packaging\n\n- Add spec file with hiddenimports and data dirs\n- Use spec in release workflow; fallback to --paths code\n- Insert ./code into sys.path when frozen to resolve local imports 2025-08-25 09:57:02 -07:00
mwisnowski
acfb29cafb feat(owned-cards): add owned-only workflow, multi-file parsing, and recommendations export\n\n- Prompt to use only owned cards (gated by presence of lists)\n- Support .txt/.csv owned lists, multi-select; commander exempt\n- Owned-only filtering + add guard; recommendations CSV/TXT when incomplete\n- CSV Owned column when not owned-only\n- Docs and Docker updated (owned_cards + config mounts)\n- CI: Windows EXE on tag; Docker Hub tag fix (no major.minor)\n- Changelog added; RELEASE_NOTES.md ignored 2025-08-25 09:48:05 -07:00
matt
5f922835a6 chore(release): v1.1.2 bump, notes/template + README updates, Docker Hub description updater, headless/docs tweaks 2025-08-23 15:29:45 -07:00
matt
fd2530cea3 Release v1.1.1: headless README flags + DockerHub notes auto from template 2025-08-22 16:46:44 -07:00
matt
99005c19f8 Release v1.1.0: headless runner + tagging updates (Discard Matters, Freerunning, Craft, Spree, Explore/Map, Rad, Energy/Resource Engine, Spawn/Scion) 2025-08-22 16:32:39 -07:00
matt
cb710d37ed feat!: auto-setup/tagging; direct builder + rerun prompt; fix(type-summary, .txt dup); refactor(export filenames); ci(DockerHub+GH releases); docs(minimal Windows guide, release notes template) 2025-08-21 17:01:21 -07:00
mwisnowski
6fc859b766 Planned first release 2025-08-21 10:50:22 -07:00
mwisnowski
661bf236d9 Preperly functional Docker instance created and working 2025-08-21 10:28:10 -07:00
mwisnowski
4872b57c63 REstoring accidentally removed functions fro mtag_utils 2025-08-21 09:19:58 -07:00
mwisnowski
0135eeeb3d Finished modularization with assistance from Github copilot 2025-08-21 08:40:31 -07:00
mwisnowski
d9b56d8e12 Add text file export along with csv, for easy import into moxfield or other deck building sites 2025-08-20 11:17:51 -07:00
mwisnowski
760c36d75d With assistance from Github CoPilot, massively overhauled the builder functionality, splitting it into smaller modules to provide a better step-by-step focus and drastically reduce the overall size of the core builder module 2025-08-20 10:46:23 -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
dd04dd0505 Revert "Massively overhauled the tagging process, refactored code to improve general effeciciency, implemented parallel processing to reduce total runtime"
This reverts commit 27ee13fb54.
2025-08-15 10:04:19 -07:00
mwisnowski
039b8fe89e Consolidated constants that are duplicated in various constant files. Implemented dataclass methodoligies for tagging counter-related cards tagging 2025-08-15 09:36:37 -07:00
mwisnowski
27ee13fb54 Massively overhauled the tagging process, refactored code to improve general effeciciency, implemented parallel processing to reduce total runtime 2025-08-14 11:21:09 -07:00
mwisnowski
02e2c09874 Restructured and removed redundant code for setup 2025-08-13 11:46:39 -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