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
This commit is contained in:
@@ -87,6 +87,18 @@ The `findCaptures()` in `engine.ts` correctly implements:
|
||||
- Sum subsets via power set enumeration ✓
|
||||
- `applyMove()` auto-captures when possible ✓
|
||||
|
||||
### SCOPONE-0004: Phaser Text Resolution for Crisp Rendering (2026-03-31)
|
||||
|
||||
**Source**: Phaser 3 API docs (Context7 — `/websites/phaser_io_api-documentation`)
|
||||
|
||||
Phaser `Text` objects render to an internal Canvas. When the game uses `Scale.FIT` (scaling 1280×720 to a larger display), the text canvas is rasterized at 1× and then upscaled by CSS, causing blur.
|
||||
|
||||
**Fix**: Set the `resolution` property on each `TextStyle` or call `text.setResolution(value)`. A value of `2` doubles the internal canvas size, producing sharper text on high-DPI and scaled displays at the cost of more memory. The style property `resolution: 0` (default) uses the game's resolution (defaults to 1).
|
||||
|
||||
**Recommended**: Use `resolution: 2` in all text style objects for critical UI text (menu, score bar, labels). Avoid higher values to limit memory impact.
|
||||
|
||||
**Available since**: Phaser 3.12.0 (current project uses ^3.87.0).
|
||||
|
||||
### SCOPONE-0003: findCaptures() Change Analysis (2026-03-31)
|
||||
|
||||
**Current behavior** (engine.ts lines 43-62): When direct matches exist, `findCaptures()` bundles ALL into one `Card[]` and returns immediately (`results.push([...directMatches]); return results`). Sum captures are never computed when direct matches exist.
|
||||
|
||||
Reference in New Issue
Block a user