The look stops lying: the fallback never reports done, and the women's frame gets room to stand tall
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a38c804069
commit
7fb595ca22
3 files changed
+25
-7
No files matched your search
+14
@@ -491,6 +491,20 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu
|
||||
`RETURNED`, `DOUBLE KILL`) is a footnote to something you already watched happen. Sharing the loud
|
||||
FACE with the milestone cards is right; sharing their SIZE made every footnote read as a milestone.
|
||||
|
||||
## Session log: the look stops lying (2026-08-29, Oliver: "the man with a pink shirt")
|
||||
|
||||
After a reload with the women's tour picked, the live-player preview showed THE MAN from behind
|
||||
in her kit colour — and the woman, when she did show, stood a head shorter. Two root causes:
|
||||
|
||||
- **drawLook's fallback satisfied the retry poll.** `n_idle1_f || p_idle1_f || p_idle1` drew
|
||||
whichever loaded first and returned true — the caller's 200 ms poll stopped on the lie and the
|
||||
stand-in stuck. It still draws the stand-in (better than a blank) but returns done only when
|
||||
the WANTED frame drew.
|
||||
- **The 96px canvas width-bound the contain fit.** Both front sheets are 224 tall, but hers is
|
||||
127 wide against his 114 (she reaches further — the TOURS note), so contain on 96 shrank her
|
||||
10% more than him. The three look canvases are 128 wide now; both bodies are height-bound and
|
||||
stand equally tall.
|
||||
|
||||
## Session log: training pays a quarter, the bar wears its endpoints (2026-08-29, the batch's two discussions, both go)
|
||||
|
||||
- **THE TRAINING COURT PAYS A QUARTER.** Zero pay made it feel pointless in a meta game (his
|
||||
|
||||
+4
-4
@@ -665,7 +665,7 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
where you can watch it land. Kit and skin rows are built in main.js from the tables. -->
|
||||
<h3 id="s01">01 · PLAYER</h3>
|
||||
<div id="who">
|
||||
<canvas id="look" width="96" height="224"></canvas>
|
||||
<canvas id="look" width="128" height="224"></canvas>
|
||||
<div id="whoCtl">
|
||||
<div id="tours"></div>
|
||||
<u class="swlab">KIT<i id="kitName"></i></u>
|
||||
@@ -707,7 +707,7 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
</div>
|
||||
<h3>THE BODY</h3>
|
||||
<div id="who2">
|
||||
<canvas id="pLook" width="96" height="224"></canvas>
|
||||
<canvas id="pLook" width="128" height="224"></canvas>
|
||||
<div id="pCtl">
|
||||
<div id="pTours"></div>
|
||||
<u class="swlab">KIT<i id="pKitName"></i></u>
|
||||
@@ -741,7 +741,7 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
<div id="card">
|
||||
<div class="hdr"><button class="chev" id="cdBack"><</button><h2 id="cdName">YOUR PLAYER</h2></div>
|
||||
<div id="cdTop">
|
||||
<canvas id="cdLook" width="96" height="224"></canvas>
|
||||
<canvas id="cdLook" width="128" height="224"></canvas>
|
||||
<div id="cdMeta">
|
||||
<img id="cdBadge" alt="">
|
||||
<u id="cdLeague"></u>
|
||||
@@ -871,6 +871,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="src/main.js?v=335"></script>
|
||||
<script type="module" src="src/main.js?v=336"></script>
|
||||
</body>
|
||||
</html>
|
||||
+7
-3
@@ -1778,9 +1778,13 @@ function PS(name) {
|
||||
// off the back of a head was the best the art allowed while every player frame was a back view; the
|
||||
// moment the front existed, Oliver asked for it here. It is the same kit, the same palette and the
|
||||
// same tint pass, so the promise above still holds — only the side you are standing on changes.
|
||||
// Returns false while the sprites are still loading, so the caller knows to come back.
|
||||
// Returns false while the sprites are still loading, so the caller knows to come back — and
|
||||
// "still loading" includes DRAWING A FALLBACK: the women's front frame arriving after the men's
|
||||
// used to satisfy this with the wrong body (a man in her kit colour), and the caller's retry
|
||||
// poll stopped on the lie. A stand-in is drawn (better than a blank) but never reported done.
|
||||
export function drawLook(cv2, t, k, sk) {
|
||||
const img = SPR['n_idle1' + (t.sfx || '')] || SPR['p_idle1' + (t.sfx || '')] || SPR.p_idle1;
|
||||
const want = SPR['n_idle1' + (t.sfx || '')];
|
||||
const img = want || SPR['p_idle1' + (t.sfx || '')] || SPR.p_idle1;
|
||||
if (!img) return false;
|
||||
const out = tinted('look' + (t.sfx || ''), img, k, sk, t.kit, TINT.kit);
|
||||
const g = cv2.getContext('2d');
|
||||
@@ -1789,7 +1793,7 @@ export function drawLook(cv2, t, k, sk) {
|
||||
const s = Math.min(cv2.width / out.width, cv2.height / out.height);
|
||||
const w = Math.round(out.width * s), h = Math.round(out.height * s);
|
||||
g.drawImage(out, Math.round((cv2.width - w) / 2), cv2.height - h, w, h);
|
||||
return true;
|
||||
return !!want;
|
||||
}
|
||||
|
||||
// BOUNCE_IDLE.dx/apex are measured off the DRAWN PALM (see config), so a tour whose player reaches
|
||||
|
||||
Reference in new issue
Block a user