21 Commits

Author SHA1 Message Date
Giancarmine Salucci
b2a84eb167 feat: CI creates Gitea releases with changelog, app polls for updates on startup
Some checks failed
Android Build & Publish / android (push) Failing after 2m0s
- android-build.yml: fetch full history+tags, embed VITE_APP_BUILD, add step
  to create a tagged Gitea release (build-N) with markdown changelog and APK
  release assets after every push; bump permissions to contents:write
- src/game/update-check.ts: polls Gitea releases/latest, compares build-N tag
  against CURRENT_BUILD (0 in dev), returns UpdateInfo or null; dismissal
  persisted to localStorage
- src/vite-env.d.ts: TypeScript env declarations for VITE_APP_BUILD
- src/scenes/MenuScene.ts: fire-and-forget update check on menu load; renders
  dismissible bottom-bar banner with optional APK download link
- src/game/ai.ts: early-game empty-table dump heuristic (safest card first)
2026-05-25 09:39:08 +02:00
Giancarmine Salucci
3f74c57665 feat(SCOPONE-0013): PIMC AI rewrite + Gitea Android CI pipeline
Some checks failed
Android Build & Publish / android (push) Failing after 2m10s
- Replace minimax with PIMC (Perfect Information Monte Carlo) search
- Add PIMC_SCOPE_BOOST=150 → effective scopa value 540 (was 390)
  → Master win rate: 67.5% → 72.5% vs legacy AI (target ≥60%)
  → Advanced win rate: 97.5% vs beginner AI (target ≥55%)
  → Scope gap in losses: 6.54 → 3.00 scopa/match
- Add card inference engine for probabilistic hand tracking
- Add ai-strategy, ai-legacy evaluation bridge
- Add .gitea/workflows/android-build.yml: build debug + unsigned
  release APK and publish to Gitea generic package registry
2026-05-24 16:29:04 +02:00
Giancarmine Salucci
38f675eda5 fix(SCOPONE-0011): complete iteration 0 - tune ai and ui 2026-04-10 23:29:51 +02:00
Giancarmine Salucci
a4e2891c87 feat(SCOPONE-0010): redesign main menu layout 2026-04-10 11:41:11 +02:00
Giancarmine Salucci
c107489b0a feat(SCOPONE-0010): improve capture pacing and settings 2026-04-09 23:00:59 +02:00
Giancarmine Salucci
77ab1f43a6 feat(SCOPONE-0009) improve ai, dealer, apparigliare e sparigliare 2026-04-09 22:30:27 +02:00
Giancarmine Salucci
d0a44d295a feat(SCOPONE-0009): complete iteration 0 dealer AI 2026-04-08 21:50:40 +02:00
Giancarmine Salucci
5b360bf191 fix(SCOPONE-0008): complete iteration 1 remove ai lag 2026-04-02 20:51:43 +02:00
Giancarmine Salucci
747da35190 feat(SCOPONE-0008): complete iteration 0 improve ai rules 2026-04-02 20:10:55 +02:00
Giancarmine Salucci
113bb12723 fix(SCOPONE-0006): remove stale capture handlers when switching card selection
- Track table card images with capture listeners in captureListenerImgs[]
- Clear pointerdown handlers in clearHighlights() before destroying overlays
- Prevents wrong capture executing when selecting a different hand card
2026-04-01 10:54:45 +02:00
Giancarmine Salucci
d80d4df6bd feat(SCOPONE-0005): iteration 5 — sort hand by value then suit 2026-03-31 23:05:00 +02:00
Giancarmine Salucci
c3a79b028b feat(SCOPONE-0005): iteration 4 — sort hand cards by suit then value 2026-03-31 23:01:15 +02:00
Giancarmine Salucci
2f58da8a63 feat(SCOPONE-0005): complete iteration 3 — restore labels, move turn bar below cards 2026-03-31 22:42:12 +02:00
Giancarmine Salucci
138f28542a feat(SCOPONE-0005): complete iteration 2 — move turn indicators below player cards 2026-03-31 22:38:37 +02:00
Giancarmine Salucci
9c096b88bf feat(SCOPONE-0005): complete iteration 1 — move player indicators into table 2026-03-31 22:36:16 +02:00
Giancarmine Salucci
0a030d0f01 feat(SCOPONE-0005): complete iteration 0 — AI mastery levels, score bar fix, difficulty selection 2026-03-31 22:22:24 +02:00
Giancarmine Salucci
6c01044c71 fix(SCOPONE-0004): improve UI text readability and score bar contrast
- MenuScene: add resolution: 2 to all text styles for crisp rendering
- GameScene score bar: solid opaque background, brighter column headers (#999999), visible gold separator (alpha 0.7), resolution: 2
- GameScene player labels: reposition to viewport edges (South bottom, West left, East right), North after cards near table
- Add resolution: 2 to all player label text styles
2026-03-31 21:34:18 +02:00
Giancarmine Salucci
54a55b9269 Merge branch 'feature/SCOPONE-0003_choose_capture_target' into feature/SCOPONE-0002_rotate_round_starter 2026-03-31 21:07:44 +02:00
Giancarmine Salucci
9524161481 feat(SCOPONE-0003): allow player to choose capture target
- findCaptures() returns each direct match as separate option plus sum subsets
- highlightMultipleCaptures() uses distinct colors per capture option
- clicking highlighted table cards confirms that option's capture
2026-03-31 19:59:38 +02:00
Giancarmine Salucci
529b93e662 feat(SCOPONE-0002): rotate starting player clockwise each round 2026-03-31 19:31:00 +02:00
Giancarmine Salucci
3d1f3e5eb4 chore: initial commit 2026-03-31 18:38:34 +02:00