Commit graph

4243 commits

Author SHA1 Message Date
Christian Daniel Jensen
eb7d9da060 Continuumatrice: add independent Linux desktop launcher 2026-11-03 18:58:12 -07:00
Christian Daniel Jensen
fad3af4c59 Continuumatrice: isolate Linux executable and desktop identity (theme_manager.cpp) 2026-11-03 18:58:12 -07:00
Christian Daniel Jensen
c76f0cd345 Continuumatrice: isolate Linux executable and desktop identity (window_main.cpp) 2026-11-03 18:58:12 -07:00
Christian Daniel Jensen
93f4549d43 Continuumatrice: isolate Linux executable and desktop identity (main.cpp) 2026-11-03 18:58:12 -07:00
Christian Daniel Jensen
81cb33571e Continuumatrice: isolate Linux executable and desktop identity (CMakeLists.txt) 2026-11-03 18:58:12 -07:00
Christian Daniel Jensen
e49d053838
Revert "Feature/continuumatrice product migration" 2026-11-03 18:51:23 -07:00
Christian Daniel Jensen
533d2f04c1
Merge pull request #8 from Continuum-Universes-Studio/feature/continuumatrice-product-migration
Feature/continuumatrice product migration
2026-11-03 18:45:57 -07:00
Christian Daniel Jensen
a969e4622c Add sixteen server-synchronized Essence resource pools per match player 2026-11-03 16:42:08 -07:00
Christian Daniel Jensen
00a7feff25 Jasper 2026-11-03 16:00:00 -07:00
Christian Daniel Jensen
3a9fd6e679 icon change 2026-11-03 16:00:00 -07:00
Christian Daniel Jensen
462b39b666 commit 2026-11-03 16:00:00 -07:00
Christian Daniel Jensen
6a535ee0a8 stuff 2026-11-03 16:00:00 -07:00
Christian Daniel Jensen
b766c72bc0 card branding 2026-11-03 16:00:00 -07:00
Christian Daniel Jensen
253dfed632 essence branding 2026-11-03 16:00:00 -07:00
Christian Daniel Jensen
7c1bd1c6a4 Identify Jasper Essence in filter icon tooltip and accessibility label 2026-11-03 15:11:30 -07:00
Christian Daniel Jensen
0d796bf1e0 Document sixteen Essence symbols in deck identity definition 2026-11-03 15:09:26 -07:00
Christian Daniel Jensen
1ea62d1a27 Add Jasper J placeholder icon for sixteenth Essence type 2026-11-03 15:09:14 -07:00
Christian Daniel Jensen
9b3335f3d3 Register Jasper J Essence symbol in Qt resource manifest 2026-11-03 15:09:00 -07:00
Christian Daniel Jensen
9eb4e2e503 Arrange sixteen Essence selections in 4x4 popup grid 2026-11-03 15:08:49 -07:00
Christian Daniel Jensen
fb5144c540 Support Jasper J as sixteenth Essence between Citrine C and Amber B 2026-11-03 15:08:27 -07:00
Christian Daniel Jensen
d4824ae6b8 Include exact Qt font metrics and std::move dependencies explicitly 2026-11-03 12:44:17 -07:00
Christian Daniel Jensen
49f2a10424 Fix empty catalogue loaded state and compact Essence selection behavior 2026-11-03 12:43:40 -07:00
Christian Daniel Jensen
5ebf12977d Fix empty catalogue loaded state and compact Essence selection behavior 2026-11-03 12:43:37 -07:00
Christian Daniel Jensen
44a6f04dd5 Keep Essence selection and mode inside one fixed-width popup to prevent toolbar clipping 2026-11-03 12:40:26 -07:00
Christian Daniel Jensen
54ccbc9cf9 Keep Essence selection and mode inside one fixed-width popup to prevent toolbar clipping 2026-11-03 12:40:24 -07:00
Christian Daniel Jensen
2b35b0a6ab Keep Essence selection and mode inside one fixed-width popup to prevent toolbar clipping 2026-11-03 12:40:20 -07:00
Christian Daniel Jensen
08e0eb3dab Keep Essence selection and mode inside one fixed-width popup to prevent toolbar clipping 2026-11-03 12:40:16 -07:00
Christian Daniel Jensen
c4b513bb24 Fix mutable QString reference required by CardFilter in Essence UI 2026-11-03 12:24:45 -07:00
Christian Daniel Jensen
39003f2208 Ensure Essence dropdown selected-code summary is visible with text-only button style 2026-11-03 12:16:11 -07:00
Christian Daniel Jensen
abe4dc2b8f Use shared multi-select Essence dropdown in Visual Database filters 2026-11-03 12:14:26 -07:00
Christian Daniel Jensen
39eb983fe9 Use shared multi-select Essence dropdown in Visual Database filters 2026-11-03 12:14:24 -07:00
Christian Daniel Jensen
fa86dbc09b Replace Visual Deck Storage WUBRG filter with compact Essence dropdown 2026-11-03 12:13:38 -07:00
Christian Daniel Jensen
8514122641 Replace Visual Deck Storage WUBRG filter with compact Essence dropdown 2026-11-03 12:13:34 -07:00
Christian Daniel Jensen
7864af9592 Replace Visual Deck Storage WUBRG filter with compact Essence dropdown 2026-11-03 12:13:29 -07:00
Christian Daniel Jensen
22714efc13 Add reusable compact multi-select Essence popup filter 2026-11-03 12:12:50 -07:00
Christian Daniel Jensen
4e21602fce Add reusable compact multi-select Essence popup filter 2026-11-03 12:12:47 -07:00
Christian Daniel Jensen
b0ac4af99a Set canonical Front Support Command battlefield palette 2026-11-03 09:15:19 -07:00
Christian Daniel Jensen
0bef2bbb8e Remove legacy MTG mana resource requirements; bundle only 15 Essence SVGs 2026-11-03 09:08:55 -07:00
Christian Daniel Jensen
343c96294c card branding 2026-11-03 03:49:01 -07:00
Christian Daniel Jensen
482d2dae28
Merge branch 'Cockatrice:master' into master 2026-11-03 03:39:31 -07:00
Christian Daniel Jensen
afa4542b04 Use Continuumatrice application name in connection status and title 2026-11-03 03:38:51 -07:00
Christian Daniel Jensen
a950a1cf7f Replace legacy WUBRG visual deck filter with all fifteen Essence symbols 2026-11-03 03:38:48 -07:00
Bryce!
9588e1960d
Preserve saved deck formats through database reload and view refresh (#7745) 2026-11-03 11:10:50 +01:00
Bryce!
dc4aa19d23
Import Moxfield signature spells into the deck [skip ci] (#7751)
Co-authored-by: Codex <codex@openai.com>
2026-11-03 10:40:28 +01:00
Jurriaan
bc09ec6afe
[Client] Make DeckStateManager::decrementCard remove tokens from the token zone if the token is not in the given zone (#7588)
* Fixed decrementCard for tokens not using the token zone

* Removed dead function actDecrementCard

Updated documentation

* Fixed no-op, added documentation

* Removed stray blank line

* Allow finding card nodes even if no database entry exists for the given card

* Added DeckStateManager tests

* Added tokens on mainboard test

* Added if checks and sorted sources

Added if checks

* Library include fix

* Renamed zone to targetZone

* Revert "Allow finding card nodes even if no database entry exists for the given card"

This reverts commit 88578cd0d9.

* Combined loader_local_matching_test and deck_state_manager_test settings sources

* Added settings sandbox, refactor

* Format

* Renamed return variable

* Flattened if statement

* Style fix
2026-11-03 10:37:17 +01:00
Jurriaan
bfb53c5def
[Client] Visual Deck Editor: Added more mouse click modifiers to add/decrement cards to specific zones (#7589)
* Make visual database mouse click modifiers properly add/decrement different card zones

* Use event->modifiers(), refactor

* Removed QApplication include

* Added visual database display documentation page

* Minor fixes

* Added documentation for the mouse interaction of the table view
2026-11-03 10:35:58 +01:00
PILIX123
381dd21e8c
[Client] Add option to load decks from ManaBox (#7642)
* [Client] Add option to load decks from ManaBox

* [Client] Fix PR comments

* [Client] Fix UI and transaltion requests

* [Client] Fix for UI and parser not doing what expected when loading maybe board

* Add ManaBox support to docs

As pointed out in review comments

* [Client] Fix final PR comments

---------

Co-authored-by: tooomm <tooomm@users.noreply.github.com>
2026-11-03 10:33:21 +01:00
BruebachL
dd7ee3541c
[PictureLoader] Keep the download log from going quadratic (#7766)
* [PictureLoader] Keep the download log from going quadratic

A fast scrollbar sweep over the visual card database requests a picture for
every cell it paints, so one gesture can ask for thousands of downloads. The
status bar built a seven-widget log entry for each of them and answered every
completion with findChildren() over the whole, unbounded log, rebuilding
url.toString() per child: O(n) per completion, O(n^2) per burst.

Profiling a sweep on master put 47% of all cycles on the GUI thread, with
qt_qFindChildren_helper at 12.4% of the process (a quarter of that thread) and
QWidgetPrivate::reparentFocusChildren at 4.1%. LagMonitor reported stalls of
3-18 s, growing with the backlog.

Keep at most MAX_LOG_ENTRIES entries and index them by URL, so a completion
and the 1 Hz cleanup only visit the matching entries. The progress bar follows
the entries that remain: dropping a finished entry moves both counters back,
dropping a pending one only its maximum. The log is a diagnostic view, not a
queue - the downloads themselves are unaffected.

* fixup! [PictureLoader] Keep the download log from going quadratic

Make the URL index a QMultiHash and say why: a deferred retry re-queues the same URL while its first log entry is still pending, so one URL can back several live entries.

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-11-03 10:17:53 +01:00
BruebachL
44d5138181
[VisualDatabase] Keep the card grid scrolling on macOS (#7764)
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (actions) (push) Waiting to run
Build Desktop / Configure (push) Waiting to run
Build Desktop / vcpkg baseline (push) Waiting to run
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Fedora 43 (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 cover (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 26 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Desktop / Prune caches (push) Waiting to run
Build Docker / Servatrice (arm) (push) Waiting to run
Build Docker / Servatrice (x86) (push) Waiting to run
Build Docker / Publish multi-platform Servatrice image (push) Blocked by required conditions
* [VisualDatabase] Keep the card grid scrolling on macOS

The view ignored the wheel whenever the vertical scroll bar was not
visible. On macOS, scroll bars are transient: once the fade-out finishes,
QScrollbarStyleAnimation hides the scroll bar widget, so isVisible() then
reports false even though the grid has more rows to scroll. Scrolling was
dead until something else brought the bar back.

Gate on the scroll bar's range instead: it says whether there is anything
to scroll, while visibility is only about presentation. An event with no
range to scroll is still ignored, so an enclosing scroll area can take it.

* Update card_database_visual_view.cpp

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-11-02 18:18:19 +01:00
Christian Daniel Jensen
fd352db2f5 Display Essence-based curve analytics without MTG color assumptions 2026-11-02 05:58:37 -07:00