From 2cb39adc8edc324944a16aa82640b691fdbcd925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 14 Jan 2025 06:03:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=8F=AF=E7=94=A8=E7=9A=84WA?= =?UTF-8?q?SM=E5=8C=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/color_functions/color_module.d.ts | 59 ++++++--- src/color_functions/color_module.js | 113 ++++++++++++++++++ src/color_functions/color_module_bg.wasm | Bin 507015 -> 509188 bytes src/color_functions/color_module_bg.wasm.d.ts | 49 +++++--- 4 files changed, 183 insertions(+), 38 deletions(-) diff --git a/src/color_functions/color_module.d.ts b/src/color_functions/color_module.d.ts index c5f8eac..c4406ea 100644 --- a/src/color_functions/color_module.d.ts +++ b/src/color_functions/color_module.d.ts @@ -34,6 +34,8 @@ export function differ_in_rgb(color: string, other: string): RGBDifference; export function differ_in_hsl(color: string, other: string): HSLDifference; export function differ_in_hct(color: string, other: string): HctDiffference; export function differ_in_oklch(color: string, other: string): OklchDifference; +export function tint_scale(basic_color: string, mixed_color: string): MixReversing; +export function shade_scale(basic_color: string, mixed_color: string): MixReversing; export class Differ { private constructor(); free(): void; @@ -54,6 +56,14 @@ export class HctDiffference { chroma: Differ; lightness: Differ; } +export class MixReversing { + private constructor(); + free(): void; + r_factor: number; + g_factor: number; + b_factor: number; + average: number; +} export class OklchDifference { private constructor(); free(): void; @@ -107,25 +117,17 @@ export interface InitOutput { readonly differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly differ_in_hct: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly differ_in_oklch: (a: number, b: number, c: number, d: number) => [number, number, number]; - readonly __wbg_oklchdifference_free: (a: number, b: number) => void; - readonly __wbg_get_oklchdifference_hue: (a: number) => number; - readonly __wbg_set_oklchdifference_hue: (a: number, b: number) => void; - readonly __wbg_get_oklchdifference_chroma: (a: number) => number; - readonly __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; - readonly __wbg_get_oklchdifference_lightness: (a: number) => number; - readonly __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; - readonly __wbg_differ_free: (a: number, b: number) => void; - readonly __wbg_get_differ_delta: (a: number) => number; - readonly __wbg_set_differ_delta: (a: number, b: number) => void; - readonly __wbg_get_differ_percent: (a: number) => number; - readonly __wbg_set_differ_percent: (a: number, b: number) => void; - readonly __wbg_hctdiffference_free: (a: number, b: number) => void; - readonly __wbg_get_hctdiffference_hue: (a: number) => number; - readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void; - readonly __wbg_get_hctdiffference_chroma: (a: number) => number; - readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; - readonly __wbg_get_hctdiffference_lightness: (a: number) => number; - readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; + readonly tint_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly shade_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly __wbg_mixreversing_free: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_r_factor: (a: number) => number; + readonly __wbg_set_mixreversing_r_factor: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_g_factor: (a: number) => number; + readonly __wbg_set_mixreversing_g_factor: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_b_factor: (a: number) => number; + readonly __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_average: (a: number) => number; + readonly __wbg_set_mixreversing_average: (a: number, b: number) => void; readonly __wbg_rgbdifference_free: (a: number, b: number) => void; readonly __wbg_get_rgbdifference_r: (a: number) => number; readonly __wbg_set_rgbdifference_r: (a: number, b: number) => void; @@ -133,6 +135,25 @@ export interface InitOutput { readonly __wbg_set_rgbdifference_g: (a: number, b: number) => void; readonly __wbg_get_rgbdifference_b: (a: number) => number; readonly __wbg_set_rgbdifference_b: (a: number, b: number) => void; + readonly __wbg_differ_free: (a: number, b: number) => void; + readonly __wbg_get_differ_delta: (a: number) => number; + readonly __wbg_set_differ_delta: (a: number, b: number) => void; + readonly __wbg_get_differ_percent: (a: number) => number; + readonly __wbg_set_differ_percent: (a: number, b: number) => void; + readonly __wbg_oklchdifference_free: (a: number, b: number) => void; + readonly __wbg_get_oklchdifference_hue: (a: number) => number; + readonly __wbg_set_oklchdifference_hue: (a: number, b: number) => void; + readonly __wbg_get_oklchdifference_chroma: (a: number) => number; + readonly __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; + readonly __wbg_get_oklchdifference_lightness: (a: number) => number; + readonly __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; + readonly __wbg_hctdiffference_free: (a: number, b: number) => void; + readonly __wbg_get_hctdiffference_hue: (a: number) => number; + readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void; + readonly __wbg_get_hctdiffference_chroma: (a: number) => number; + readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; + readonly __wbg_get_hctdiffference_lightness: (a: number) => number; + readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; readonly __wbg_hsldifference_free: (a: number, b: number) => void; readonly __wbg_get_hsldifference_hue: (a: number) => number; readonly __wbg_set_hsldifference_hue: (a: number, b: number) => void; diff --git a/src/color_functions/color_module.js b/src/color_functions/color_module.js index 18095af..5502430 100644 --- a/src/color_functions/color_module.js +++ b/src/color_functions/color_module.js @@ -807,6 +807,40 @@ export function differ_in_oklch(color, other) { return OklchDifference.__wrap(ret[0]); } +/** + * @param {string} basic_color + * @param {string} mixed_color + * @returns {MixReversing} + */ +export function tint_scale(basic_color, mixed_color) { + const ptr0 = passStringToWasm0(basic_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(mixed_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.tint_scale(ptr0, len0, ptr1, len1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return MixReversing.__wrap(ret[0]); +} + +/** + * @param {string} basic_color + * @param {string} mixed_color + * @returns {MixReversing} + */ +export function shade_scale(basic_color, mixed_color) { + const ptr0 = passStringToWasm0(basic_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(mixed_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.shade_scale(ptr0, len0, ptr1, len1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return MixReversing.__wrap(ret[0]); +} + function _assertClass(instance, klass) { if (!(instance instanceof klass)) { throw new Error(`expected instance of ${klass.name}`); @@ -1010,6 +1044,85 @@ export class HctDiffference { } } +const MixReversingFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_mixreversing_free(ptr >>> 0, 1)); + +export class MixReversing { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(MixReversing.prototype); + obj.__wbg_ptr = ptr; + MixReversingFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + MixReversingFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_mixreversing_free(ptr, 0); + } + /** + * @returns {number} + */ + get r_factor() { + const ret = wasm.__wbg_get_mixreversing_r_factor(this.__wbg_ptr); + return ret; + } + /** + * @param {number} arg0 + */ + set r_factor(arg0) { + wasm.__wbg_set_mixreversing_r_factor(this.__wbg_ptr, arg0); + } + /** + * @returns {number} + */ + get g_factor() { + const ret = wasm.__wbg_get_mixreversing_g_factor(this.__wbg_ptr); + return ret; + } + /** + * @param {number} arg0 + */ + set g_factor(arg0) { + wasm.__wbg_set_mixreversing_g_factor(this.__wbg_ptr, arg0); + } + /** + * @returns {number} + */ + get b_factor() { + const ret = wasm.__wbg_get_mixreversing_b_factor(this.__wbg_ptr); + return ret; + } + /** + * @param {number} arg0 + */ + set b_factor(arg0) { + wasm.__wbg_set_mixreversing_b_factor(this.__wbg_ptr, arg0); + } + /** + * @returns {number} + */ + get average() { + const ret = wasm.__wbg_get_mixreversing_average(this.__wbg_ptr); + return ret; + } + /** + * @param {number} arg0 + */ + set average(arg0) { + wasm.__wbg_set_mixreversing_average(this.__wbg_ptr, arg0); + } +} + const OklchDifferenceFinalization = (typeof FinalizationRegistry === 'undefined') ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry(ptr => wasm.__wbg_oklchdifference_free(ptr >>> 0, 1)); diff --git a/src/color_functions/color_module_bg.wasm b/src/color_functions/color_module_bg.wasm index 46293de7c11c90b636ef77cdecceefac895b789c..171d17c5790be12eba948559631b6cd6b9d67c6d 100644 GIT binary patch delta 27837 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 TlmlPDK=;V>J@$g_cgz0+Hs3!a delta 27026 zcmdUYcYIVu_xC-sEy<>AAc0h}yMz#W?=6=Of+C=TBB6y6LQ6uiU_z4`iWeC~geXW? zksynT2*{%-sHlJlsGy*TsHh-3k09^&%-vl!sL$_t|9Ice^9!GQXHJ=Z=FFKhbC;R( z(q{j&%Hj^mwj%!123gI(QdBfmMF(k?B?GH3S#)PO717i|qG+nN|VRm7)g;~OcW)W6ljj$x+vD&P{CM-f|nl-{| zv1nFnk`^Xn;slV@Tp4kiu!q^J3r$qi_%BmK>TpejTkTr75Y{-GX4UWri_NYHYrL@A zZFUhB?y4yGFCxrRq#-f#w`rCdws5@dcDogSD6ytMiP09#V&N)SwMw-#Tjk1?ZM9?Z z=QRI>ga7KNwN9Ih?c2QJ*&iMSCf*f?`$bvlWJ&HgO zAiohx&Ko>LJ4g`-0_5Ekb1U_@(Ro8hYKJINMFK2uhUPGGXkn4|K1vu`7@+T=@Pd(} zhNJL_Ioe)w^E27UpPgk$u?U{L!H9rx-JKi}(++j2SgW zdxflp5Do2ZvK5RRJS<0hhbm1TJaj~Meoo%t!cmioauZN8YUsEzz4jVO8 z`-B{Y`J+_y2-ypA@<-(qXgevca2!g?&Kp&vnwRY-yh;^Kg1^lRiAIxY{>VCdk& zoDt(x9$!+0f}FwmLr0=;laxQKKs!oN!$u7so|B(FYHT*fRXY}n-~s)#9AaqWLhU#@ zFPO$0wa-Y+t`XS^G^sgbhvs00<>YA7jV0mk^c9rKGjIgzUic?I9=#HB8>taV#!ul6 zdfK=eUX>Oa$q^Z}(r6!%QGXG|n#uiTtDI+0B@;OUdHM;%a`FlXYo`oPcp{xPT7@U4 zeohIuO7?S&&&eN(QPIvAqaso)GbzQ0b|yNw8Y>Y0KEjNbK!E@sHgqI3#bE7eI4p%q0Hqj%!jfr(@n~3zWr(&C z_$1E|Etm&7{q{T_r{pIh6Ee)&CEsdGc~-Lzz2GzsIi2Xj>ti_bYa!V^xFO| z^ef6SgY)vn4b^r~15i3vkUS@4b9OG zkSior0i?T7iw@sFr0L|mf9w((`V(!UzET)M(gv|kEE7+P^Nb^QMcRXbau@j9956_kB-=180dcn(!m7 z5`E^1>Ec=B^#a|$TFeo%QN&9$Pn3%9=m{D=btBSjrT))~=frioN%O@5(O?1PMx2=& zv8rrY)D@zSjRi3o^l@2P%#U^i&sEB_CLBGY<<_!jZmT;y*Bgo0bER&pKIf?MRZ?d< zT2>>u9nlG6R7wXrX1tIh5$}}R#(5m6ycV~nFF0DLhBi25m_S3 zO`WV+`eGC3)jCDl-P%Z96zZ3c88KDfM|PiAX<`Q%JVrv=z(AhFc}`2?JfBZ%-qxSq zYRy8mrcBUha?u{rSDFNm5Jma|Ka))-Fj*!QdaV<<@C7G~WOq|1sBU{xq3KIc7z5ms z+xfZeoubHXzm=!ZSh71lo7` zQ{(%pHH!QgO=ni>naoY!3Z$Em$f9#hvMh3h+X$Hai}wy z>sWfiSW>-GbSNG2|4Q{bm@8jbZ=~k`))PibW-@(hG|y~}_r%Nw2}*kPm|V zg;=0MG&S9|z;r)b<6*8pW@G0l3-rs%6GmRmF@K%ZR$lvDuh~4Fo1(dGqrGa5@$}_R zxly}D^)P2p<6v&PiJ62R(-YH|wVSRw5IXCrTA51U2<}jneyCPE)o;iqwsxY5qG#&Y zuIuJh#l^*3Ql!PHbcNd#6{djcvDzuDjZEZHMk4>mYFB>ZpHAaY?Z|4tu+~9+dq#;Q zr1+c4Z&2FW-*d*+I+Zaf*K0N|yI$w8J!yaOCnz+`9pB#COt{?fdRVT02sqctvTqt6 zw%Si|{F$;{E!spzFZx8wt)pq)Fn5%Ge39YkY=od(jM~t7Wj%1A za5v<_afb&(=84cXkJXaZp7lS{6m;o8iws|vIl;`Z(P2W*t}ot>3h!11-Z#2+!`sol zDc)_nKT!1g5zV!VG^g98hwG<<5K7heFtnO!R>sn2`@SzIxmx~p?5RSxi+i`$8u z=9I$-V6HKDG4q7Eqp{EkeJNL=*huP?ODWi7O@(cbIVzew;9I*BDokaag2Wt&?J$+**sCsqcT!KMaWbAs#Se zP2VTP@#)6(dlHRa_hg7a$e41^bQ9B#p*Ht+;$Y^zwZy;3c=_JZw52Tdz8JD!{^MiK zwWO?JzXW1RkN&^(6*_fB6Vym&ihizz0@DiGBG|c&bmGosfh2wA&5t#`k*m6w@V-jG zFjYj6X4!^ za6R7n1NY(GB)bXTqq7fENm;W&8|`r~6MEwk=7l9wB=9T6wZXVNd`3A!CKGCdFn`3_ z`k^VBGoiI>14Tx0uST@g#{07)w{XpcE_5w7vPV{Wz>HF)li3`9#YT}4Oe+?x=+Ajj zWH=MGzoHq3N7lAKWfmny4Yd199X_gB;`1Sm3*)LrqN=J+Ye!WLqICsg2>gUU;UV8WJ?W_tQP~Qr)jM;4PC0+p~UQd zQR);G4Z1Z~pB-cYJOcpSDow#3aXWvM$zKx6KbQI2n+d|5x(x-Wx~dBK6BytLR%p?! z0a>$7QR(<@){Hes_j}USQ@@y5Z%Zi2K#IXh@rf|pv|OW zq<&%$xihoFss9=R+MW8D+kU@Xe=;bFE zREdq(CN>OdI!{t=`i+Ta(e$q-Rg2-K+o2P!*k7U5My1KkI$uHeVR^CWXQ%Ih8Z1gT|I+$#@@FmfHIuOjg)vy0g$N?nuTa9G%a5aSQLQFa6(9%_K%M zSq+&#D4XH^q`ZR;8E0hOhQSut^`C6|$^h6Y$^jz_YAk|-RuqO&COvMF{$81(FOTm~ zhWaV35~B!Vlk}Jgparne3LAMFHcDY#eys7-@}5*?jD0$_%=%OT)!hvnptipJO$3KY zKfedzHx}2Othh=4U_Zc2ebqk@JSX%$?-9U%a6Z6@A(*4_bB!w0z!EmSWIcO@@lxXC@VH;#_?@w8BD&JhWSnida`FD#=lolTO{6e@LnagEU~wl zwVSOlQ~-Fjn+fiYU=`|HOdhWVey3aBkxl?K59edOx&gm|VB-2jjLk!!EVQ_B8By^0p`8J$w6^ikpPdq3fBJZ@M;#r5(;T zU)avI$#~?IrcgWEURjR!9Xp!fJ&oUGz8!Z^JX8>y(FwWS&0+k4abr~8*|t2z#T3{d zM()n9$uRDGwOO)39&3BG@M#{l`h{LESHE-)qiGnWuXc@j61yOeg)L@YQF+^Blo42<6XS(K>6MZ_T!khvfSl*IM9z6b}KKG=tE<| z&Sc~KTh-95(fb?Y-C=(tyeIFM+=Vcif?a5&{^J?iVYuIpGd}!BFBPi-1=a5D>3;07 zx9>7zWi8*?ATZEhzuOD%#_!F<`_=av(q`l0dphEE58j9O;|Dv(ZW0}4eg9EAceIil zh)db$2W_GvkCVAlpbvK`$hh+U`?SG$>w`tBEIhHjsw}mt6*s1J!7@hOr)>3P?g|%8M#xS&PFKLP>2tszw{ihJNI<02p_q7T!-E z$;5mAkrsIWailHYZH_j_d(zQSM#`~BSSH?`kJZ3?yox`i-uv)gW_+*S zai4O$&8M%B&-fK_Us=lW-qZ*B6Y7Fpmutc?62E&iBY#q{$tK4CWy z^X&9fZ2ES@^h-00y`PoMc?6IG$9zdZ3e2K4EZ^_m|> zj;@m|_?(SdCrlUjXm7=IP37b-$P3#h7YP$T@c=It^n3d*BayGsd^~c`FRo@E6e!2nCRG=^j6ouvT^$9~*CnteIK z=`!=wlGxtm-f%~9{kb>X;T+q3%t-jUfrl-xirDO=Lq;&}uHVSx2=o~|&8TMX*Dt3a zRiJf{GMd1JsQ$ytXm+-%of$S9E1PxpTcToP%r{=V7k`sfv6$5Z%xfKrU0?hIW^HlV z8{hm$iLbJ|FU+l(E+4q;a`lVA!R536{L|!_gFaPeQUrVnTZ2#xpv4L@iZ4{MsaV<5 z7g|wPz}kSa3EAAE6GI^VM{wz>rYAsYCP$ELRJu6JrZOojz4(DL_^f(LE-#Mgd{fs> z`>`9VssP@_c-FMjeyn8t`r}h#>CeW(pPs||-r!O#ydS)jjrSXus^Wd-QW8Y``lW_Y zRnvZqFYEYo9l=JTU60Fk+aWakVzoE(*E8|Jv-=8^(9$2i+&(l#7^mPB;KR$80y-^S ztqlo0*?Cug{L)lz_G~cK+rqPYG(spMHDb-z@b*uXetDsrOyIZK?nD zYL@8+G#5;x?KO4--g~XtEf-^8Eq~@(aszWEHq8W#Tltk7767m6c?jreQ$IH_cJ$A@P6&agLo(WQ9C51^H~dp^Ad?UZ^a6E2(tmE#DQbRh(EZro;RO> z_vQ4>u9W$*-v@i)f#cLL1A0joX2jIo|QIrG=c_$N&-k zS0z5aeioW0Lbh5qp02JL@`8=r4OXDP$W<5aKK;Pc=+R>=W$>BrWMJz`RBahA6`W=R zP_8Som7SiX4e}#9y@_CngP_#qYYysHd4sa0>qBqEU~$2$Tggk!DqoE-YD{r_NLW*? zB(Nx+Sc+mU9hDQp=_FU0bjT@ji||5=WOf84h7wRq)fzcJf*x)Wk|Kc#kZk3GA-z&l zk&fIj&Q@0lmy5YDFJ)UN?W~BsfVl!<8tYpbS}nsPX_SqlOXTE8TB_z`CFzZ#8e9zv z_ju?=Z`zLua#9ra4Cz;^zh93;QFpt!znAIJG=+A^XQIi2;LT{d6G3zgRY%Y?hOW>t zS=&W{gFZRJMGciNe!&U3+C?X6n|vgeIwIH;OYIR@Dp2dxmoPLQ{SXTUYb^Z~VtSf> zT_NOv3N*3mj$0yZV-dE)SzAtoH|>y@D^PD#qf14ujc;5wu}t|%0^JApT8XMDJrijVpcfNW;$w-FO|;V2G?}&$&6eM#P>O8<>UTv( zq|$OQu1QtN{*g)p0C}sZ9_U_$7P~Mpay{@9xkaJZf^%GX0Yudah*wUdqx7@z@#R$dAX)K^SIFm^;F4cP)~SxG9M< zkZ!7*z!^Yhz{Nf?mQ+`Ba4qzG?k4P+Hpt0dYTR-e4hrfKYmH$04f$d!F#h%dEV zeGUVM@p3Jb_hdi<7s(YFxF>LfWJYyr*&Kt0ZsCIgXc8O@bc(WKAlS_!VecrHp&A(d z+APWw|OfIhueetB+Tb+g`z^e`O*j7hl&le=1si=*hbdhYGNi}1U5&I~b ziWKafZTgnwa&jiMqP4OtlNuH&;ezl-R)(t4*Ww&OPe5-(R$_1$gUJlWGx#ZkNesp@ z_%nlv3|3@t-U5J;3|3%p8G{uWjAd|R5OguPi@|8ujUtL<9jCwNhbc0e!Q%|7yx~glEGhsAUxnu^(BFl;Pe){!Jw)o+}uKcfx)(1k1z(mXE2UI2ZKXzGTfM9JHurQ z0oG>F#^9F>rZZ?|a0U*&xYoq|E%YS}swP4J(0L4|Fctb6&JPB;FJ^8qPh#-3~Py z&)3F+uu!Jfp*Aw27S#-&LmgH;m6+w)B-_-YY9Zk0T9gq2uBb&@_2xO1x;0|OK&YK4B)^7*t$WBeR0XCNn+@35EMMl!uS+Y5R?C?BRLiun z0?TJ$ZIyS`r<&zSft6J*tWW(=lW)O+;IRgjAZs?D3YFEw!cmG>!<6IY35D^j>(d~> z$ov}{V42w=+cu;J5Ugm3i#N079hm915~VpY=?~Iexu`KE%6l493p3t3fcm{LHKlp7 zVH4^v&orha`Fs;-S1}yL+)CSQW>A&H z#sUw9Qg~dLJlvE%q%UM?Gpe1ql-Jy1oOl#}iE~>q8YAe9a!0zB%5%-AYx-IyZ>3zQ zcXl-t6>NFb3nF7nfi*erZccTR73XP_(_}cT7@Wvz1sI@E-fd2KHKAy8xe#R7Ud;4H znY?@`7Os~Dh>>pKWp)ed?p681%NtUGXfq9Lk4QJ-@?Z<9o}~B=BO5T9^sLdKbMcWa zsWysl(UQK3#c26WPQm9q&&~DKZbeU8=y|!XEvoMPYtNV*StO5 zLzuJ+JJ4__`YRo19$k^e9jO_DogHBg%$9$2BsX30rFEj8iC2LNUFa}!___;iyDP95 zz#ResPz!>VIl^lS4)RN2lcn0+I$K=D{D>C`824j7{XaX>% zWBqK%0uEZ6+wSCqswj0nY3UTDX->^Ki7Z9>Db7#r){X~bM}o1#W~OjBb4*uP%6P+s ztg&Z`64Gam_{1+xDY2sn@uAtTqMuHtCjIh-cXh-|~J~ zBQVuJ?oSJ7i7)$p`jV>f98(UcDB)UxcHP#v0RyPuf8zP!Kj3-nK^lWa?Bave1AWzE zAa#!Cl1Z(|st)Q7Nr_xKkZQC3*f)?K5l1e|cG-0N-=`=T1O>K3ZW=@#?d(!J)Ky*{ zL_hM3h-Gg~EKe1@c-MIM5UM1dL#RPlj2%9LszM3P8$q=);5d(0OIZyuQ+S#L^3qRHu4_KB&J@MMTUB~S zQl%&ymwbcqJ&c#jkbjJzWaN@G5*CsnJC3AkZC@mJ9CTQ;J5GrB>BuqJ zsn2J;4F#~*ah9J+HXDt70DHyay>Srca$TU4C(2zB8yj~L{E%!o$wa z6PO%s7ZWu@5&r0sb*RtUBNbcR<}dYG*VYpDc^>prpOH zcsDxQp@}fN!$Qi;K7{js^oF`D26H|D@oq=x-`)b*J#rxc;%pPgW-T@UeHg(pW&eN3 z9O1|K=@p zV=&j$RT}@c;B79!juKEqrckcO&Q`q{LnVIzgWIMUfVT5x9lqsBj{$I+5quAMF;o~nD`?==L9FsM0!0zjmPos!^q<^yO z_ZCnsRuh5T184QVn*}t9GDGLnNUl*Hd`ysNw^KiU7QLLQ7xQV^Hu=m%7?IoLp@}qu zD;w;ZuAHbxAQAAfevyRzS6(8sn6o1qTr!DD%5_CQrVIe3?qsT5j?#-MeL?9znHrR% zG-pa{P*zQ*yJ(I4(G1#7QP9FE)F*ijHv~GSK40`Kp3()A=ntOvI8cz+r@+m#M)rM( z<|8=$5Op-!u{o}Hi~TIK+ri%MVZ|;VreRQO*B^#PF=X;1l!Tz^BhCW7@|x+-3nEN>OH1VikH&31Jc#>b z82TjYQA+C&I!ZfLHoN@Us3j}jpUr_ksg47R`4CI(xJPdrknvnZAt);zg{Q7Weo;gT zk)e7`(o{+V!7~*WZHeqVm2e0krcXY<-O4%TW@T0w<~b>@iAj#H&oS(*v_yKZ{ihi%lk;1TZ>SV(-Y&i0LyM% z*1+|PunL#R5k=%hFb{#cpi>bn0VVyqNkhY{CYe^415}6WN$3#afj-5Z57%;ur8Yq} zDyHA;OMh05uzJ&|X&^p&8g;G~w9MHl#zwiP0SA#b9iHe0xmX|xtqd1N|`NijW1 zSmxaxSbn@Mut2~d6vFkSw9Y_>FK62zUiO$luhufTaR|Wf!!ULkH|86uyh?=Wjd42| zb|=4Z_9E-ggsY-N=FG$-hxIa(n!wb?iR_3f5NzIzaLoee3FIL+>{VXKL&_3z!W^n0w!S7C%%Qe)QjVX4etKy(Rif>TN|ayDrfMd>rZ^nRR!i2OL+z@u zQ8q%uQAd4T)4)+jso7i%f;u~nL~#B|d2*UBzZ~S4e-Mb|kQ3TSYmqxb zZS5cmD{Z;CUO0&PTvYQdUO}hAD{)djDP}{7j|$E*VzqDjT6o&jf$nPg)${a+P4UTd z>*zHVT`kwHrwo7e!}XM`uCJ;4E9I_-Ll#1>jvsjs^-J>CPo`|ZCS#j?Y6I13h#_q% zmWIKDv^Xr6t?NTP($)0K2+YQ^#t3K6_j2YsxJ~}Hfx4Sj^mW>Z_2QOnWUy>lm26Dj z1U0lxzOV^XW}ENmCi({p#nW48GJ=XP&^TJ-oACmPz<8YIu~bJz{_(gJMEJ*}_{9K+ ze>_TW$%{E2i-U+#@alE+!@(qnaZHFoo`Y-ls+3y-Bp@L6m#CMpF|$uT@G@|a3^aVON3~mTq1<)@mT%5v10_Os5<}0#88D-EbGPjI!5gaXp z1AFczec8hyVF`NTgE7$CuL4?2AXM+fTv(E-4_pI6Ml>vl1T-JY!YWrsT=!dAP z7;^JsQ>-4VZwIT{qVN#GkT-WyBi}p!pgS!##UPX3rTSSM{qrqOqzk!}fHwZUfX#cC z?#JMtdlv?es)n!DdxQ@xf0c(1QnGyfAayh2IS85_DtAN~#%c^stfhyjPl)3RhP6Up zJ49X7vd-TkD3u3Ac<1{x7D(O^u(6C)4-S=s?^9N)x{b?e&rT2C#)bYlds;2)AALq? z9-NY?oLpaHOQNxYy`?x&0ID+b1FBsKGn|K;%$py|P0xCH(+AX-y;Qt->M$A2+6%8e z3Kk4QX2H_^Ax-X`!$*Luo6WkR#Xj)N+rLJFnAlu2TNRli%O3AT*s*T)y6v{wV0ha{j z`eT98Tgcc?Rk5f-mp_+olNUdw{q(wg`8a&iuwIYTT$~T`ptBtC0bFFBSK~z&z9;lP z);2ylwYk>GlFx8Xd_`iscZM9*JaK}m!+h|c>!_TfJ1m*8s?AcTCt6H(J3D;yVzoBe zY^yn4K|bGw6X@#@(d08)c5Y2PMLlsNn>#XDet~b)5l7!9$=EMosce!Z9Ym6B|Amr$ z)s5@FfXhI2X^Q;1p-7YwUs9}z@W?h_(n3`E(3j|*5_#iGn*BG8<=b)o#^OvFjooyb zx(Rp$99n$32&rtOc@cT2Ab_?`X{ECdwmf`xnYMJkA>ccH_o})$x+MQEF zHvXIvnAC63+@H>=rXbD&gCNCM{0)WO%FOD)bYR0nKJ_h5uuEj4^TcNQz2_-CmS-uZ zZpe(Df1Vx=wwL{+w+0up6jrkuTx^-q-df*Lw-|NN-U_YcpV~9N!##!)`SEvD>Nm9WPmR!KeJF0#2B3km!MJ3yao3c#-*=F)6zm~yQ($#TaPs#30? zU4hn|`;B7E_@7(T@+#f=r`E`;I6pDFOtVy__H>F?rf9Ku#xGhJ>wOjfqP}vtL$nDWlnjOIaY8k3 zafq(c@&|0r|As23$sJDdAN8|*G*S$eKML{RQSra+>nyw3(LQu^_TYYuwL;4cMY-HXpN#w$2 z+ms|;yS4brG07tITFKMNBJ^6xd&y$&ZMiK^5pRSPAK@>4c&ci_{8TZ{X|9UumWizK z0acMztBBH$Ic`x?q_D0OY4~Zk2(?LE9uaDj zH1`M(u8hn3aRnX2_K3HfR0c{khizF^G2R?CRiJ#hs@NJ*J#)J-L$*p6Cqv3lt0t<3 zfOk|A=^@~hYNB%p_)dA|U&}MQGsHdR3N$w@k7tMstSzRA!=Jsf_vZBsF+r^@Fkb`v z6WOY|coSj}y#yU|7rz@*2?XR<7*rPfZwQ{?Wpf_DOl z&qM$Xkt(+~QYfg2H2FhqQ5|^1Q{WFTEAxgl+ z`si-t(x#<&{y%DU&3b>+>c{K=0+W2LZ;Vc{#f$FfI`-lp^olB1Dn%-q{Mf z=SU0DN?i?M*l+icyt@fD6#wy9*;@V0SPgFdzi+I%>j4SP@B(iyEEjdb)STB@w7{@Oc7Y^(*;z>f;w%XWQslTUViMwYyMjzz6&Z0R zBS?`;x{3!7|Dh`cLj}pQS2s~B5SQJ=h>-amu%BbPtNC5OyPDq-pmZ$Q;|>wxjqs9;wx z&gdD1<8S$5Z&4-8{B#}Ak>0}F!Tii!Wr$C%9Lkk$e(SEX6j-V`3-b$h#b$8=hZB4M zH}A-(MIVePPK)}8k24SBbPG-`cKgox6&^AEfEHV5;1UqPd+!yqXuSj}-8cF^v5v2@Rp>7s3JMH60N|y8eYCQ_;6uh; z{Y9pI`6YJ5`7ZPqd3?R^z6ZnzT%UdO0io--nu}XOJvH~!5F5I_A>ee`PL(m+V*mVDuiD2^jxlHTj zcGSetq{-jd0E)% z4~mxfG+^3;qB&ibuRSQdxV!lIgCZ&6GW?W$haR^qa5jfhqTLmc$s!puP$Yr3=0H&| z86N?FngXU6{-F&2-40clEF360if^yV*9PKn@4{7icA&@*KU|fO*yrs~Eof0*UvGgCw&l}EKiem6*@#pC-q0rw@=2IT|wn<%M+aptc+uEB=5 zsThE@;K&s@VX&wYdFnR|93QK>BQvF5UBvlb8Z5fq^7oJ@pdTJB6!n8rz-ZGZdZSR( ztr@V1Ov?-q?(e|OscX1r7cfJ0rRC&vLq%x<8P4~MebO*5z#Jjd%NUF@iaCAjYgH* z4E#2#oK2jOTh1oFGZ)5MNQL>Xj;gR=*BC?o3LhFR5<;2{MXh!yS4N8|AvW!#ymE!D z%PUvd2YF&8;Xt~agHDZv4`=K19|EL;B>C|}BFW)D8<&S45((*HG3E_M zb%5>BpuI5HakyZ5H~I4x7+4b@76sVUeD|%c&yvzTo9ac8Ft-=2WHgi80ihhRbTI zO6qjoana;xBTr z9E7Qmf8)iOc6&a*6^XmUxP%nVHBH`C4AVjdiE?(aXoH{4l5ZD_I%zn0S0{Y8KK8}f zDV>M@gC-_q-(l(flkQX)5R?Hn|9Ei{2O%g&KW`ne(?;k zpxr{$y{>*3fq4RW+C(f~6hJ)tZ#m=xGewPCnU|iBi)M<1%736J_JgD9nlm0P=h1Zi zCU?&iiP7BVL{uJ^P4yFH^4v`EBkl4XnI)PCdP7Fc!5aRCTs%kgF@FQi#`l~XW5wLL zOa3}X3{HLnRV!6G*l#O9wxLw8XDF8A=3+;3Qa(NxJHoZ{#kryYS4@#WMSh(~%ZW7|lQImLF{pt@Vh4+6eu4CZyE52zRt?36D`cP9~ICmMjaEn3} zco>)Dbz5~a8Jci>HNIWoJXHy6`M!S;I$a`Zfk<*gZf+I39T4Od#iHYZ*H0hwwOSy~ zTQm5Z0RCjfENB<9QXjOK;M;*O27KL?h%O@5|7j`?3X0odK=vG!&l=)aI_i6Jsn}+L zD(Sjhl(I%yE}GHN*`B8a9t$2T9-Ghelzr*eCY?yrDrlNkxHV3TK-dj%r4YEoZSW9= zWt9~oTQ2J52$#LPJL=J+zUkc^&ywSZXi&8ndHNnllCNVA$5xAcxxZt4toH4WIBh&g zwS=a{B9xEybF`Bq?skmjpG{xyi_^v;G%T7H&eUDK9eJ*XJL9y$fRdqnm9xz}B*Ef5#|!rmrJOoO(^(=<8V4ec$VG8Y-f_ zjnIzp5JFT}`w$`5`8dKbgr^ZQ-&sHXTYq@LAO7&V@AG>cUJ{@0l60TrF){uPIqg12 zHTz=Rsdt`~Tkdn{jQi<6#}Ki4x9ro;QA;kl(=nsMncZ>P4CGu1eTa{4v@^TqBfTBE z^sEpAcq|$uwcKOY#rLMk*#lf@czkcllf4{0Re#$6Z{8!<-0x^lwdFVWJI1Ar+#9Ej z0J;gDXgoLlf2V=hug#EC9&k()*Y?Vv9&qdsoA$}|0~|j#T=7<%RsiPa=!`gop|B?e zt{tSycOG;+M!jU`fsPsC=ze){prdVtqx<8uabVwrdPS*ZzT|Ajbm6)Fj@i%RfZ4AR z2w6Vk5MsFYES9?mJ34Vbwjqw1_b&#T>%I!16XB?_lLqIF8s^4(Vopo9whMTcg#dkc z-Z=cy``8ig@#FAI@a{o_KsyB<{#E>o2w9HDPRz?g{&R;o^7XiPmq+u#Ye!TAb?pafb_ z5M=P}9p;#4rF&(MQI6`g+E+NrQ8^-h`Df)d2F85-c3)|Mqknu6zO8eTOVg!_KuFiC zNTR0i;E2dd)AYAhY)(b|Hh_xdCTRLOj#-LlR?+k;DtfpA=(A2UcIKy*HT_8y&3Qi+ zzr@T@t2?{20)8(<#m`Ub3YPt+KPdv?xur>9`h*F#taB^tgX?PrEUvPDS0zpVRRN7N zu8dC6^yz27W-mV7?4h?}HT?+%l^&mUUt=&nr=SCOju^8yS<|;EsLhf=XZwM3FGG&3 z1+Pp=eJLK-+Z5RAr|_?iolOGsnKL`)Ij&bM`oJ2mRM4jgAs3K+{D%NJ`R+l8pTCWE zyWCrC@k-_cX@`y+oIiLdeheO|(?R386rdI0KP|wF(XxPd06%f;s6tFI`N%5AUUASS z+pc!pk1y_@TJ3m1%(TnjRztg8v&%`PP}kS&z8$3wuO*^1!pwAYg#2oaqo#L1;CN*A z8A4V71%<=v732@Cr+%WoZhpbF2w&Z`(3eFU9P!#tJn!N;iRXJfzvGDxgGGa<4xUzc zdf^#>X9S){@hrhpiswZn1ogFDKT8yvL|I5s-kHRu=JL25! z9p&VWjxI?3CW4{>^&wC~Q#(=NP&o27IO;YyA8>j|X_Eop7Xr@&j32TL)@C?h)W#b` z^Z>#e!Vm*kRlv7?6IO}n4M%wXt^DAo6+aKX!Po2s$E%{-hDz~T1`{HzLl7 z1MsHX;LW$eFUpvWjzoESqr)!yZFMB{4S0H-gxN)&jmS% zJ48FSVTw6n)`5{nwxOK%isJ!Hr_Wz;)D!ztWb_V4`x@85#ind@YP=Gf{J~>K [num export const differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number]; export const differ_in_hct: (a: number, b: number, c: number, d: number) => [number, number, number]; export const differ_in_oklch: (a: number, b: number, c: number, d: number) => [number, number, number]; -export const __wbg_oklchdifference_free: (a: number, b: number) => void; -export const __wbg_get_oklchdifference_hue: (a: number) => number; -export const __wbg_set_oklchdifference_hue: (a: number, b: number) => void; -export const __wbg_get_oklchdifference_chroma: (a: number) => number; -export const __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; -export const __wbg_get_oklchdifference_lightness: (a: number) => number; -export const __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; -export const __wbg_differ_free: (a: number, b: number) => void; -export const __wbg_get_differ_delta: (a: number) => number; -export const __wbg_set_differ_delta: (a: number, b: number) => void; -export const __wbg_get_differ_percent: (a: number) => number; -export const __wbg_set_differ_percent: (a: number, b: number) => void; -export const __wbg_hctdiffference_free: (a: number, b: number) => void; -export const __wbg_get_hctdiffference_hue: (a: number) => number; -export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void; -export const __wbg_get_hctdiffference_chroma: (a: number) => number; -export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; -export const __wbg_get_hctdiffference_lightness: (a: number) => number; -export const __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; +export const tint_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const shade_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const __wbg_mixreversing_free: (a: number, b: number) => void; +export const __wbg_get_mixreversing_r_factor: (a: number) => number; +export const __wbg_set_mixreversing_r_factor: (a: number, b: number) => void; +export const __wbg_get_mixreversing_g_factor: (a: number) => number; +export const __wbg_set_mixreversing_g_factor: (a: number, b: number) => void; +export const __wbg_get_mixreversing_b_factor: (a: number) => number; +export const __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; +export const __wbg_get_mixreversing_average: (a: number) => number; +export const __wbg_set_mixreversing_average: (a: number, b: number) => void; export const __wbg_rgbdifference_free: (a: number, b: number) => void; export const __wbg_get_rgbdifference_r: (a: number) => number; export const __wbg_set_rgbdifference_r: (a: number, b: number) => void; @@ -61,6 +53,25 @@ export const __wbg_get_rgbdifference_g: (a: number) => number; export const __wbg_set_rgbdifference_g: (a: number, b: number) => void; export const __wbg_get_rgbdifference_b: (a: number) => number; export const __wbg_set_rgbdifference_b: (a: number, b: number) => void; +export const __wbg_differ_free: (a: number, b: number) => void; +export const __wbg_get_differ_delta: (a: number) => number; +export const __wbg_set_differ_delta: (a: number, b: number) => void; +export const __wbg_get_differ_percent: (a: number) => number; +export const __wbg_set_differ_percent: (a: number, b: number) => void; +export const __wbg_oklchdifference_free: (a: number, b: number) => void; +export const __wbg_get_oklchdifference_hue: (a: number) => number; +export const __wbg_set_oklchdifference_hue: (a: number, b: number) => void; +export const __wbg_get_oklchdifference_chroma: (a: number) => number; +export const __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; +export const __wbg_get_oklchdifference_lightness: (a: number) => number; +export const __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; +export const __wbg_hctdiffference_free: (a: number, b: number) => void; +export const __wbg_get_hctdiffference_hue: (a: number) => number; +export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void; +export const __wbg_get_hctdiffference_chroma: (a: number) => number; +export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; +export const __wbg_get_hctdiffference_lightness: (a: number) => number; +export const __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; export const __wbg_hsldifference_free: (a: number, b: number) => void; export const __wbg_get_hsldifference_hue: (a: number) => number; export const __wbg_set_hsldifference_hue: (a: number, b: number) => void;