From aa8fb6837484a2b2b7f27724bf8869dca9cfba72 Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Wed, 23 Sep 2026 15:10:08 -0700 Subject: [PATCH] lairk: load painting shirts, dress bodies in the handle's @ color get.picture resolves { url, img }, not the image, so every painting was dropped. Bodies now wear the @ color (colors[0]) or the tema's handle color. Co-Authored-By: Claude Opus 5.5 --- .../public/aesthetic.computer/disks/lairk.mjs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/system/public/aesthetic.computer/disks/lairk.mjs b/system/public/aesthetic.computer/disks/lairk.mjs index 8a2a2a169f..09531f4a40 100644 --- a/system/public/aesthetic.computer/disks/lairk.mjs +++ b/system/public/aesthetic.computer/disks/lairk.mjs @@ -484,16 +484,15 @@ function dress(Form, c) { })(); } -// Head, legs and shirt, from the handle's letters when it has colors — the -// first letter, the last, and the middle — or the tema's handle color. +// Head, legs and shirt all wear the color of the handle's "@" (the first of +// its per-letter colors, set in the `handle` piece), or the tema's handle +// color when none are set — the same color chat draws the "@" in. function bodyColors(c) { - const letters = c.colors?.slice(1); // [0] colors the "@". - if (letters?.length) { - const rgb = (o) => [o.r, o.g, o.b]; - return [rgb(letters[0]), rgb(letters[letters.length - 1]), rgb(letters[floor(letters.length / 2)])]; - } - const fallback = (LAK_THEMES[lakTheme] || LAK_THEMES.ler).chat.handle || [255, 160, 120]; - return [fallback, fallback, fallback]; + const at = c.colors?.[0]; + const color = at + ? [at.r, at.g, at.b] + : (LAK_THEMES[lakTheme] || LAK_THEMES.ler).chat.handle || [255, 160, 120]; + return [color, color, color]; } // A box whose four sides and top all show the painting, right way up. @@ -577,7 +576,8 @@ function lookUp(c) { const slug = latest.split("/").pop().replace(/\.png$/, ""); return get.picture(`/media/@${c.handle}/painting/${slug}.png`); }) - .then((img) => { + .then((got) => { + const img = got?.img; // get.picture resolves { url, img }. if (!img?.pixels) return; c.texture = { lit: shrink(img, 1), dim: shrink(img, 0.4) }; c.dirty = true; -- 2.51.2