From 2d7ebe8c1e50f7189b2a97d4ac00a61ad33ec53f Mon Sep 17 00:00:00 2001 From: Rhiannon Morris Date: Fri, 13 Dec 2024 03:37:51 +0100 Subject: [PATCH] stroke around quogs --- rainbow-quox/back/pos.json | 39 +++++++++++++++++----------------- rainbow-quox/back/stroke.webp | 3 +++ rainbow-quox/front/pos.json | 39 +++++++++++++++++----------------- rainbow-quox/front/stroke.webp | 3 +++ rainbow-quox/index.html | 4 ++-- rainbow-quox/script/quox.ts | 12 +++++------ 6 files changed, 54 insertions(+), 46 deletions(-) create mode 100644 rainbow-quox/back/stroke.webp create mode 100644 rainbow-quox/front/stroke.webp diff --git a/rainbow-quox/back/pos.json b/rainbow-quox/back/pos.json index 21db123..b94a365 100644 --- a/rainbow-quox/back/pos.json +++ b/rainbow-quox/back/pos.json @@ -1,21 +1,22 @@ { - "belly1": [39, 67], - "belly2": [92, 95], - "claws": [191, 334], - "cuffs": [221, 215], - "eyes": [685, 42], - "eyeshine": [685, 42], - "fins1": [227, 60], - "fins2": [226, 61], - "fins3": [229, 195], - "lines": [0, 0], - "masks": [643, 1], - "outer": [2, 22], - "spines": [337, 50], - "static": [219, 41], - "stripes": [219, 221], - "vitiligo1": [4, 22], - "vitiligo2": [102, 134], - "vitiligo3": [46, 129], - "vitiligo4": [221, 56] + "stroke": [ 0, 0 ], + "belly1": [ 59, 87 ], + "belly2": [ 112, 115 ], + "claws": [ 211, 354 ], + "cuffs": [ 241, 235 ], + "eyes": [ 705, 62 ], + "eyeshine": [ 705, 62 ], + "fins1": [ 247, 80 ], + "fins2": [ 246, 81 ], + "fins3": [ 249, 215 ], + "lines": [ 20, 20 ], + "masks": [ 663, 21 ], + "outer": [ 22, 42 ], + "spines": [ 357, 70 ], + "static": [ 239, 61 ], + "stripes": [ 239, 241 ], + "vitiligo1": [ 24, 42 ], + "vitiligo2": [ 122, 154 ], + "vitiligo3": [ 66, 149 ], + "vitiligo4": [ 241, 76 ] } diff --git a/rainbow-quox/back/stroke.webp b/rainbow-quox/back/stroke.webp new file mode 100644 index 0000000..7f70837 --- /dev/null +++ b/rainbow-quox/back/stroke.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c3ab4fecebdc2de65d5bde02fa3ba6b1a01ec067ba976eacbda581aae74a1f7 +size 16010 diff --git a/rainbow-quox/front/pos.json b/rainbow-quox/front/pos.json index 24c65a6..77d3ad6 100644 --- a/rainbow-quox/front/pos.json +++ b/rainbow-quox/front/pos.json @@ -1,21 +1,22 @@ { - "belly1": [186, 92], - "belly2": [186, 91], - "claws": [3, 168], - "cuffs": [42, 160], - "eyes": [223, 52], - "eyeshine": [223, 52], - "fins1": [381, 31], - "fins2": [387, 35], - "fins3": [495, 140], - "lines": [1, 0], - "masks": [173, 3], - "outer": [28, 43], - "spines": [372, 23], - "static": [50, 52], - "stripes": [50, 168], - "vitiligo1": [34, 23], - "vitiligo2": [198, 92], - "vitiligo3": [214, 312], - "vitiligo4": [647, 71] + "stroke": [ 0, 0 ], + "belly1": [ 206, 112 ], + "belly2": [ 206, 111 ], + "claws": [ 23, 188 ], + "cuffs": [ 62, 180 ], + "eyes": [ 243, 72 ], + "eyeshine": [ 243, 72 ], + "fins1": [ 401, 51 ], + "fins2": [ 407, 55 ], + "fins3": [ 515, 160 ], + "lines": [ 21, 20 ], + "masks": [ 193, 23 ], + "outer": [ 48, 63 ], + "spines": [ 392, 43 ], + "static": [ 70, 72 ], + "stripes": [ 70, 188 ], + "vitiligo1": [ 54, 43 ], + "vitiligo2": [ 218, 112 ], + "vitiligo3": [ 234, 332 ], + "vitiligo4": [ 667, 91 ] } diff --git a/rainbow-quox/front/stroke.webp b/rainbow-quox/front/stroke.webp new file mode 100644 index 0000000..4e4b63f --- /dev/null +++ b/rainbow-quox/front/stroke.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e946320c011708d61f1b43519c7e4489bc1a5986f45f83e716788c4ccd8e0bd5 +size 17658 diff --git a/rainbow-quox/index.html b/rainbow-quox/index.html index 443422a..65ed9c2 100644 --- a/rainbow-quox/index.html +++ b/rainbow-quox/index.html @@ -43,10 +43,10 @@
- + the canvas failed to load. sorry. - +
diff --git a/rainbow-quox/script/quox.ts b/rainbow-quox/script/quox.ts index d23f667..192f4fe 100644 --- a/rainbow-quox/script/quox.ts +++ b/rainbow-quox/script/quox.ts @@ -37,8 +37,8 @@ function loadImageData(url: string, buf?: Buffer): Promise { else return loadDataFresh(url); } -const WIDTH = 1000; -const HEIGHT = 673; +const WIDTH = 1040; +const HEIGHT = 713; function makeBuffer(width = WIDTH, height = HEIGHT): Buffer { return new OffscreenCanvas(width, height).getContext('2d')!; @@ -49,13 +49,13 @@ function makeBufferIfLocks(width?: number, height?: number): Buffer | undefined else return undefined; } -export type Layer = 'static' | 'eyeshine' | Color.Layer; +export type Layer = 'stroke' | 'static' | 'eyeshine' | Color.Layer; // in compositing order export const allLayers: Layer[] = - ['static', 'outer', 'spines', 'stripes', 'cuffs', 'fins1', 'fins2', 'fins3', - 'belly1', 'belly2', 'masks', 'claws', 'vitiligo1', 'vitiligo2', 'vitiligo3', - 'vitiligo4', 'eyes', 'eyeshine', 'lines']; + ['stroke', 'static', 'outer', 'spines', 'stripes', 'cuffs', 'fins1', 'fins2', + 'fins3', 'belly1', 'belly2', 'masks', 'claws', 'vitiligo1', 'vitiligo2', + 'vitiligo3', 'vitiligo4', 'eyes', 'eyeshine', 'lines']; function makeLayerInfo(f: (l: Layer) => A): Record { return Object.fromEntries(allLayers.map(l => [l, f(l)])) as Record;