From 39c666b4ee93db991c783a465dc217267239b8ea Mon Sep 17 00:00:00 2001 From: jay Date: Sun, 21 Jun 2026 17:56:23 -0400 Subject: [PATCH] Art frame final polish: four mitered wood rails (grain turns at corners) + brushed metals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Woods are now built from four real mitered rails clipped to 45° joints, each showing the grain along its length — horizontal on top/bottom (rotated texture wood-grain-h.jpg), vertical on the sides — so the grain TURNS at every corner like real cut moulding. Each rail carries a directional bevel (lit top-left) for a rounded profile; per-species recolor moved onto the rails. Rendered via a Svelte snippet in both page + full-screen frames. - Gold/Silver gain fine brushed-metal striations over the existing sheen. - New asset: wood-grain-h.jpg (the CC0 texture rotated 90°), credited in textures/CREDITS.txt. Co-Authored-By: Claude Opus 4.8 --- frontend/src/routes/art/+page.svelte | 54 +++++++++++++++++----- frontend/static/textures/CREDITS.txt | 4 +- frontend/static/textures/wood-grain-h.jpg | Bin 0 -> 175017 bytes 3 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 frontend/static/textures/wood-grain-h.jpg diff --git a/frontend/src/routes/art/+page.svelte b/frontend/src/routes/art/+page.svelte index c592502..fb54490 100644 --- a/frontend/src/routes/art/+page.svelte +++ b/frontend/src/routes/art/+page.svelte @@ -22,6 +22,8 @@ let who = $derived( art ? [art.artist || 'Unknown artist', art.date_text].filter(Boolean) : [] ); + // Woods are built from four real mitered rails (grain turns at the corners); metals/none aren't. + let isWood = $derived(['walnut', 'oak', 'mahogany'].includes(frame)); onMount(async () => { try { @@ -53,6 +55,13 @@ +{#snippet woodRails()} + + + + +{/snippet} +
@@ -83,6 +92,7 @@