jygame 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,981 @@
1
+ // 2026-06-05 — 458 colors from colorhunt.co
2
+
3
+ // ── Flat lookup ──────────────────────────────────────────────
4
+ export const Color = {
5
+ Black: "#000000",
6
+ BlackSheep: "#0f0e0e",
7
+ BlackWash: "#0c0c0c",
8
+ BlackMetal: "#040303",
9
+ MidnightOil: "#090910",
10
+ BlackSabbath: "#26001b",
11
+ DarkBlackSheep: "#131010",
12
+ SuperSilver: "#eeeeee",
13
+ WhiteSmoke: "#f5f5f5",
14
+ DrWhite: "#fafafa",
15
+ LightSuperSilver: "#eeeded",
16
+ Lighthouse: "#f3f4f4",
17
+ LightWhiteSmoke: "#f2f2f2",
18
+ WhiteSmoke1: "#f3f3f3",
19
+ WhiteGlove: "#f0eeed",
20
+ SuperSilver1: "#efefef",
21
+ Beluga: "#eaefef",
22
+ AngelicWings: "#f5f2f2",
23
+ MagicalMoonlight: "#efeeea",
24
+ Steam: "#dddddd",
25
+ LightSteam: "#dcdcdc",
26
+ WhereThereIsSmoke: "#c9cdcf",
27
+ TheEnd: "#2c2c2c",
28
+ DarkCharcoal: "#343131",
29
+ MattBlack: "#151515",
30
+ PianoBlack: "#1a1a1d",
31
+ Diesel: "#322c2b",
32
+ DarkMoon: "#191919",
33
+ GreySheep: "#b0a4a4",
34
+ Nero: "#262626",
35
+ Metal: "#bfc6c4",
36
+ Lead: "#222222",
37
+ DarkTheEnd: "#2b2a2a",
38
+ Placebo: "#e6e6e6",
39
+ Pinball: "#d1d3d4",
40
+ Plaster: "#e9e9e9",
41
+ GlidingFeather: "#d7d7d7",
42
+ DarkLead: "#212121",
43
+ Spiced: "#c66e52",
44
+ Handmade: "#7d7463",
45
+ CafauLait: "#af8260",
46
+ HotChilli: "#b2533e",
47
+ EspressoMacchiato: "#4a403a",
48
+ ChilliConCarne: "#995f2f",
49
+ Pecan: "#a47251",
50
+ EnglishWalnut: "#3e2c23",
51
+ ChocolateBells: "#7b542f",
52
+ TooHottoHandle: "#bb6653",
53
+ DarkRum: "#4b352a",
54
+ Mars: "#a76545",
55
+ GrandCanyon: "#a55b4b",
56
+ DarkDarkRum: "#443627",
57
+ Eagle: "#a66e38",
58
+ PurplePristine: "#792ca2",
59
+ RomanicScene: "#36064d",
60
+ RoyalPurpleness: "#8f0177",
61
+ WildViolet: "#62109f",
62
+ CosmicExplorer: "#640d5f",
63
+ Murasaki: "#511d43",
64
+ DarkMurasaki: "#522546",
65
+ PartialPink: "#ffedfa",
66
+ SugarChic: "#fcc6ff",
67
+ HollowKnight: "#2a004e",
68
+ VelvetVortex: "#500073",
69
+ PoisoningPurple: "#7c00fe",
70
+ PurpleVelour: "#522258",
71
+ Occult: "#4f1787",
72
+ SomewhereinaFairytale: "#d895da",
73
+ WineTour: "#673f69",
74
+ DarkVelvetVortex: "#5e1675",
75
+ FuchsiaNebula: "#711db0",
76
+ VibrantVelvet: "#c21292",
77
+ DarkPromQueen: "#22092c",
78
+ DarkWildViolet: "#610c9f",
79
+ WarmPurple: "#940b92",
80
+ HauntedPurple: "#9f0d7f",
81
+ HauntedPurple1: "#982176",
82
+ PrettyinPrune: "#612d53",
83
+ ShadowPurple: "#533b4d",
84
+ FrailFuchsia: "#dc8be0",
85
+ SugarHigh: "#f4cce9",
86
+ PlungedIntoDarkness: "#441752",
87
+ SanctumofShadows: "#432e54",
88
+ NightlyVoyager: "#3b1c32",
89
+ DarkPrettyinPrune: "#6a1e55",
90
+ Murasaki1: "#49243e",
91
+ MagiciansCloak: "#704264",
92
+ CoalMine: "#240a34",
93
+ Clairvoyant: "#3c0753",
94
+ Velvet: "#720455",
95
+ _8BitEggplant: "#910a67",
96
+ DarkPlungedIntoDarkness: "#451952",
97
+ DarkVelvet: "#79155b",
98
+ Plum: "#643a6b",
99
+ MinuteMauve: "#f3e8ff",
100
+ GalacticGrapevine: "#66347f",
101
+ GrapeRiot: "#9e4784",
102
+ Haiti: "#332c39",
103
+ DarkSanctuary: "#400e32",
104
+ BaneofRoyalty: "#7b2869",
105
+ MidnightAubergine: "#863a6f",
106
+ BermudaOnion: "#975c8d",
107
+ DarkDarkSanctuary: "#4c0033",
108
+ VeryBerry: "#c13383",
109
+ Bordeaux: "#760031",
110
+ SelfLove: "#d6336c",
111
+ DivaPink: "#ff4081",
112
+ ExtraFuchsia: "#e13f7c",
113
+ HerFierceness: "#6e1a37",
114
+ WineGrape: "#8a244b",
115
+ FancyFuchsia: "#ff0087",
116
+ Pinky: "#ff7db0",
117
+ DarkHerFierceness: "#76153c",
118
+ RuralRed: "#bf124d",
119
+ PinkHorror: "#932f67",
120
+ PrettyinPrune: "#732255",
121
+ WhatWeDointheShadows: "#4a102a",
122
+ RaspberryRomantic: "#88304e",
123
+ PlumPerfect: "#ac1754",
124
+ MysticMagenta: "#e53888",
125
+ PrismPink: "#f7a8c4",
126
+ DebianRed: "#d70654",
127
+ VelvetMagic: "#c30e59",
128
+ Merlot: "#740938",
129
+ FugitiveFlamingo: "#ee66a6",
130
+ PinkHorror1: "#8c3061",
131
+ Amor: "#eb3678",
132
+ Botticelli: "#b60071",
133
+ NeonRose: "#ff0080",
134
+ LovePotion: "#d20062",
135
+ SugarRush: "#d6589f",
136
+ Kisses: "#ff5bae",
137
+ SoulAnchor: "#5d0e41",
138
+ Flirt: "#7e2553",
139
+ DarkSoulAnchor: "#5f0f40",
140
+ BenevolentPink: "#da0c81",
141
+ Pansy: "#e95793",
142
+ VibrantPansy: "#ff4b91",
143
+ InescapableLover: "#900c3f",
144
+ FattyFuchsia: "#ea1179",
145
+ PearlyPink: "#f79bd3",
146
+ FuriousFuchsia: "#f11a7b",
147
+ DarkWhatWeDointheShadows: "#3e001f",
148
+ FuchsiaFever: "#ff52a2",
149
+ DarkInescapableLover: "#810b38",
150
+ VelvetWine: "#934761",
151
+ Liaison: "#853953",
152
+ MorbidPrincess: "#9e1c60",
153
+ BeetRed: "#811844",
154
+ SoulAnchor1: "#561530",
155
+ SecretAffair: "#c71e64",
156
+ RazzleDazzle: "#ba487f",
157
+ VibrantFugitiveFlamingo: "#f564a9",
158
+ Aquarius: "#39b1d1",
159
+ Summit: "#76abae",
160
+ EmperorJade: "#0a7c6e",
161
+ FreeSpirit: "#dff1f1",
162
+ SubtleBreeze: "#bbd5da",
163
+ Crystal: "#9ed3dc",
164
+ SereniTeal: "#72baa9",
165
+ GummyDolphins: "#03aed2",
166
+ Riverbed: "#8cc7c4",
167
+ OceansEmbrace: "#2c687b",
168
+ Summerof82: "#76d2db",
169
+ StormyWaters: "#7eacb5",
170
+ HeyBlue: "#00f7ff",
171
+ Frostbite: "#b0fffa",
172
+ RainyMood: "#3f9aae",
173
+ Cyantific: "#79c9c5",
174
+ WinterWizard: "#8ce4ff",
175
+ Java: "#3b9797",
176
+ MunsellBlue: "#1e93ab",
177
+ BeauVert: "#075b5e",
178
+ Java1: "#309898",
179
+ JazzyJade: "#6de1d2",
180
+ Thalassa: "#57b4ba",
181
+ CapeVerde: "#015551",
182
+ Whirlpool: "#a1d6cb",
183
+ LightBlue: "#a2d2df",
184
+ RoyalNeptune: "#173b45",
185
+ GreenDynasty: "#219c90",
186
+ Windy: "#bed1cf",
187
+ Cabbage: "#7ed7c1",
188
+ Waikiki: "#468b97",
189
+ Billiard: "#22a699",
190
+ GentleCold: "#c1ebe9",
191
+ Summit1: "#87b6bc",
192
+ EnchantingIvy: "#2f5755",
193
+ MartianCerulean: "#5a9690",
194
+ Waikiki1: "#468a9a",
195
+ PineScentedLagoon: "#186f65",
196
+ ColdWhite: "#ecf8f9",
197
+ MediterraneanSea: "#068da9",
198
+ HarbourMist: "#8bacaa",
199
+ AtlasCedar: "#609ea2",
200
+ FishBoy: "#30e3df",
201
+ Shore: "#84d2c5",
202
+ LightWhirlpool: "#a7d2cb",
203
+ JewelWeed: "#3fa796",
204
+ JazzyJade1: "#37e2d5",
205
+ TealWithIt: "#006e7f",
206
+ DarkCapeVerde: "#105652",
207
+ IceDagger: "#d1e8e4",
208
+ GalacticPurple: "#443199",
209
+ FrostedBlueberries: "#0055da",
210
+ DoNotDisturb: "#303841",
211
+ WanderingRiver: "#7daacb",
212
+ SeaofStars: "#003049",
213
+ Cobalt: "#1a05a2",
214
+ DancingSea: "#134e8e",
215
+ GalaxyExpress: "#3d45aa",
216
+ BabyBlue: "#9ccfff",
217
+ CandyGrapeFizz: "#685aff",
218
+ TrappedDarkness: "#111f35",
219
+ MidnightinTokyo: "#000080",
220
+ LakeLucerne: "#5a9cb5",
221
+ GalacticFederation: "#360185",
222
+ Oblivion: "#050e3c",
223
+ Subnautical: "#002455",
224
+ MilkyWaves: "#67b2d8",
225
+ DeepBlue: "#060771",
226
+ OhBoy: "#c2e2fa",
227
+ VioletVelvet: "#b7a3e3",
228
+ InlandWaters: "#758a93",
229
+ DarkEclipse: "#132440",
230
+ MermaidBlues: "#16476a",
231
+ PacificDepths: "#134686",
232
+ DyingStormBlue: "#0d1164",
233
+ BlueMana: "#77bef0",
234
+ Campanula: "#3d74b6",
235
+ Cousteau: "#5eabd6",
236
+ Denim: "#093fb4",
237
+ CloudyValley: "#b2c6d5",
238
+ MidnightOcean: "#102e50",
239
+ SquidsInk: "#09122c",
240
+ ImperialLilac: "#a19ad3",
241
+ FoundationWhite: "#ebeaff",
242
+ Perrywinkle: "#9694ff",
243
+ C64Blue: "#3d3bf3",
244
+ OutoftheBlue: "#0d92f4",
245
+ NevermindNirvana: "#77cdff",
246
+ Droplet: "#b7e0ff",
247
+ MidnightInterlude: "#384b70",
248
+ NightOwl: "#507687",
249
+ TheVastofNight: "#180161",
250
+ Wizard: "#536493",
251
+ FlybyNight: "#0c1844",
252
+ BlackSeaNight: "#00215e",
253
+ Assassin: "#2c4e80",
254
+ EnchantedWell: "#4793af",
255
+ SnowySummit: "#c0d6e8",
256
+ LightOhBoy: "#c4e4ff",
257
+ DarkSubnautical: "#00224d",
258
+ UltraMoss: "#d6fb61",
259
+ MagicalMalachite: "#00c68d",
260
+ Electra: "#59b292",
261
+ LusciousLemongrass: "#5b7e3c",
262
+ Botanist: "#a2cb8b",
263
+ KiwiKiss: "#e8f5bd",
264
+ MellowMint: "#d5e7b5",
265
+ LostGolfer: "#6faf4f",
266
+ BeyondthePines: "#6a7e3f",
267
+ ZenGardenOlive: "#4c5c2d",
268
+ Elf: "#458b73",
269
+ LightKiwiKiss: "#f0ffc3",
270
+ PastelPea: "#c1e59f",
271
+ Gossip: "#a3d78a",
272
+ Rosemarried: "#84994f",
273
+ DollarBill: "#8abb6c",
274
+ FairyTaleGreen: "#78c841",
275
+ LushGreen: "#b4e50d",
276
+ Limestoned: "#9bc09c",
277
+ Pistachio: "#9fc87e",
278
+ FloatyBubble: "#e7f2e4",
279
+ Ecological: "#657c6a",
280
+ CopperPatina: "#a2b9a7",
281
+ JadeSea: "#bee4d0",
282
+ HerbalVapours: "#dbffcb",
283
+ LimeItorLeaveIt: "#89ac46",
284
+ MermaidTears: "#c7db9c",
285
+ Wasabi: "#b8d576",
286
+ LightMermaidTears: "#ccdf92",
287
+ MagicalMalachite1: "#16c47f",
288
+ Grass: "#5cb338",
289
+ Wasabi1: "#a7d477",
290
+ MermaidTears1: "#e4f1ac",
291
+ TadornaTeal: "#7ed4ad",
292
+ FrozenForest: "#cce0ac",
293
+ Wintermint: "#96ceb4",
294
+ GrassIsGreener: "#399918",
295
+ SnowWhite: "#ecffe6",
296
+ Sapling: "#97be5a",
297
+ BavarianGreen: "#799351",
298
+ LastofLettuce: "#a1dd70",
299
+ PastelMint: "#c6ebc5",
300
+ Limestoned1: "#a1c398",
301
+ CampingGrounds: "#b0c5a4",
302
+ ToadKing: "#337357",
303
+ MysteryMint: "#cdfadb",
304
+ Celadon: "#b7e5b4",
305
+ LimeMist: "#dcffb7",
306
+ CloudedPine: "#5f8670",
307
+ VenomousSting: "#d0f288",
308
+ CyberYellow: "#ffd400",
309
+ Hollandaise: "#feec41",
310
+ GoldenGoose: "#ffd65a",
311
+ ChorusofFrogs: "#81912f",
312
+ Sandworm: "#ffe97d",
313
+ ButteredPopcorn: "#ffef9f",
314
+ PastelYellow: "#fefd99",
315
+ Sauerkraut: "#e8dbb3",
316
+ SparklingCider: "#fffdeb",
317
+ AngelsTrumpet: "#f8de22",
318
+ Minions: "#fae251",
319
+ ChouxlaCrme: "#f2d479",
320
+ FlickeringFirefly: "#f7f6e5",
321
+ Goldilocks: "#fff19b",
322
+ WitchHazel: "#fbef76",
323
+ IncaYellow: "#ffd41d",
324
+ GlowWorm: "#bbcb64",
325
+ PacMan: "#ffe52a",
326
+ Protoss: "#ddc57a",
327
+ ChickeryChick: "#feee91",
328
+ Eggnog: "#ffe797",
329
+ YellowChalk: "#f8fab4",
330
+ PearlWhite: "#f3f2ec",
331
+ ButteredUp: "#f6efd2",
332
+ VirginOliveOil: "#e2ddb4",
333
+ Zombie: "#dddeab",
334
+ PlasticCheese: "#ffcc00",
335
+ StarDust: "#fbf5de",
336
+ FizzyDizzy: "#fefbc7",
337
+ SptzleYellow: "#fff287",
338
+ LightGoldilocks: "#fcef91",
339
+ Giggle: "#eaebd0",
340
+ Corn: "#fcf259",
341
+ ExplodingStar: "#ffd63a",
342
+ MutedLime: "#d3ca79",
343
+ LightSptzleYellow: "#fff085",
344
+ GlamourWhite: "#fdfbee",
345
+ Mindaro: "#d3e671",
346
+ KingsField: "#f8ed8c",
347
+ SunKissedSands: "#fff0bd",
348
+ PaintersCanvas: "#f8f2de",
349
+ LemonTart: "#ffd95f",
350
+ GreedyGecko: "#a89c29",
351
+ PavedWithGold: "#e7d283",
352
+ KiwiKiss: "#edf4c2",
353
+ ThunderLightning: "#fef9e1",
354
+ SteamyDumpling: "#e8e7ab",
355
+ PineappleHigh: "#ece852",
356
+ LightWitchHazel: "#fff574",
357
+ BananaCream: "#fcf596",
358
+ AtomicOrange: "#f6850c",
359
+ NuclearMango: "#f69d39",
360
+ WaffleCone: "#e0c375",
361
+ SoftPillow: "#fff5e5",
362
+ AngryPasta: "#ffc94d",
363
+ DelightfulPastry: "#fae7cb",
364
+ MadforMango: "#f59e0b",
365
+ DragonBall: "#ff9d23",
366
+ DippedinCream: "#fffaf0",
367
+ SunsetGold: "#f8c463",
368
+ LightDelightfulPastry: "#ffedce",
369
+ BlushingCinnamon: "#ffc193",
370
+ SweetPotato: "#d97a2b",
371
+ Romesco: "#f77f00",
372
+ OrangeDelight: "#fcbf49",
373
+ Cameo: "#eed9b9",
374
+ PeachFury: "#f67d31",
375
+ Rajah: "#ffa95a",
376
+ GoldenGoose: "#ffd45a",
377
+ LightDippedinCream: "#fffbf1",
378
+ VanillaIce: "#fff2d0",
379
+ Corona: "#ffb33f",
380
+ Biscuit: "#ffedc7",
381
+ AtomicTangerine: "#ff9760",
382
+ VibrantGoldenGoose: "#ffd150",
383
+ Almond: "#eddcc6",
384
+ WhatsLeft: "#fff4ea",
385
+ VibrantPeachFury: "#f8843f",
386
+ SafetyOrange: "#ff6500",
387
+ GoldenChurro: "#f6ce71",
388
+ Buttery: "#fec288",
389
+ Acropolis: "#ffead3",
390
+ WhiteStrawberry: "#ffe2af",
391
+ DoubleDragon: "#ffa240",
392
+ Chickadee: "#face68",
393
+ Apricot: "#faac68",
394
+ JackO: "#f79a19",
395
+ SolarPower: "#f4b342",
396
+ ChessIvory: "#feeac9",
397
+ BananaMania: "#f9e7b2",
398
+ Arancio: "#ff6c0c",
399
+ BananaRepublic: "#ffe08f",
400
+ VibrantDoubleDragon: "#ffa239",
401
+ PandorasBox: "#ffdeb9",
402
+ VanillaCake: "#fff1cb",
403
+ Burrito: "#ecd5bc",
404
+ NicotineGold: "#e9b63b",
405
+ Polly: "#ffc69d",
406
+ Blossom: "#ffe6d4",
407
+ LongBeach: "#fef3e2",
408
+ VampireFangs: "#cb2957",
409
+ RedArremer: "#e05454",
410
+ CuteCrab: "#de3e3e",
411
+ HawaiianRaspberry: "#ff0052",
412
+ Carmine: "#d51c39",
413
+ FusionRed: "#ff6060",
414
+ SmashingPumpkins: "#ff5722",
415
+ Lollipop: "#d92243",
416
+ BrinkPink: "#fa6781",
417
+ Carrot: "#ff6b35",
418
+ RedArremer1: "#ea5252",
419
+ Desire: "#e03f4f",
420
+ Red: "#ff0000",
421
+ MattPink: "#ffb6c1",
422
+ WalkieChalkie: "#fff5f8",
423
+ WarmPink: "#ff537b",
424
+ KingCrimson: "#c44545",
425
+ LoveSpell: "#fcb7c7",
426
+ PeppermintSwirl: "#ca6180",
427
+ StrawberryField: "#ff8383",
428
+ Pelati: "#ff3737",
429
+ FrenchWine: "#ae2448",
430
+ Lionheart: "#ce2626",
431
+ PrometheusOrange: "#f45b26",
432
+ LoveSurge: "#d12052",
433
+ HorrorSnob: "#d75656",
434
+ RuralRed: "#bd114a",
435
+ TomatoBurst: "#db1a1a",
436
+ IvoryTower: "#fff6f6",
437
+ BloodySalmon: "#c44a3a",
438
+ RedHotChiliPepper: "#d62828",
439
+ VampireHunter: "#5e0006",
440
+ CacodemonRed: "#9b0f06",
441
+ LavaSmoothie: "#d53e0f",
442
+ CuteCrab1: "#da4848",
443
+ Framboise: "#de1a58",
444
+ Grapefruit: "#ff5a5a",
445
+ TigerofMysore: "#ff8b5a",
446
+ HappyHearts: "#d96868",
447
+ Snow: "#fbf6f6",
448
+ YoungSalmon: "#ffb2b2",
449
+ Redstone: "#e36a6a",
450
+ ThreateningRed: "#c00707",
451
+ InfernoOrange: "#ff4400",
452
+ RedArremer2: "#eb4c4c",
453
+ GeorgiaPeach: "#ff7070",
454
+ ApricotHaze: "#ffa6a6",
455
+ SunKissedCoral: "#f26076",
456
+ KingCrimson1: "#bf4646",
457
+ Furnace: "#da3d20",
458
+ EspressoShot: "#1f150c",
459
+ DarkCocoa: "#2c1e0f",
460
+ DarkSienna: "#3e2413",
461
+ CoffeeBean: "#412d15",
462
+ DarkWalnut: "#4a3520",
463
+ DarkTruffle: "#3b2b1a",
464
+ BlackCoffee: "#2b1f14",
465
+ DarkAmber: "#5c3a1e",
466
+ Mercury: "#ebebeb",
467
+ };
468
+
469
+ // ── Organized by color family ─────────────────────────
470
+ export const Colors = {
471
+ // Red
472
+ Red: "#cb2957",
473
+ RedShades: {
474
+ VampireFangs: "#cb2957",
475
+ RedArremer: "#e05454",
476
+ CuteCrab: "#de3e3e",
477
+ Carmine: "#d51c39",
478
+ FusionRed: "#ff6060",
479
+ SmashingPumpkins: "#ff5722",
480
+ Lollipop: "#d92243",
481
+ Carrot: "#ff6b35",
482
+ RedArremer1: "#ea5252",
483
+ Desire: "#e03f4f",
484
+ Red: "#ff0000",
485
+ KingCrimson: "#c44545",
486
+ StrawberryField: "#ff8383",
487
+ Pelati: "#ff3737",
488
+ FrenchWine: "#ae2448",
489
+ Lionheart: "#ce2626",
490
+ HorrorSnob: "#d75656",
491
+ RuralRed: "#bd114a",
492
+ TomatoBurst: "#db1a1a",
493
+ BloodySalmon: "#c44a3a",
494
+ RedHotChiliPepper: "#d62828",
495
+ VampireHunter: "#5e0006",
496
+ CacodemonRed: "#9b0f06",
497
+ LavaSmoothie: "#d53e0f",
498
+ CuteCrab1: "#da4848",
499
+ Grapefruit: "#ff5a5a",
500
+ HappyHearts: "#d96868",
501
+ YoungSalmon: "#ffb2b2",
502
+ Redstone: "#e36a6a",
503
+ ThreateningRed: "#c00707",
504
+ RedArremer2: "#eb4c4c",
505
+ GeorgiaPeach: "#ff7070",
506
+ ApricotHaze: "#ffa6a6",
507
+ KingCrimson1: "#bf4646",
508
+ Furnace: "#da3d20",
509
+ },
510
+ // Orange
511
+ Orange: "#f6850c",
512
+ OrangeShades: {
513
+ AtomicOrange: "#f6850c",
514
+ NuclearMango: "#f69d39",
515
+ WaffleCone: "#e0c375",
516
+ SoftPillow: "#fff5e5",
517
+ AngryPasta: "#ffc94d",
518
+ DelightfulPastry: "#fae7cb",
519
+ MadforMango: "#f59e0b",
520
+ DragonBall: "#ff9d23",
521
+ DippedinCream: "#fffaf0",
522
+ SunsetGold: "#f8c463",
523
+ LightDelightfulPastry: "#ffedce",
524
+ BlushingCinnamon: "#ffc193",
525
+ SweetPotato: "#d97a2b",
526
+ Romesco: "#f77f00",
527
+ OrangeDelight: "#fcbf49",
528
+ Cameo: "#eed9b9",
529
+ PeachFury: "#f67d31",
530
+ Rajah: "#ffa95a",
531
+ GoldenGoose: "#ffd45a",
532
+ LightDippedinCream: "#fffbf1",
533
+ VanillaIce: "#fff2d0",
534
+ Corona: "#ffb33f",
535
+ Biscuit: "#ffedc7",
536
+ AtomicTangerine: "#ff9760",
537
+ VibrantGoldenGoose: "#ffd150",
538
+ Almond: "#eddcc6",
539
+ WhatsLeft: "#fff4ea",
540
+ VibrantPeachFury: "#f8843f",
541
+ SafetyOrange: "#ff6500",
542
+ GoldenChurro: "#f6ce71",
543
+ Buttery: "#fec288",
544
+ Acropolis: "#ffead3",
545
+ WhiteStrawberry: "#ffe2af",
546
+ DoubleDragon: "#ffa240",
547
+ Chickadee: "#face68",
548
+ Apricot: "#faac68",
549
+ JackO: "#f79a19",
550
+ SolarPower: "#f4b342",
551
+ ChessIvory: "#feeac9",
552
+ Arancio: "#ff6c0c",
553
+ BananaRepublic: "#ffe08f",
554
+ VibrantDoubleDragon: "#ffa239",
555
+ PandorasBox: "#ffdeb9",
556
+ VanillaCake: "#fff1cb",
557
+ Burrito: "#ecd5bc",
558
+ NicotineGold: "#e9b63b",
559
+ Polly: "#ffc69d",
560
+ Blossom: "#ffe6d4",
561
+ LongBeach: "#fef3e2",
562
+ PrometheusOrange: "#f45b26",
563
+ InfernoOrange: "#ff4400",
564
+ TigerofMysore: "#ff8b5a",
565
+ },
566
+ // Yellow
567
+ Yellow: "#ffd400",
568
+ YellowShades: {
569
+ CyberYellow: "#ffd400",
570
+ Hollandaise: "#feec41",
571
+ GoldenGoose: "#ffd65a",
572
+ BananaMania: "#f9e7b2",
573
+ Sandworm: "#ffe97d",
574
+ ButteredPopcorn: "#ffef9f",
575
+ PastelYellow: "#fefd99",
576
+ Sauerkraut: "#e8dbb3",
577
+ SparklingCider: "#fffdeb",
578
+ AngelsTrumpet: "#f8de22",
579
+ Minions: "#fae251",
580
+ ChouxlaCrme: "#f2d479",
581
+ FlickeringFirefly: "#f7f6e5",
582
+ Goldilocks: "#fff19b",
583
+ WitchHazel: "#fbef76",
584
+ IncaYellow: "#ffd41d",
585
+ GlowWorm: "#bbcb64",
586
+ PacMan: "#ffe52a",
587
+ Protoss: "#ddc57a",
588
+ ChickeryChick: "#feee91",
589
+ Eggnog: "#ffe797",
590
+ YellowChalk: "#f8fab4",
591
+ PearlWhite: "#f3f2ec",
592
+ ButteredUp: "#f6efd2",
593
+ VirginOliveOil: "#e2ddb4",
594
+ Zombie: "#dddeab",
595
+ PlasticCheese: "#ffcc00",
596
+ StarDust: "#fbf5de",
597
+ FizzyDizzy: "#fefbc7",
598
+ SptzleYellow: "#fff287",
599
+ LightGoldilocks: "#fcef91",
600
+ Giggle: "#eaebd0",
601
+ Corn: "#fcf259",
602
+ ExplodingStar: "#ffd63a",
603
+ MutedLime: "#d3ca79",
604
+ LightSptzleYellow: "#fff085",
605
+ GlamourWhite: "#fdfbee",
606
+ KingsField: "#f8ed8c",
607
+ SunKissedSands: "#fff0bd",
608
+ PaintersCanvas: "#f8f2de",
609
+ LemonTart: "#ffd95f",
610
+ GreedyGecko: "#a89c29",
611
+ PavedWithGold: "#e7d283",
612
+ KiwiKiss: "#edf4c2",
613
+ ThunderLightning: "#fef9e1",
614
+ SteamyDumpling: "#e8e7ab",
615
+ PineappleHigh: "#ece852",
616
+ LightWitchHazel: "#fff574",
617
+ BananaCream: "#fcf596",
618
+ },
619
+ // Green
620
+ Green: "#d6fb61",
621
+ GreenShades: {
622
+ UltraMoss: "#d6fb61",
623
+ MagicalMalachite: "#00c68d",
624
+ Electra: "#59b292",
625
+ LusciousLemongrass: "#5b7e3c",
626
+ ChorusofFrogs: "#81912f",
627
+ Mindaro: "#d3e671",
628
+ Botanist: "#a2cb8b",
629
+ KiwiKiss: "#e8f5bd",
630
+ MellowMint: "#d5e7b5",
631
+ LostGolfer: "#6faf4f",
632
+ BeyondthePines: "#6a7e3f",
633
+ ZenGardenOlive: "#4c5c2d",
634
+ Elf: "#458b73",
635
+ LightKiwiKiss: "#f0ffc3",
636
+ PastelPea: "#c1e59f",
637
+ Gossip: "#a3d78a",
638
+ Rosemarried: "#84994f",
639
+ DollarBill: "#8abb6c",
640
+ FairyTaleGreen: "#78c841",
641
+ LushGreen: "#b4e50d",
642
+ Limestoned: "#9bc09c",
643
+ Pistachio: "#9fc87e",
644
+ FloatyBubble: "#e7f2e4",
645
+ Ecological: "#657c6a",
646
+ CopperPatina: "#a2b9a7",
647
+ JadeSea: "#bee4d0",
648
+ HerbalVapours: "#dbffcb",
649
+ LimeItorLeaveIt: "#89ac46",
650
+ MermaidTears: "#c7db9c",
651
+ Wasabi: "#b8d576",
652
+ LightMermaidTears: "#ccdf92",
653
+ MagicalMalachite1: "#16c47f",
654
+ Grass: "#5cb338",
655
+ Wasabi1: "#a7d477",
656
+ MermaidTears1: "#e4f1ac",
657
+ TadornaTeal: "#7ed4ad",
658
+ FrozenForest: "#cce0ac",
659
+ Wintermint: "#96ceb4",
660
+ GrassIsGreener: "#399918",
661
+ SnowWhite: "#ecffe6",
662
+ Sapling: "#97be5a",
663
+ BavarianGreen: "#799351",
664
+ LastofLettuce: "#a1dd70",
665
+ PastelMint: "#c6ebc5",
666
+ Limestoned1: "#a1c398",
667
+ CampingGrounds: "#b0c5a4",
668
+ ToadKing: "#337357",
669
+ MysteryMint: "#cdfadb",
670
+ Celadon: "#b7e5b4",
671
+ LimeMist: "#dcffb7",
672
+ CloudedPine: "#5f8670",
673
+ VenomousSting: "#d0f288",
674
+ },
675
+ // Teal
676
+ Teal: "#39b1d1",
677
+ TealShades: {
678
+ Aquarius: "#39b1d1",
679
+ Summit: "#76abae",
680
+ EmperorJade: "#0a7c6e",
681
+ FreeSpirit: "#dff1f1",
682
+ SubtleBreeze: "#bbd5da",
683
+ Crystal: "#9ed3dc",
684
+ SereniTeal: "#72baa9",
685
+ GummyDolphins: "#03aed2",
686
+ Riverbed: "#8cc7c4",
687
+ OceansEmbrace: "#2c687b",
688
+ Summerof82: "#76d2db",
689
+ StormyWaters: "#7eacb5",
690
+ HeyBlue: "#00f7ff",
691
+ Frostbite: "#b0fffa",
692
+ RainyMood: "#3f9aae",
693
+ Cyantific: "#79c9c5",
694
+ WinterWizard: "#8ce4ff",
695
+ Java: "#3b9797",
696
+ MunsellBlue: "#1e93ab",
697
+ BeauVert: "#075b5e",
698
+ Java1: "#309898",
699
+ JazzyJade: "#6de1d2",
700
+ Thalassa: "#57b4ba",
701
+ CapeVerde: "#015551",
702
+ Whirlpool: "#a1d6cb",
703
+ LightBlue: "#a2d2df",
704
+ RoyalNeptune: "#173b45",
705
+ GreenDynasty: "#219c90",
706
+ Windy: "#bed1cf",
707
+ Cabbage: "#7ed7c1",
708
+ Waikiki: "#468b97",
709
+ Billiard: "#22a699",
710
+ GentleCold: "#c1ebe9",
711
+ Summit1: "#87b6bc",
712
+ EnchantingIvy: "#2f5755",
713
+ MartianCerulean: "#5a9690",
714
+ Waikiki1: "#468a9a",
715
+ PineScentedLagoon: "#186f65",
716
+ ColdWhite: "#ecf8f9",
717
+ MediterraneanSea: "#068da9",
718
+ HarbourMist: "#8bacaa",
719
+ AtlasCedar: "#609ea2",
720
+ FishBoy: "#30e3df",
721
+ Shore: "#84d2c5",
722
+ LightWhirlpool: "#a7d2cb",
723
+ JewelWeed: "#3fa796",
724
+ JazzyJade1: "#37e2d5",
725
+ TealWithIt: "#006e7f",
726
+ DarkCapeVerde: "#105652",
727
+ IceDagger: "#d1e8e4",
728
+ },
729
+ // Blue
730
+ Blue: "#443199",
731
+ BlueShades: {
732
+ GalacticPurple: "#443199",
733
+ FrostedBlueberries: "#0055da",
734
+ DoNotDisturb: "#303841",
735
+ WanderingRiver: "#7daacb",
736
+ SeaofStars: "#003049",
737
+ Cobalt: "#1a05a2",
738
+ DancingSea: "#134e8e",
739
+ GalaxyExpress: "#3d45aa",
740
+ BabyBlue: "#9ccfff",
741
+ CandyGrapeFizz: "#685aff",
742
+ TrappedDarkness: "#111f35",
743
+ MidnightinTokyo: "#000080",
744
+ LakeLucerne: "#5a9cb5",
745
+ GalacticFederation: "#360185",
746
+ Oblivion: "#050e3c",
747
+ Subnautical: "#002455",
748
+ MilkyWaves: "#67b2d8",
749
+ DeepBlue: "#060771",
750
+ OhBoy: "#c2e2fa",
751
+ VioletVelvet: "#b7a3e3",
752
+ InlandWaters: "#758a93",
753
+ DarkEclipse: "#132440",
754
+ MermaidBlues: "#16476a",
755
+ PacificDepths: "#134686",
756
+ DyingStormBlue: "#0d1164",
757
+ BlueMana: "#77bef0",
758
+ Campanula: "#3d74b6",
759
+ Cousteau: "#5eabd6",
760
+ Denim: "#093fb4",
761
+ CloudyValley: "#b2c6d5",
762
+ MidnightOcean: "#102e50",
763
+ SquidsInk: "#09122c",
764
+ ImperialLilac: "#a19ad3",
765
+ FoundationWhite: "#ebeaff",
766
+ Perrywinkle: "#9694ff",
767
+ C64Blue: "#3d3bf3",
768
+ OutoftheBlue: "#0d92f4",
769
+ NevermindNirvana: "#77cdff",
770
+ Droplet: "#b7e0ff",
771
+ MidnightInterlude: "#384b70",
772
+ NightOwl: "#507687",
773
+ TheVastofNight: "#180161",
774
+ Wizard: "#536493",
775
+ FlybyNight: "#0c1844",
776
+ BlackSeaNight: "#00215e",
777
+ Assassin: "#2c4e80",
778
+ EnchantedWell: "#4793af",
779
+ SnowySummit: "#c0d6e8",
780
+ LightOhBoy: "#c4e4ff",
781
+ DarkSubnautical: "#00224d",
782
+ },
783
+ // Purple
784
+ Purple: "#792ca2",
785
+ PurpleShades: {
786
+ PurplePristine: "#792ca2",
787
+ RomanicScene: "#36064d",
788
+ RoyalPurpleness: "#8f0177",
789
+ WildViolet: "#62109f",
790
+ CosmicExplorer: "#640d5f",
791
+ Murasaki: "#511d43",
792
+ DarkMurasaki: "#522546",
793
+ PartialPink: "#ffedfa",
794
+ SugarChic: "#fcc6ff",
795
+ HollowKnight: "#2a004e",
796
+ VelvetVortex: "#500073",
797
+ PoisoningPurple: "#7c00fe",
798
+ PurpleVelour: "#522258",
799
+ Occult: "#4f1787",
800
+ SomewhereinaFairytale: "#d895da",
801
+ WineTour: "#673f69",
802
+ DarkVelvetVortex: "#5e1675",
803
+ FuchsiaNebula: "#711db0",
804
+ VibrantVelvet: "#c21292",
805
+ DarkPromQueen: "#22092c",
806
+ DarkWildViolet: "#610c9f",
807
+ WarmPurple: "#940b92",
808
+ HauntedPurple: "#9f0d7f",
809
+ HauntedPurple1: "#982176",
810
+ PrettyinPrune: "#612d53",
811
+ ShadowPurple: "#533b4d",
812
+ FrailFuchsia: "#dc8be0",
813
+ SugarHigh: "#f4cce9",
814
+ PlungedIntoDarkness: "#441752",
815
+ SanctumofShadows: "#432e54",
816
+ NightlyVoyager: "#3b1c32",
817
+ DarkPrettyinPrune: "#6a1e55",
818
+ Murasaki1: "#49243e",
819
+ MagiciansCloak: "#704264",
820
+ CoalMine: "#240a34",
821
+ Clairvoyant: "#3c0753",
822
+ Velvet: "#720455",
823
+ _8BitEggplant: "#910a67",
824
+ DarkPlungedIntoDarkness: "#451952",
825
+ DarkVelvet: "#79155b",
826
+ Plum: "#643a6b",
827
+ MinuteMauve: "#f3e8ff",
828
+ GalacticGrapevine: "#66347f",
829
+ GrapeRiot: "#9e4784",
830
+ Haiti: "#332c39",
831
+ DarkSanctuary: "#400e32",
832
+ BaneofRoyalty: "#7b2869",
833
+ MidnightAubergine: "#863a6f",
834
+ BermudaOnion: "#975c8d",
835
+ },
836
+ // Pink
837
+ Pink: "#c13383",
838
+ PinkShades: {
839
+ VeryBerry: "#c13383",
840
+ Bordeaux: "#760031",
841
+ SelfLove: "#d6336c",
842
+ DarkDarkSanctuary: "#4c0033",
843
+ DivaPink: "#ff4081",
844
+ ExtraFuchsia: "#e13f7c",
845
+ HerFierceness: "#6e1a37",
846
+ WineGrape: "#8a244b",
847
+ FancyFuchsia: "#ff0087",
848
+ Pinky: "#ff7db0",
849
+ DarkHerFierceness: "#76153c",
850
+ RuralRed: "#bf124d",
851
+ PinkHorror: "#932f67",
852
+ PrettyinPrune: "#732255",
853
+ WhatWeDointheShadows: "#4a102a",
854
+ RaspberryRomantic: "#88304e",
855
+ PlumPerfect: "#ac1754",
856
+ MysticMagenta: "#e53888",
857
+ PrismPink: "#f7a8c4",
858
+ DebianRed: "#d70654",
859
+ VelvetMagic: "#c30e59",
860
+ Merlot: "#740938",
861
+ FugitiveFlamingo: "#ee66a6",
862
+ PinkHorror1: "#8c3061",
863
+ Amor: "#eb3678",
864
+ Botticelli: "#b60071",
865
+ NeonRose: "#ff0080",
866
+ LovePotion: "#d20062",
867
+ SugarRush: "#d6589f",
868
+ Kisses: "#ff5bae",
869
+ SoulAnchor: "#5d0e41",
870
+ Flirt: "#7e2553",
871
+ DarkSoulAnchor: "#5f0f40",
872
+ BenevolentPink: "#da0c81",
873
+ Pansy: "#e95793",
874
+ VibrantPansy: "#ff4b91",
875
+ InescapableLover: "#900c3f",
876
+ FattyFuchsia: "#ea1179",
877
+ PearlyPink: "#f79bd3",
878
+ FuriousFuchsia: "#f11a7b",
879
+ DarkWhatWeDointheShadows: "#3e001f",
880
+ FuchsiaFever: "#ff52a2",
881
+ DarkInescapableLover: "#810b38",
882
+ VelvetWine: "#934761",
883
+ Liaison: "#853953",
884
+ MorbidPrincess: "#9e1c60",
885
+ BeetRed: "#811844",
886
+ SoulAnchor1: "#561530",
887
+ SecretAffair: "#c71e64",
888
+ RazzleDazzle: "#ba487f",
889
+ VibrantFugitiveFlamingo: "#f564a9",
890
+ BrinkPink: "#fa6781",
891
+ HawaiianRaspberry: "#ff0052",
892
+ MattPink: "#ffb6c1",
893
+ WarmPink: "#ff537b",
894
+ LoveSpell: "#fcb7c7",
895
+ PeppermintSwirl: "#ca6180",
896
+ LoveSurge: "#d12052",
897
+ Framboise: "#de1a58",
898
+ SunKissedCoral: "#f26076",
899
+ },
900
+ // Brown
901
+ Brown: "#c66e52",
902
+ BrownShades: {
903
+ Spiced: "#c66e52",
904
+ Handmade: "#7d7463",
905
+ CafauLait: "#af8260",
906
+ HotChilli: "#b2533e",
907
+ EspressoMacchiato: "#4a403a",
908
+ ChilliConCarne: "#995f2f",
909
+ Pecan: "#a47251",
910
+ EnglishWalnut: "#3e2c23",
911
+ ChocolateBells: "#7b542f",
912
+ TooHottoHandle: "#bb6653",
913
+ DarkRum: "#4b352a",
914
+ Mars: "#a76545",
915
+ GrandCanyon: "#a55b4b",
916
+ DarkDarkRum: "#443627",
917
+ Eagle: "#a66e38",
918
+ EspressoShot: "#1f150c",
919
+ DarkCocoa: "#2c1e0f",
920
+ DarkSienna: "#3e2413",
921
+ CoffeeBean: "#412d15",
922
+ DarkWalnut: "#4a3520",
923
+ DarkTruffle: "#3b2b1a",
924
+ BlackCoffee: "#2b1f14",
925
+ DarkAmber: "#5c3a1e",
926
+ },
927
+ // Grey
928
+ Grey: "#dddddd",
929
+ GreyShades: {
930
+ Steam: "#dddddd",
931
+ LightSteam: "#dcdcdc",
932
+ WhereThereIsSmoke: "#c9cdcf",
933
+ TheEnd: "#2c2c2c",
934
+ DarkCharcoal: "#343131",
935
+ MattBlack: "#151515",
936
+ PianoBlack: "#1a1a1d",
937
+ Diesel: "#322c2b",
938
+ DarkMoon: "#191919",
939
+ GreySheep: "#b0a4a4",
940
+ Nero: "#262626",
941
+ Metal: "#bfc6c4",
942
+ Lead: "#222222",
943
+ DarkTheEnd: "#2b2a2a",
944
+ Placebo: "#e6e6e6",
945
+ Pinball: "#d1d3d4",
946
+ Plaster: "#e9e9e9",
947
+ GlidingFeather: "#d7d7d7",
948
+ DarkLead: "#212121",
949
+ Mercury: "#ebebeb",
950
+ },
951
+ // Black
952
+ Black: "#000000",
953
+ BlackShades: {
954
+ Black: "#000000",
955
+ BlackSheep: "#0f0e0e",
956
+ BlackWash: "#0c0c0c",
957
+ BlackMetal: "#040303",
958
+ MidnightOil: "#090910",
959
+ BlackSabbath: "#26001b",
960
+ DarkBlackSheep: "#131010",
961
+ },
962
+ // White
963
+ White: "#eeeeee",
964
+ WhiteShades: {
965
+ SuperSilver: "#eeeeee",
966
+ WhiteSmoke: "#f5f5f5",
967
+ DrWhite: "#fafafa",
968
+ LightSuperSilver: "#eeeded",
969
+ Lighthouse: "#f3f4f4",
970
+ LightWhiteSmoke: "#f2f2f2",
971
+ WhiteSmoke1: "#f3f3f3",
972
+ WhiteGlove: "#f0eeed",
973
+ SuperSilver1: "#efefef",
974
+ Beluga: "#eaefef",
975
+ AngelicWings: "#f5f2f2",
976
+ MagicalMoonlight: "#efeeea",
977
+ WalkieChalkie: "#fff5f8",
978
+ IvoryTower: "#fff6f6",
979
+ Snow: "#fbf6f6",
980
+ },
981
+ };
package/input/Input.js CHANGED
@@ -2,7 +2,7 @@ const _pressed = {};
2
2
  const _justPressed = {};
