From 80bcf60a07a250d7be8b6a54b6f3e4f009d2ec08 Mon Sep 17 00:00:00 2001 From: Idrees Hassan Date: Wed, 11 Mar 2026 15:46:38 -0700 Subject: [PATCH] Add other palette items and toggles --- dist/extension.zip | Bin 155390 -> 155446 bytes dist/extension/birb.js | 10 ++++++++-- dist/obsidian/main.js | 10 ++++++++-- dist/userscript/birb.user.js | 10 ++++++++-- dist/web/birb.embed.js | 10 ++++++++-- dist/web/birb.js | 10 ++++++++-- editor/editor.js | 20 +++++++++++--------- editor/stylesheet.css | 26 +++++++++----------------- sprites/birb.png | Bin 1167 -> 1202 bytes src/animation/sprites.js | 10 ++++++++-- 10 files changed, 68 insertions(+), 38 deletions(-) diff --git a/dist/extension.zip b/dist/extension.zip index 1a4283531263feeea95dc894733cfeecc8127cda..f2be9ad487296ddb06349194e413ebe672855897 100644 GIT binary patch delta 26959 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 diff --git a/dist/extension/birb.js b/dist/extension/birb.js index a14bea5..c9a916b 100644 --- a/dist/extension/birb.js +++ b/dist/extension/birb.js @@ -406,7 +406,9 @@ EYE: "eye", FACE: "face", HOOD: "hood", + EYEBROW: "eyebrow", NOSE: "nose", + CHEEK: "cheek", BELLY: "belly", UNDERBELLY: "underbelly", WING: "wing", @@ -431,7 +433,9 @@ "#af8e75": PALETTE.FOOT, "#639bff": PALETTE.FACE, "#99e550": PALETTE.HOOD, + "#ff5573": PALETTE.EYEBROW, "#d95763": PALETTE.NOSE, + "#ff67a9": PALETTE.CHEEK, "#f8b143": PALETTE.BELLY, "#ec8637": PALETTE.UNDERBELLY, "#578ae6": PALETTE.WING, @@ -463,7 +467,9 @@ [PALETTE.HEART_SHINE]: "#ff6b6b", [PALETTE.FEATHER_SPINE]: "#373737", [PALETTE.HOOD]: colors.face, + [PALETTE.EYEBROW]: colors.face, [PALETTE.NOSE]: colors.face, + [PALETTE.CHEEK]: colors.face, }; /** @type {Record} */ this.colors = { ...defaultColors, ...colors, [PALETTE.THEME_HIGHLIGHT]: colors[PALETTE.THEME_HIGHLIGHT] ?? colors.hood ?? colors.face }; @@ -473,8 +479,8 @@ /** * Load a sprite sheet image and convert it to a 2D array of palette color names - * @param {string} src - URL or data URI of the sprite sheet image - * @param {boolean} [templateColors] - Whether to map pixel colors to palette names + * @param {string} src URL or data URI of the sprite sheet image + * @param {boolean} [templateColors] Whether to map pixel colors to palette names * @returns {Promise} */ function loadSpriteSheetPixels(src, templateColors = true) { diff --git a/dist/obsidian/main.js b/dist/obsidian/main.js index 42fd14c..90c4f97 100644 --- a/dist/obsidian/main.js +++ b/dist/obsidian/main.js @@ -411,7 +411,9 @@ module.exports = class PocketBird extends Plugin { EYE: "eye", FACE: "face", HOOD: "hood", + EYEBROW: "eyebrow", NOSE: "nose", + CHEEK: "cheek", BELLY: "belly", UNDERBELLY: "underbelly", WING: "wing", @@ -436,7 +438,9 @@ module.exports = class PocketBird extends Plugin { "#af8e75": PALETTE.FOOT, "#639bff": PALETTE.FACE, "#99e550": PALETTE.HOOD, + "#ff5573": PALETTE.EYEBROW, "#d95763": PALETTE.NOSE, + "#ff67a9": PALETTE.CHEEK, "#f8b143": PALETTE.BELLY, "#ec8637": PALETTE.UNDERBELLY, "#578ae6": PALETTE.WING, @@ -468,7 +472,9 @@ module.exports = class PocketBird extends Plugin { [PALETTE.HEART_SHINE]: "#ff6b6b", [PALETTE.FEATHER_SPINE]: "#373737", [PALETTE.HOOD]: colors.face, + [PALETTE.EYEBROW]: colors.face, [PALETTE.NOSE]: colors.face, + [PALETTE.CHEEK]: colors.face, }; /** @type {Record} */ this.colors = { ...defaultColors, ...colors, [PALETTE.THEME_HIGHLIGHT]: colors[PALETTE.THEME_HIGHLIGHT] ?? colors.hood ?? colors.face }; @@ -478,8 +484,8 @@ module.exports = class PocketBird extends Plugin { /** * Load a sprite sheet image and convert it to a 2D array of palette color names - * @param {string} src - URL or data URI of the sprite sheet image - * @param {boolean} [templateColors] - Whether to map pixel colors to palette names + * @param {string} src URL or data URI of the sprite sheet image + * @param {boolean} [templateColors] Whether to map pixel colors to palette names * @returns {Promise} */ function loadSpriteSheetPixels(src, templateColors = true) { diff --git a/dist/userscript/birb.user.js b/dist/userscript/birb.user.js index c3db689..7f66563 100644 --- a/dist/userscript/birb.user.js +++ b/dist/userscript/birb.user.js @@ -420,7 +420,9 @@ EYE: "eye", FACE: "face", HOOD: "hood", + EYEBROW: "eyebrow", NOSE: "nose", + CHEEK: "cheek", BELLY: "belly", UNDERBELLY: "underbelly", WING: "wing", @@ -445,7 +447,9 @@ "#af8e75": PALETTE.FOOT, "#639bff": PALETTE.FACE, "#99e550": PALETTE.HOOD, + "#ff5573": PALETTE.EYEBROW, "#d95763": PALETTE.NOSE, + "#ff67a9": PALETTE.CHEEK, "#f8b143": PALETTE.BELLY, "#ec8637": PALETTE.UNDERBELLY, "#578ae6": PALETTE.WING, @@ -477,7 +481,9 @@ [PALETTE.HEART_SHINE]: "#ff6b6b", [PALETTE.FEATHER_SPINE]: "#373737", [PALETTE.HOOD]: colors.face, + [PALETTE.EYEBROW]: colors.face, [PALETTE.NOSE]: colors.face, + [PALETTE.CHEEK]: colors.face, }; /** @type {Record} */ this.colors = { ...defaultColors, ...colors, [PALETTE.THEME_HIGHLIGHT]: colors[PALETTE.THEME_HIGHLIGHT] ?? colors.hood ?? colors.face }; @@ -487,8 +493,8 @@ /** * Load a sprite sheet image and convert it to a 2D array of palette color names - * @param {string} src - URL or data URI of the sprite sheet image - * @param {boolean} [templateColors] - Whether to map pixel colors to palette names + * @param {string} src URL or data URI of the sprite sheet image + * @param {boolean} [templateColors] Whether to map pixel colors to palette names * @returns {Promise} */ function loadSpriteSheetPixels(src, templateColors = true) { diff --git a/dist/web/birb.embed.js b/dist/web/birb.embed.js index ed74e5e..fc0ff33 100644 --- a/dist/web/birb.embed.js +++ b/dist/web/birb.embed.js @@ -406,7 +406,9 @@ EYE: "eye", FACE: "face", HOOD: "hood", + EYEBROW: "eyebrow", NOSE: "nose", + CHEEK: "cheek", BELLY: "belly", UNDERBELLY: "underbelly", WING: "wing", @@ -431,7 +433,9 @@ "#af8e75": PALETTE.FOOT, "#639bff": PALETTE.FACE, "#99e550": PALETTE.HOOD, + "#ff5573": PALETTE.EYEBROW, "#d95763": PALETTE.NOSE, + "#ff67a9": PALETTE.CHEEK, "#f8b143": PALETTE.BELLY, "#ec8637": PALETTE.UNDERBELLY, "#578ae6": PALETTE.WING, @@ -463,7 +467,9 @@ [PALETTE.HEART_SHINE]: "#ff6b6b", [PALETTE.FEATHER_SPINE]: "#373737", [PALETTE.HOOD]: colors.face, + [PALETTE.EYEBROW]: colors.face, [PALETTE.NOSE]: colors.face, + [PALETTE.CHEEK]: colors.face, }; /** @type {Record} */ this.colors = { ...defaultColors, ...colors, [PALETTE.THEME_HIGHLIGHT]: colors[PALETTE.THEME_HIGHLIGHT] ?? colors.hood ?? colors.face }; @@ -473,8 +479,8 @@ /** * Load a sprite sheet image and convert it to a 2D array of palette color names - * @param {string} src - URL or data URI of the sprite sheet image - * @param {boolean} [templateColors] - Whether to map pixel colors to palette names + * @param {string} src URL or data URI of the sprite sheet image + * @param {boolean} [templateColors] Whether to map pixel colors to palette names * @returns {Promise} */ function loadSpriteSheetPixels(src, templateColors = true) { diff --git a/dist/web/birb.js b/dist/web/birb.js index ed74e5e..fc0ff33 100644 --- a/dist/web/birb.js +++ b/dist/web/birb.js @@ -406,7 +406,9 @@ EYE: "eye", FACE: "face", HOOD: "hood", + EYEBROW: "eyebrow", NOSE: "nose", + CHEEK: "cheek", BELLY: "belly", UNDERBELLY: "underbelly", WING: "wing", @@ -431,7 +433,9 @@ "#af8e75": PALETTE.FOOT, "#639bff": PALETTE.FACE, "#99e550": PALETTE.HOOD, + "#ff5573": PALETTE.EYEBROW, "#d95763": PALETTE.NOSE, + "#ff67a9": PALETTE.CHEEK, "#f8b143": PALETTE.BELLY, "#ec8637": PALETTE.UNDERBELLY, "#578ae6": PALETTE.WING, @@ -463,7 +467,9 @@ [PALETTE.HEART_SHINE]: "#ff6b6b", [PALETTE.FEATHER_SPINE]: "#373737", [PALETTE.HOOD]: colors.face, + [PALETTE.EYEBROW]: colors.face, [PALETTE.NOSE]: colors.face, + [PALETTE.CHEEK]: colors.face, }; /** @type {Record} */ this.colors = { ...defaultColors, ...colors, [PALETTE.THEME_HIGHLIGHT]: colors[PALETTE.THEME_HIGHLIGHT] ?? colors.hood ?? colors.face }; @@ -473,8 +479,8 @@ /** * Load a sprite sheet image and convert it to a 2D array of palette color names - * @param {string} src - URL or data URI of the sprite sheet image - * @param {boolean} [templateColors] - Whether to map pixel colors to palette names + * @param {string} src URL or data URI of the sprite sheet image + * @param {boolean} [templateColors] Whether to map pixel colors to palette names * @returns {Promise} */ function loadSpriteSheetPixels(src, templateColors = true) { diff --git a/editor/editor.js b/editor/editor.js index 4a2c870..db9e28b 100644 --- a/editor/editor.js +++ b/editor/editor.js @@ -16,7 +16,9 @@ const AVAILABLE_TAGS = [ /** @type {Record} */ const DEFAULT_OVERRIDES = { "hood": "face", - "nose": "face" + "eyebrow": "face", + "nose": "face", + "cheek": "face", }; const IGNORED_PARTS = new Set( ["transparent", "border", "heart", "heart-border", "heart-shine", "feather-spine"] @@ -126,12 +128,12 @@ function loadEditor() { if (IGNORED_PARTS.has(part)) { continue; } - const item = createColorItem(part, getColor(part) || color); + const item = createColorSwatch(part, getColor(part) || color); editor.appendChild(item); } - // for (const { tag, label } of AVAILABLE_TAGS) { - // editor.appendChild(createTagItem(tag, label)); - // } + for (const { tag, label } of AVAILABLE_TAGS) { + editor.appendChild(createTagToggle(tag, label)); + } } /** @@ -155,7 +157,7 @@ function getColor(part) { function createColorPicker() { colorPickerInput.type = "text"; - colorPickerInput.id = "coloris-proxy"; + colorPickerInput.id = "color-picker-interceptor"; colorPickerInput.setAttribute("data-coloris", ""); document.body.appendChild(colorPickerInput); @@ -180,7 +182,7 @@ function createColorPicker() { * @param {string} color * @returns {HTMLDivElement} */ -function createColorItem(label, color) { +function createColorSwatch(label, color) { const item = document.createElement("div"); item.classList.add("editor-item"); @@ -224,9 +226,9 @@ function createColorItem(label, color) { * @param {string} label * @returns {HTMLDivElement} */ -function createTagItem(tag, label) { +function createTagToggle(tag, label) { const item = document.createElement("div"); - item.classList.add("tag-item"); + item.classList.add("editor-item"); const toggle = document.createElement("button"); toggle.classList.add("tag-toggle"); diff --git a/editor/stylesheet.css b/editor/stylesheet.css index 9a015ac..60e1c20 100644 --- a/editor/stylesheet.css +++ b/editor/stylesheet.css @@ -46,14 +46,15 @@ body { background: #ffffff; border-radius: 16px; box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.1); - padding: 20px; + padding: 40px 50px; display: flex; - flex-direction: column; + flex-direction: row; flex-wrap: wrap; align-items: center; - justify-content: center; + justify-content: space-between; gap: 30px 20px; column-count: 2; + overflow-y: scroll; } #json { @@ -107,7 +108,7 @@ body { cursor: default; } -#coloris-proxy { +#color-picker-interceptor { position: fixed; width: 1px; height: 1px; @@ -117,27 +118,17 @@ body { pointer-events: none; } -.tag-item { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; - gap: 20px; - height: 38px; - margin-top: 10px; -} - .tag-toggle { width: 32px; height: 32px; border-radius: 4px; border: none; - background: #edf0f4; - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); + background: #f1f1f1; cursor: pointer; font-size: 16px; color: transparent; transition: background 0.15s, color 0.15s, transform 0.1s; + border: 3px solid #dadada; } .tag-toggle:hover { @@ -146,6 +137,7 @@ body { } .tag-toggle--active { - background: #639bff; + background: #34c85a; color: white; + border: 0; } \ No newline at end of file diff --git a/sprites/birb.png b/sprites/birb.png index 9c87790e8002e6232670512dd286bfbad262e660..53dd4efddf8288726198141754e625b20531897f 100644 GIT binary patch delta 1169 zcmV;C1aA9}39<>0F@J1HL_t(|ob8>zZxcxvhTn0J4iO=pPHwWMJxrBIG+ZA>Eb znI=LyPCBGW6i8TzKL8;Y2qGa7kp`~vH70jbIx3o^Nk<=#UfhO>ali~Y`uGj2gRb_CM54rfH}gJfLiS~9(TI~%N}>T{uG!HLQ=t;0&mXG z`#)Jtfy4TcWq)i!hyzFnS;w|1AhQpYA0bnQi1ZHr8^5!TZ(Be%g zU?r|nN{NWry!3>ZyAU#^=*mY|f2@KC$v@nqkANvXRzukn-05%|kdwjzL~?`#e zrhtdROodvb<1eHCqKOosDW09$ZQveo{^-YVE3_*E$79lvkqZJQL}OdPF^E#im)@i^ zH=|_ltAC7TTf|m?g;@{k%p5NKvjG4&T6zj^?Iy0iI080+T4N7LNk(A;Zd_jTA75=( zQx`BHIY6SsxBFo~^UkEr+>DZ|FOINrr!W=?M!tY4pxZCQOX!1t_xyIV?&;@62OB|9 zA|i!ZZ(!MP&pOz+Q|JlUh~KPx192(B$*0!nNPn~LP5X9^mEZPC8Lm#(T_N_v=~q>d zPdD)U-+uuB)~@{u0J!<;S?F`L2t!`07jQ^9*%mM%ao84ctm++}inbr~tYQ-(D$?eC?J^0TbdfQ35jaEoBi!R-bv2;LzU% z)_>yDH0vHN-rd2^=gx+%AJ`BlIurF}^Rq9$U_XKcH;V2D&xVmn;#GNRpa==(TNVP^ z{jeXI|9RoNZ-#KVzKGM;%fQ{8(8t5XcarMMrho}?k>~$av3#lpWGucUYK;z>bx&OA zOA?7wVDzh}!}Z01#}3{f004>)x1yf=Eq};&iqD*ahjIG)TU^XYz=XI)_t7PPa9{cO z+F!oCQqF3eOH>hJo|tqw?-Dx}CLt}qFp3Yi#`eZ-3z!hsF(rszK4d-CMHeAK5o!s# zoPR?J5Pb=CA6<%FcbxJwaSg8&nc0qPrZ_TNaP1k)6cj*Z?PFMo19 z%8w8$DDrf*@*~6z`d>{2a*&TBT?S)LMT6}uNQ&?JhfT<&leZiksk3qA jY!+|ac6>s}Wbr=&e6*Hlo%inm015yANkvXXu0mjf((x>( delta 1133 zcmV-z1d{u*36BYoF@H%(L_t(|ob8=IYZO5khkuh;1jOzT+_M$C2p0MQA{J?KSEUrR zPzYEEisSGc!h(rq;Z+`^%6p)VHtk(emt#*5$ zTtyuSA#;kPG?GLbNitL(CC6FCZzPF)US1a2*cd989iNagS@2x}QcSa6$KzTJt!8tm zTqXOTKH+h#mX!&K9SSfadl;E)etzZ4pqh` zgam-(P<3pd0)H~=K=~0eXNXAu;J@*=>iE6|+ij8Yo7uh2QwAcw>#N1 z`p=D1fTnm3*Y5xifbAQvv-fw}&4J@FWymN50TZI}E#MJ|QYw?)Y3IVClJ9?HCfmZf z5D}4uvwz9JwA;@*_;7Clt1nLg0KH$|0RZnFB?EhzS;%Nez!((pwbdr>*5B)SXBL-` z$PkzKzJ5Ex!Sl;rP8gNNg+(Q+FHi8{-U4PJ!I1()Dxf>B^1IMlfJh|>Lq@s5CfEqR z1x&(beY+#?9wqa>oeSj`>To?2oI_xJ=Yi{eQ-6N2jydEp%`o}ocV|ezT7GtHdpPb| zr*UJGa5&ywk)^dgrON=YwB}cSz6HF#-SK*0&lNxI2t|`;BP*H;3&*=F*!cMo0Py1c z4FJHc!?$Av`1-c#+P+Pzn-4o4O7C;F`%Rlk$Rlfc51zdeSOk4so^Q~kN zIe&YfF-dT20op9B?cwVELtMIeF88z6hL}n~z6DH(CKT~$j(1nY%mF*!DiDyk@_#M_ z2t$H-*y6(!y)WMaCL~mjcUPqMrH73(EnsluQ&szR3J?)VuuyV4?}0BW22 zuFw7pGNp8U3z(3Q>26)m8u!f~Z?fqJ&wnp_m!NrKGUU7~tXQ6ewEXg@ZSK!(#eEBy zkkBzDh<-j)-PT2SLTnLg35J}1V+jzcgt}YTN6tG-`I+&3378Nv76Jga2xAan;R8|i zxa<6k|UzC-i)r=w~sNQfNJWnEh{-QDU!4FLzXY_WTG5gY;$uAcB0H=r=*kp{QN1 zf};4Lf7yhbc4EuHiLc9ZE~tVP_Z^=Qa=Q2nmR8--y1aqu00000NkvXXu0mjfzH%d~ diff --git a/src/animation/sprites.js b/src/animation/sprites.js index 560b002..e13e5f8 100644 --- a/src/animation/sprites.js +++ b/src/animation/sprites.js @@ -14,7 +14,9 @@ export const PALETTE = { EYE: "eye", FACE: "face", HOOD: "hood", + EYEBROW: "eyebrow", NOSE: "nose", + CHEEK: "cheek", BELLY: "belly", UNDERBELLY: "underbelly", WING: "wing", @@ -39,7 +41,9 @@ export const SPRITE_SHEET_COLOR_MAP = { "#af8e75": PALETTE.FOOT, "#639bff": PALETTE.FACE, "#99e550": PALETTE.HOOD, + "#ff5573": PALETTE.EYEBROW, "#d95763": PALETTE.NOSE, + "#ff67a9": PALETTE.CHEEK, "#f8b143": PALETTE.BELLY, "#ec8637": PALETTE.UNDERBELLY, "#578ae6": PALETTE.WING, @@ -71,7 +75,9 @@ export class BirdType { [PALETTE.HEART_SHINE]: "#ff6b6b", [PALETTE.FEATHER_SPINE]: "#373737", [PALETTE.HOOD]: colors.face, + [PALETTE.EYEBROW]: colors.face, [PALETTE.NOSE]: colors.face, + [PALETTE.CHEEK]: colors.face, }; /** @type {Record} */ this.colors = { ...defaultColors, ...colors, [PALETTE.THEME_HIGHLIGHT]: colors[PALETTE.THEME_HIGHLIGHT] ?? colors.hood ?? colors.face }; @@ -81,8 +87,8 @@ export class BirdType { /** * Load a sprite sheet image and convert it to a 2D array of palette color names - * @param {string} src - URL or data URI of the sprite sheet image - * @param {boolean} [templateColors] - Whether to map pixel colors to palette names + * @param {string} src URL or data URI of the sprite sheet image + * @param {boolean} [templateColors] Whether to map pixel colors to palette names * @returns {Promise} */ export function loadSpriteSheetPixels(src, templateColors = true) {