Three things, all in service of the match reading as its own mode: BLOOD, COUNTED. The vignette says "worse" and never says "how many". One pip per hit left, top-right beside the board, in the panel language the game/sets bar already uses; the last two breathe. Pips rather than a bar on purpose — the pool is 4 or 8, and a smooth readout of a small integer is the exact ambiguity being fixed. OPPONENTS FELLED IS THE MEASURE (handoff slice 1). Blood-only scoring means a lost game costs nothing but the blood already spent, so games survived is not the achievement. The in-play bar prints OPPONENT n · m FELLED instead of the game/sets line, the death screen says BLED OUT / FELLED n OPPONENTS · m GAMES, and it keeps its own matchBest — drillBest's pattern. The kills-to-next-point pips are hidden in a match: nothing there is killed for points, and they were colliding with the new line anyway. STAGING WEARS A DIFFERENT ICON. Both builds live on the same phone and two identical bloody tennis balls is a coin toss. Driven by HOSTNAME, not by the branch — the block is identical on staging and main, so it never conflicts on a merge and never has to be remembered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
538 B
JSON
16 lines
538 B
JSON
{
|
|
"name": "Splatter STAGING",
|
|
"short_name": "Splatter STG",
|
|
"description": "The one that is allowed to be broken.",
|
|
"start_url": "./",
|
|
"scope": "./",
|
|
"display": "standalone",
|
|
"background_color": "#10141c",
|
|
"theme_color": "#14334a",
|
|
"icons": [
|
|
{ "src": "assets/icon-192-stg.png", "sizes": "192x192", "type": "image/png" },
|
|
{ "src": "assets/icon-512-stg.png", "sizes": "512x512", "type": "image/png" },
|
|
{ "src": "assets/icon-512-stg.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
|
|
]
|
|
}
|