3
3
  const _justReleased = {};
4
4
 
5
- const KEY_MAP = {
5
+ const DEFAULT_KEY_MAP = Object.freeze({
6
6
  ArrowUp: "UP",
7
7
  ArrowDown: "DOWN",
8
8
  ArrowLeft: "LEFT",
@@ -18,7 +18,9 @@ const KEY_MAP = {
18
18
  " ": "SPACE",
19
19
  Escape: "ESCAPE",
20
20
  Enter: "ENTER",
21
- };
21
+ });
22
+
23
+ let _keyMap = { ...DEFAULT_KEY_MAP };
22
24
 
23
25
  let _swipeListeners = [];
24
26
  let _tapListeners = [];
@@ -30,21 +32,30 @@ const MIN_SWIPE = 30;
30
32
  const TAP_TIMEOUT = 300;
31
33
 
32
34
  function handleKeyDown(e) {
33
- const mapped = KEY_MAP[e.key];
34
- if (mapped) {
35
- if (!_pressed[mapped]) _justPressed[mapped] = true;
36
- _pressed[mapped] = true;
37
- if (["UP", "DOWN", "LEFT", "RIGHT", "SPACE"].includes(mapped)) {
38
- e.preventDefault();
39
- }
35
+ const raw = e.key;
36
+ if (!_pressed[raw]) _justPressed[raw] = true;
37
+ _pressed[raw] = true;
38
+
39
+ const alias = _keyMap[raw];
40
+ if (alias) {
41
+ if (!_pressed[alias]) _justPressed[alias] = true;
42
+ _pressed[alias] = true;
43
+ }
44
+
45
+ if (raw.startsWith("Arrow") || raw === " ") {
46
+ e.preventDefault();
40
47
  }
41
48
  }
42
49
 
43
50
  function handleKeyUp(e) {
44
- const mapped = KEY_MAP[e.key];
45
- if (mapped) {
46
- if (_pressed[mapped]) _justReleased[mapped] = true;
47
- _pressed[mapped] = false;
51
+ const raw = e.key;
52
+ if (_pressed[raw]) _justReleased[raw] = true;
53
+ _pressed[raw] = false;
54
+
55
+ const alias = _keyMap[raw];
56
+ if (alias) {
57
+ if (_pressed[alias]) _justReleased[alias] = true;
58
+ _pressed[alias] = false;
48
59
  }
49
60
  }
50
61
 
@@ -127,6 +138,26 @@ export const Input = {
127
138
  for (const key in _justPressed) delete _justPressed[key];
128
139
  },
129
140
 
141
+ mapKey(rawKey, alias) {
142
+ _keyMap[rawKey] = alias;
143
+ },
144
+
145
+ unmapKey(rawKey) {
146
+ delete _keyMap[rawKey];
147
+ },
148
+
149
+ setKeyMap(map) {
150
+ _keyMap = { ...map };
151
+ },
152
+
153
+ resetKeyMap() {
154
+ _keyMap = { ...DEFAULT_KEY_MAP };
155
+ },
156
+
157
+ getKeyMap() {
158
+ return { ..._keyMap };
159
+ },
160
+
130
161
  isDown(key) {
131
162
  return !!_pressed[key];
132
163
  },
package/jygame.js CHANGED
@@ -12,3 +12,4 @@ export { ImageLoader } from "./assets/ImageLoader.js";
12
12
  export { FontLoader } from "./assets/FontLoader.js";
13
13
  export { Scene } from "./core/Scene.js";
14
14
  export { Game } from "./core/Game.js";
15
+ export { Color, Colors } from "./color/Colors.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jygame",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A lightweight 2D game framework for the browser",
5
5
  "type": "module",
6
6
  "main": "./jygame.js",
@@ -15,6 +15,7 @@
15
15
  "state/",
16
16
  "storage/",
17
17
  "collision/",
18
+ "color/",
18
19
  "display/",
19
20
  "input/",
20
21
  "assets/",