jaml-ui 0.32.1 → 1.0.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.
Files changed (37) hide show
  1. package/dist/assets/searchPoolWorker-DWobBIhl.js +40 -0
  2. package/dist/assets/searchPoolWorker-DWobBIhl.js.map +1 -0
  3. package/dist/chunks/motelyItemFormats-CNrFzcCI.js +1836 -0
  4. package/dist/chunks/motelyItemFormats-CNrFzcCI.js.map +1 -0
  5. package/dist/chunks/{searchPoolWorker-Dqhc9lfv.js → searchPoolWorker-tBaSbLZu.js} +2 -2
  6. package/dist/chunks/searchPoolWorker-tBaSbLZu.js.map +1 -0
  7. package/dist/chunks/{ui-UqEG1EZ9.js → ui-Dn8IIoV3.js} +809 -967
  8. package/dist/chunks/ui-Dn8IIoV3.js.map +1 -0
  9. package/dist/components/JamlAestheticSelector.d.ts +1 -1
  10. package/dist/components/SeedFinderApp.d.ts +7 -0
  11. package/dist/components/jamlMap/JokerPicker.d.ts +1 -1
  12. package/dist/components/jamlMap/MysterySlot.d.ts +1 -1
  13. package/dist/decode/motelyItemDecoder.d.ts +6 -0
  14. package/dist/hooks/searchPoolWorker.d.ts +1 -0
  15. package/dist/hooks/useAnalyzer.d.ts +2 -2
  16. package/dist/hooks/useSearch.d.ts +3 -3
  17. package/dist/hooks/useSearchPool.d.ts +2 -1
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.js +3677 -3366
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/hooks/useSeedAnalyzer.d.ts +1 -1
  22. package/dist/lib/types.d.ts +1 -1
  23. package/dist/motely.js +152 -1960
  24. package/dist/motely.js.map +1 -1
  25. package/dist/r3f.js +15 -15
  26. package/dist/ui/jimbo.css +1 -1
  27. package/dist/ui/panel.d.ts +14 -1
  28. package/dist/ui.d.ts +0 -1
  29. package/dist/ui.js +2 -2
  30. package/package.json +4 -4
  31. package/dist/assets/searchPoolWorker-6mF4VfgO.js +0 -40
  32. package/dist/assets/searchPoolWorker-6mF4VfgO.js.map +0 -1
  33. package/dist/chunks/runtime-Bklr4A-D.js +0 -10
  34. package/dist/chunks/runtime-Bklr4A-D.js.map +0 -1
  35. package/dist/chunks/searchPoolWorker-Dqhc9lfv.js.map +0 -1
  36. package/dist/chunks/ui-UqEG1EZ9.js.map +0 -1
  37. package/dist/ui/JimboButton.d.ts +0 -62
@@ -1 +1 @@
1
- {"version":3,"file":"motely.js","names":[],"sources":["../src/decode/motelyItemFormats.ts","../src/decode/motelyItemDecoder.ts","../src/decode/motelySprite.ts","../src/motelyDisplay.ts","../src/hooks/useJamlLibrary.ts"],"sourcesContent":["export const MOTELY_ITEM_FORMATS_BY_VALUE = Object.freeze({\n 4096: Object.freeze({ value: 4096, enumName: \"TwoOfClubs\", displayName: \"2 of Clubs\", category: \"Standardcard\" }),\n 4097: Object.freeze({ value: 4097, enumName: \"ThreeOfClubs\", displayName: \"3 of Clubs\", category: \"Standardcard\" }),\n 4098: Object.freeze({ value: 4098, enumName: \"FourOfClubs\", displayName: \"4 of Clubs\", category: \"Standardcard\" }),\n 4099: Object.freeze({ value: 4099, enumName: \"FiveOfClubs\", displayName: \"5 of Clubs\", category: \"Standardcard\" }),\n 4100: Object.freeze({ value: 4100, enumName: \"SixOfClubs\", displayName: \"6 of Clubs\", category: \"Standardcard\" }),\n 4101: Object.freeze({ value: 4101, enumName: \"SevenOfClubs\", displayName: \"7 of Clubs\", category: \"Standardcard\" }),\n 4102: Object.freeze({ value: 4102, enumName: \"EightOfClubs\", displayName: \"8 of Clubs\", category: \"Standardcard\" }),\n 4103: Object.freeze({ value: 4103, enumName: \"NineOfClubs\", displayName: \"9 of Clubs\", category: \"Standardcard\" }),\n 4104: Object.freeze({ value: 4104, enumName: \"TenOfClubs\", displayName: \"10 of Clubs\", category: \"Standardcard\" }),\n 4105: Object.freeze({ value: 4105, enumName: \"JackOfClubs\", displayName: \"Jack of Clubs\", category: \"Standardcard\" }),\n 4106: Object.freeze({ value: 4106, enumName: \"QueenOfClubs\", displayName: \"Queen of Clubs\", category: \"Standardcard\" }),\n 4107: Object.freeze({ value: 4107, enumName: \"KingOfClubs\", displayName: \"King of Clubs\", category: \"Standardcard\" }),\n 4108: Object.freeze({ value: 4108, enumName: \"AceOfClubs\", displayName: \"Ace of Clubs\", category: \"Standardcard\" }),\n 4112: Object.freeze({ value: 4112, enumName: \"TwoOfDiamonds\", displayName: \"2 of Diamonds\", category: \"Standardcard\" }),\n 4113: Object.freeze({ value: 4113, enumName: \"ThreeOfDiamonds\", displayName: \"3 of Diamonds\", category: \"Standardcard\" }),\n 4114: Object.freeze({ value: 4114, enumName: \"FourOfDiamonds\", displayName: \"4 of Diamonds\", category: \"Standardcard\" }),\n 4115: Object.freeze({ value: 4115, enumName: \"FiveOfDiamonds\", displayName: \"5 of Diamonds\", category: \"Standardcard\" }),\n 4116: Object.freeze({ value: 4116, enumName: \"SixOfDiamonds\", displayName: \"6 of Diamonds\", category: \"Standardcard\" }),\n 4117: Object.freeze({ value: 4117, enumName: \"SevenOfDiamonds\", displayName: \"7 of Diamonds\", category: \"Standardcard\" }),\n 4118: Object.freeze({ value: 4118, enumName: \"EightOfDiamonds\", displayName: \"8 of Diamonds\", category: \"Standardcard\" }),\n 4119: Object.freeze({ value: 4119, enumName: \"NineOfDiamonds\", displayName: \"9 of Diamonds\", category: \"Standardcard\" }),\n 4120: Object.freeze({ value: 4120, enumName: \"TenOfDiamonds\", displayName: \"10 of Diamonds\", category: \"Standardcard\" }),\n 4121: Object.freeze({ value: 4121, enumName: \"JackOfDiamonds\", displayName: \"Jack of Diamonds\", category: \"Standardcard\" }),\n 4122: Object.freeze({ value: 4122, enumName: \"QueenOfDiamonds\", displayName: \"Queen of Diamonds\", category: \"Standardcard\" }),\n 4123: Object.freeze({ value: 4123, enumName: \"KingOfDiamonds\", displayName: \"King of Diamonds\", category: \"Standardcard\" }),\n 4124: Object.freeze({ value: 4124, enumName: \"AceOfDiamonds\", displayName: \"Ace of Diamonds\", category: \"Standardcard\" }),\n 4128: Object.freeze({ value: 4128, enumName: \"TwoOfHearts\", displayName: \"2 of Hearts\", category: \"Standardcard\" }),\n 4129: Object.freeze({ value: 4129, enumName: \"ThreeOfHearts\", displayName: \"3 of Hearts\", category: \"Standardcard\" }),\n 4130: Object.freeze({ value: 4130, enumName: \"FourOfHearts\", displayName: \"4 of Hearts\", category: \"Standardcard\" }),\n 4131: Object.freeze({ value: 4131, enumName: \"FiveOfHearts\", displayName: \"5 of Hearts\", category: \"Standardcard\" }),\n 4132: Object.freeze({ value: 4132, enumName: \"SixOfHearts\", displayName: \"6 of Hearts\", category: \"Standardcard\" }),\n 4133: Object.freeze({ value: 4133, enumName: \"SevenOfHearts\", displayName: \"7 of Hearts\", category: \"Standardcard\" }),\n 4134: Object.freeze({ value: 4134, enumName: \"EightOfHearts\", displayName: \"8 of Hearts\", category: \"Standardcard\" }),\n 4135: Object.freeze({ value: 4135, enumName: \"NineOfHearts\", displayName: \"9 of Hearts\", category: \"Standardcard\" }),\n 4136: Object.freeze({ value: 4136, enumName: \"TenOfHearts\", displayName: \"10 of Hearts\", category: \"Standardcard\" }),\n 4137: Object.freeze({ value: 4137, enumName: \"JackOfHearts\", displayName: \"Jack of Hearts\", category: \"Standardcard\" }),\n 4138: Object.freeze({ value: 4138, enumName: \"QueenOfHearts\", displayName: \"Queen of Hearts\", category: \"Standardcard\" }),\n 4139: Object.freeze({ value: 4139, enumName: \"KingOfHearts\", displayName: \"King of Hearts\", category: \"Standardcard\" }),\n 4140: Object.freeze({ value: 4140, enumName: \"AceOfHearts\", displayName: \"Ace of Hearts\", category: \"Standardcard\" }),\n 4144: Object.freeze({ value: 4144, enumName: \"TwoOfSpades\", displayName: \"2 of Spades\", category: \"Standardcard\" }),\n 4145: Object.freeze({ value: 4145, enumName: \"ThreeOfSpades\", displayName: \"3 of Spades\", category: \"Standardcard\" }),\n 4146: Object.freeze({ value: 4146, enumName: \"FourOfSpades\", displayName: \"4 of Spades\", category: \"Standardcard\" }),\n 4147: Object.freeze({ value: 4147, enumName: \"FiveOfSpades\", displayName: \"5 of Spades\", category: \"Standardcard\" }),\n 4148: Object.freeze({ value: 4148, enumName: \"SixOfSpades\", displayName: \"6 of Spades\", category: \"Standardcard\" }),\n 4149: Object.freeze({ value: 4149, enumName: \"SevenOfSpades\", displayName: \"7 of Spades\", category: \"Standardcard\" }),\n 4150: Object.freeze({ value: 4150, enumName: \"EightOfSpades\", displayName: \"8 of Spades\", category: \"Standardcard\" }),\n 4151: Object.freeze({ value: 4151, enumName: \"NineOfSpades\", displayName: \"9 of Spades\", category: \"Standardcard\" }),\n 4152: Object.freeze({ value: 4152, enumName: \"TenOfSpades\", displayName: \"10 of Spades\", category: \"Standardcard\" }),\n 4153: Object.freeze({ value: 4153, enumName: \"JackOfSpades\", displayName: \"Jack of Spades\", category: \"Standardcard\" }),\n 4154: Object.freeze({ value: 4154, enumName: \"QueenOfSpades\", displayName: \"Queen of Spades\", category: \"Standardcard\" }),\n 4155: Object.freeze({ value: 4155, enumName: \"KingOfSpades\", displayName: \"King of Spades\", category: \"Standardcard\" }),\n 4156: Object.freeze({ value: 4156, enumName: \"AceOfSpades\", displayName: \"Ace of Spades\", category: \"Standardcard\" }),\n 8192: Object.freeze({ value: 8192, enumName: \"Familiar\", displayName: \"Familiar\", category: \"SpectralCard\" }),\n 8193: Object.freeze({ value: 8193, enumName: \"Grim\", displayName: \"Grim\", category: \"SpectralCard\" }),\n 8194: Object.freeze({ value: 8194, enumName: \"Incantation\", displayName: \"Incantation\", category: \"SpectralCard\" }),\n 8195: Object.freeze({ value: 8195, enumName: \"Talisman\", displayName: \"Talisman\", category: \"SpectralCard\" }),\n 8196: Object.freeze({ value: 8196, enumName: \"Aura\", displayName: \"Aura\", category: \"SpectralCard\" }),\n 8197: Object.freeze({ value: 8197, enumName: \"Wraith\", displayName: \"Wraith\", category: \"SpectralCard\" }),\n 8198: Object.freeze({ value: 8198, enumName: \"Sigil\", displayName: \"Sigil\", category: \"SpectralCard\" }),\n 8199: Object.freeze({ value: 8199, enumName: \"Ouija\", displayName: \"Ouija\", category: \"SpectralCard\" }),\n 8200: Object.freeze({ value: 8200, enumName: \"Ectoplasm\", displayName: \"Ectoplasm\", category: \"SpectralCard\" }),\n 8201: Object.freeze({ value: 8201, enumName: \"Immolate\", displayName: \"Immolate\", category: \"SpectralCard\" }),\n 8202: Object.freeze({ value: 8202, enumName: \"Ankh\", displayName: \"Ankh\", category: \"SpectralCard\" }),\n 8203: Object.freeze({ value: 8203, enumName: \"DejaVu\", displayName: \"Deja Vu\", category: \"SpectralCard\" }),\n 8204: Object.freeze({ value: 8204, enumName: \"Hex\", displayName: \"Hex\", category: \"SpectralCard\" }),\n 8205: Object.freeze({ value: 8205, enumName: \"Trance\", displayName: \"Trance\", category: \"SpectralCard\" }),\n 8206: Object.freeze({ value: 8206, enumName: \"Medium\", displayName: \"Medium\", category: \"SpectralCard\" }),\n 8207: Object.freeze({ value: 8207, enumName: \"Cryptid\", displayName: \"Cryptid\", category: \"SpectralCard\" }),\n 8208: Object.freeze({ value: 8208, enumName: \"TheSoul\", displayName: \"The Soul\", category: \"SpectralCard\" }),\n 8209: Object.freeze({ value: 8209, enumName: \"BlackHole\", displayName: \"Black Hole\", category: \"SpectralCard\" }),\n 12288: Object.freeze({ value: 12288, enumName: \"TheFool\", displayName: \"The Fool\", category: \"TarotCard\" }),\n 12289: Object.freeze({ value: 12289, enumName: \"TheMagician\", displayName: \"The Magician\", category: \"TarotCard\" }),\n 12290: Object.freeze({ value: 12290, enumName: \"TheHighPriestess\", displayName: \"The High Priestess\", category: \"TarotCard\" }),\n 12291: Object.freeze({ value: 12291, enumName: \"TheEmpress\", displayName: \"The Empress\", category: \"TarotCard\" }),\n 12292: Object.freeze({ value: 12292, enumName: \"TheEmperor\", displayName: \"The Emperor\", category: \"TarotCard\" }),\n 12293: Object.freeze({ value: 12293, enumName: \"TheHierophant\", displayName: \"The Hierophant\", category: \"TarotCard\" }),\n 12294: Object.freeze({ value: 12294, enumName: \"TheLovers\", displayName: \"The Lovers\", category: \"TarotCard\" }),\n 12295: Object.freeze({ value: 12295, enumName: \"TheChariot\", displayName: \"The Chariot\", category: \"TarotCard\" }),\n 12296: Object.freeze({ value: 12296, enumName: \"Justice\", displayName: \"Justice\", category: \"TarotCard\" }),\n 12297: Object.freeze({ value: 12297, enumName: \"TheHermit\", displayName: \"The Hermit\", category: \"TarotCard\" }),\n 12298: Object.freeze({ value: 12298, enumName: \"TheWheelOfFortune\", displayName: \"The Wheel of Fortune\", category: \"TarotCard\" }),\n 12299: Object.freeze({ value: 12299, enumName: \"Strength\", displayName: \"Strength\", category: \"TarotCard\" }),\n 12300: Object.freeze({ value: 12300, enumName: \"TheHangedMan\", displayName: \"The Hanged Man\", category: \"TarotCard\" }),\n 12301: Object.freeze({ value: 12301, enumName: \"Death\", displayName: \"Death\", category: \"TarotCard\" }),\n 12302: Object.freeze({ value: 12302, enumName: \"Temperance\", displayName: \"Temperance\", category: \"TarotCard\" }),\n 12303: Object.freeze({ value: 12303, enumName: \"TheDevil\", displayName: \"The Devil\", category: \"TarotCard\" }),\n 12304: Object.freeze({ value: 12304, enumName: \"TheTower\", displayName: \"The Tower\", category: \"TarotCard\" }),\n 12305: Object.freeze({ value: 12305, enumName: \"TheStar\", displayName: \"The Star\", category: \"TarotCard\" }),\n 12306: Object.freeze({ value: 12306, enumName: \"TheMoon\", displayName: \"The Moon\", category: \"TarotCard\" }),\n 12307: Object.freeze({ value: 12307, enumName: \"TheSun\", displayName: \"The Sun\", category: \"TarotCard\" }),\n 12308: Object.freeze({ value: 12308, enumName: \"Judgement\", displayName: \"Judgement\", category: \"TarotCard\" }),\n 12309: Object.freeze({ value: 12309, enumName: \"TheWorld\", displayName: \"The World\", category: \"TarotCard\" }),\n 16384: Object.freeze({ value: 16384, enumName: \"Mercury\", displayName: \"Mercury\", category: \"PlanetCard\" }),\n 16385: Object.freeze({ value: 16385, enumName: \"Venus\", displayName: \"Venus\", category: \"PlanetCard\" }),\n 16386: Object.freeze({ value: 16386, enumName: \"Earth\", displayName: \"Earth\", category: \"PlanetCard\" }),\n 16387: Object.freeze({ value: 16387, enumName: \"Mars\", displayName: \"Mars\", category: \"PlanetCard\" }),\n 16388: Object.freeze({ value: 16388, enumName: \"Jupiter\", displayName: \"Jupiter\", category: \"PlanetCard\" }),\n 16389: Object.freeze({ value: 16389, enumName: \"Saturn\", displayName: \"Saturn\", category: \"PlanetCard\" }),\n 16390: Object.freeze({ value: 16390, enumName: \"Uranus\", displayName: \"Uranus\", category: \"PlanetCard\" }),\n 16391: Object.freeze({ value: 16391, enumName: \"Neptune\", displayName: \"Neptune\", category: \"PlanetCard\" }),\n 16392: Object.freeze({ value: 16392, enumName: \"Pluto\", displayName: \"Pluto\", category: \"PlanetCard\" }),\n 16393: Object.freeze({ value: 16393, enumName: \"PlanetX\", displayName: \"Planet X\", category: \"PlanetCard\" }),\n 16394: Object.freeze({ value: 16394, enumName: \"Ceres\", displayName: \"Ceres\", category: \"PlanetCard\" }),\n 16395: Object.freeze({ value: 16395, enumName: \"Eris\", displayName: \"Eris\", category: \"PlanetCard\" }),\n 20480: Object.freeze({ value: 20480, enumName: \"Joker\", displayName: \"Joker\", category: \"Joker\" }),\n 20481: Object.freeze({ value: 20481, enumName: \"GreedyJoker\", displayName: \"Greedy Joker\", category: \"Joker\" }),\n 20482: Object.freeze({ value: 20482, enumName: \"LustyJoker\", displayName: \"Lusty Joker\", category: \"Joker\" }),\n 20483: Object.freeze({ value: 20483, enumName: \"WrathfulJoker\", displayName: \"Wrathful Joker\", category: \"Joker\" }),\n 20484: Object.freeze({ value: 20484, enumName: \"GluttonousJoker\", displayName: \"Gluttonous Joker\", category: \"Joker\" }),\n 20485: Object.freeze({ value: 20485, enumName: \"JollyJoker\", displayName: \"Jolly Joker\", category: \"Joker\" }),\n 20486: Object.freeze({ value: 20486, enumName: \"ZanyJoker\", displayName: \"Zany Joker\", category: \"Joker\" }),\n 20487: Object.freeze({ value: 20487, enumName: \"MadJoker\", displayName: \"Mad Joker\", category: \"Joker\" }),\n 20488: Object.freeze({ value: 20488, enumName: \"CrazyJoker\", displayName: \"Crazy Joker\", category: \"Joker\" }),\n 20489: Object.freeze({ value: 20489, enumName: \"DrollJoker\", displayName: \"Droll Joker\", category: \"Joker\" }),\n 20490: Object.freeze({ value: 20490, enumName: \"SlyJoker\", displayName: \"Sly Joker\", category: \"Joker\" }),\n 20491: Object.freeze({ value: 20491, enumName: \"WilyJoker\", displayName: \"Wily Joker\", category: \"Joker\" }),\n 20492: Object.freeze({ value: 20492, enumName: \"CleverJoker\", displayName: \"Clever Joker\", category: \"Joker\" }),\n 20493: Object.freeze({ value: 20493, enumName: \"DeviousJoker\", displayName: \"Devious Joker\", category: \"Joker\" }),\n 20494: Object.freeze({ value: 20494, enumName: \"CraftyJoker\", displayName: \"Crafty Joker\", category: \"Joker\" }),\n 20495: Object.freeze({ value: 20495, enumName: \"HalfJoker\", displayName: \"Half Joker\", category: \"Joker\" }),\n 20496: Object.freeze({ value: 20496, enumName: \"CreditCard\", displayName: \"Credit Card\", category: \"Joker\" }),\n 20497: Object.freeze({ value: 20497, enumName: \"Banner\", displayName: \"Banner\", category: \"Joker\" }),\n 20498: Object.freeze({ value: 20498, enumName: \"MysticSummit\", displayName: \"Mystic Summit\", category: \"Joker\" }),\n 20499: Object.freeze({ value: 20499, enumName: \"EightBall\", displayName: \"8 Ball\", category: \"Joker\" }),\n 20500: Object.freeze({ value: 20500, enumName: \"Misprint\", displayName: \"Misprint\", category: \"Joker\" }),\n 20501: Object.freeze({ value: 20501, enumName: \"RaisedFist\", displayName: \"Raised Fist\", category: \"Joker\" }),\n 20502: Object.freeze({ value: 20502, enumName: \"ChaostheClown\", displayName: \"Chaos the Clown\", category: \"Joker\" }),\n 20503: Object.freeze({ value: 20503, enumName: \"ScaryFace\", displayName: \"Scary Face\", category: \"Joker\" }),\n 20504: Object.freeze({ value: 20504, enumName: \"AbstractJoker\", displayName: \"Abstract Joker\", category: \"Joker\" }),\n 20505: Object.freeze({ value: 20505, enumName: \"DelayedGratification\", displayName: \"Delayed Gratification\", category: \"Joker\" }),\n 20506: Object.freeze({ value: 20506, enumName: \"GrosMichel\", displayName: \"Gros Michel\", category: \"Joker\" }),\n 20507: Object.freeze({ value: 20507, enumName: \"EvenSteven\", displayName: \"Even Steven\", category: \"Joker\" }),\n 20508: Object.freeze({ value: 20508, enumName: \"OddTodd\", displayName: \"Odd Todd\", category: \"Joker\" }),\n 20509: Object.freeze({ value: 20509, enumName: \"Scholar\", displayName: \"Scholar\", category: \"Joker\" }),\n 20510: Object.freeze({ value: 20510, enumName: \"BusinessCard\", displayName: \"Business Card\", category: \"Joker\" }),\n 20511: Object.freeze({ value: 20511, enumName: \"Supernova\", displayName: \"Supernova\", category: \"Joker\" }),\n 20512: Object.freeze({ value: 20512, enumName: \"RideTheBus\", displayName: \"Ride the Bus\", category: \"Joker\" }),\n 20513: Object.freeze({ value: 20513, enumName: \"Egg\", displayName: \"Egg\", category: \"Joker\" }),\n 20514: Object.freeze({ value: 20514, enumName: \"Runner\", displayName: \"Runner\", category: \"Joker\" }),\n 20515: Object.freeze({ value: 20515, enumName: \"IceCream\", displayName: \"Ice Cream\", category: \"Joker\" }),\n 20516: Object.freeze({ value: 20516, enumName: \"Splash\", displayName: \"Splash\", category: \"Joker\" }),\n 20517: Object.freeze({ value: 20517, enumName: \"BlueJoker\", displayName: \"Blue Joker\", category: \"Joker\" }),\n 20518: Object.freeze({ value: 20518, enumName: \"FacelessJoker\", displayName: \"Faceless Joker\", category: \"Joker\" }),\n 20519: Object.freeze({ value: 20519, enumName: \"GreenJoker\", displayName: \"Green Joker\", category: \"Joker\" }),\n 20520: Object.freeze({ value: 20520, enumName: \"Superposition\", displayName: \"Superposition\", category: \"Joker\" }),\n 20521: Object.freeze({ value: 20521, enumName: \"ToDoList\", displayName: \"To Do List\", category: \"Joker\" }),\n 20522: Object.freeze({ value: 20522, enumName: \"Cavendish\", displayName: \"Cavendish\", category: \"Joker\" }),\n 20523: Object.freeze({ value: 20523, enumName: \"RedCard\", displayName: \"Red Card\", category: \"Joker\" }),\n 20524: Object.freeze({ value: 20524, enumName: \"SquareJoker\", displayName: \"Square Joker\", category: \"Joker\" }),\n 20525: Object.freeze({ value: 20525, enumName: \"RiffRaff\", displayName: \"Riff-raff\", category: \"Joker\" }),\n 20526: Object.freeze({ value: 20526, enumName: \"Photograph\", displayName: \"Photograph\", category: \"Joker\" }),\n 20527: Object.freeze({ value: 20527, enumName: \"ReservedParking\", displayName: \"Reserved Parking\", category: \"Joker\" }),\n 20528: Object.freeze({ value: 20528, enumName: \"MailInRebate\", displayName: \"Mail In Rebate\", category: \"Joker\" }),\n 20529: Object.freeze({ value: 20529, enumName: \"Hallucination\", displayName: \"Hallucination\", category: \"Joker\" }),\n 20530: Object.freeze({ value: 20530, enumName: \"FortuneTeller\", displayName: \"Fortune Teller\", category: \"Joker\" }),\n 20531: Object.freeze({ value: 20531, enumName: \"Juggler\", displayName: \"Juggler\", category: \"Joker\" }),\n 20532: Object.freeze({ value: 20532, enumName: \"Drunkard\", displayName: \"Drunkard\", category: \"Joker\" }),\n 20533: Object.freeze({ value: 20533, enumName: \"GoldenJoker\", displayName: \"Golden Joker\", category: \"Joker\" }),\n 20534: Object.freeze({ value: 20534, enumName: \"Popcorn\", displayName: \"Popcorn\", category: \"Joker\" }),\n 20535: Object.freeze({ value: 20535, enumName: \"WalkieTalkie\", displayName: \"Walkie Talkie\", category: \"Joker\" }),\n 20536: Object.freeze({ value: 20536, enumName: \"SmileyFace\", displayName: \"Smiley Face\", category: \"Joker\" }),\n 20537: Object.freeze({ value: 20537, enumName: \"GoldenTicket\", displayName: \"Golden Ticket\", category: \"Joker\" }),\n 20538: Object.freeze({ value: 20538, enumName: \"Swashbuckler\", displayName: \"Swashbuckler\", category: \"Joker\" }),\n 20539: Object.freeze({ value: 20539, enumName: \"HangingChad\", displayName: \"Hanging Chad\", category: \"Joker\" }),\n 20540: Object.freeze({ value: 20540, enumName: \"ShootTheMoon\", displayName: \"Shoot the Moon\", category: \"Joker\" }),\n 21504: Object.freeze({ value: 21504, enumName: \"JokerStencil\", displayName: \"Joker Stencil\", category: \"Joker\" }),\n 21505: Object.freeze({ value: 21505, enumName: \"FourFingers\", displayName: \"Four Fingers\", category: \"Joker\" }),\n 21506: Object.freeze({ value: 21506, enumName: \"Mime\", displayName: \"Mime\", category: \"Joker\" }),\n 21507: Object.freeze({ value: 21507, enumName: \"CeremonialDagger\", displayName: \"Ceremonial Dagger\", category: \"Joker\" }),\n 21508: Object.freeze({ value: 21508, enumName: \"MarbleJoker\", displayName: \"Marble Joker\", category: \"Joker\" }),\n 21509: Object.freeze({ value: 21509, enumName: \"LoyaltyCard\", displayName: \"Loyalty Card\", category: \"Joker\" }),\n 21510: Object.freeze({ value: 21510, enumName: \"Dusk\", displayName: \"Dusk\", category: \"Joker\" }),\n 21511: Object.freeze({ value: 21511, enumName: \"Fibonacci\", displayName: \"Fibonacci\", category: \"Joker\" }),\n 21512: Object.freeze({ value: 21512, enumName: \"SteelJoker\", displayName: \"Steel Joker\", category: \"Joker\" }),\n 21513: Object.freeze({ value: 21513, enumName: \"Hack\", displayName: \"Hack\", category: \"Joker\" }),\n 21514: Object.freeze({ value: 21514, enumName: \"Pareidolia\", displayName: \"Pareidolia\", category: \"Joker\" }),\n 21515: Object.freeze({ value: 21515, enumName: \"SpaceJoker\", displayName: \"Space Joker\", category: \"Joker\" }),\n 21516: Object.freeze({ value: 21516, enumName: \"Burglar\", displayName: \"Burglar\", category: \"Joker\" }),\n 21517: Object.freeze({ value: 21517, enumName: \"Blackboard\", displayName: \"Blackboard\", category: \"Joker\" }),\n 21518: Object.freeze({ value: 21518, enumName: \"SixthSense\", displayName: \"Sixth Sense\", category: \"Joker\" }),\n 21519: Object.freeze({ value: 21519, enumName: \"Constellation\", displayName: \"Constellation\", category: \"Joker\" }),\n 21520: Object.freeze({ value: 21520, enumName: \"Hiker\", displayName: \"Hiker\", category: \"Joker\" }),\n 21521: Object.freeze({ value: 21521, enumName: \"CardSharp\", displayName: \"Card Sharp\", category: \"Joker\" }),\n 21522: Object.freeze({ value: 21522, enumName: \"Madness\", displayName: \"Madness\", category: \"Joker\" }),\n 21523: Object.freeze({ value: 21523, enumName: \"Seance\", displayName: \"Seance\", category: \"Joker\" }),\n 21524: Object.freeze({ value: 21524, enumName: \"Vampire\", displayName: \"Vampire\", category: \"Joker\" }),\n 21525: Object.freeze({ value: 21525, enumName: \"Shortcut\", displayName: \"Shortcut\", category: \"Joker\" }),\n 21526: Object.freeze({ value: 21526, enumName: \"Hologram\", displayName: \"Hologram\", category: \"Joker\" }),\n 21527: Object.freeze({ value: 21527, enumName: \"Cloud9\", displayName: \"Cloud 9\", category: \"Joker\" }),\n 21528: Object.freeze({ value: 21528, enumName: \"Rocket\", displayName: \"Rocket\", category: \"Joker\" }),\n 21529: Object.freeze({ value: 21529, enumName: \"MidasMask\", displayName: \"Midas Mask\", category: \"Joker\" }),\n 21530: Object.freeze({ value: 21530, enumName: \"Luchador\", displayName: \"Luchador\", category: \"Joker\" }),\n 21531: Object.freeze({ value: 21531, enumName: \"GiftCard\", displayName: \"Gift Card\", category: \"Joker\" }),\n 21532: Object.freeze({ value: 21532, enumName: \"TurtleBean\", displayName: \"Turtle Bean\", category: \"Joker\" }),\n 21533: Object.freeze({ value: 21533, enumName: \"Erosion\", displayName: \"Erosion\", category: \"Joker\" }),\n 21534: Object.freeze({ value: 21534, enumName: \"ToTheMoon\", displayName: \"To the Moon\", category: \"Joker\" }),\n 21535: Object.freeze({ value: 21535, enumName: \"StoneJoker\", displayName: \"Stone Joker\", category: \"Joker\" }),\n 21536: Object.freeze({ value: 21536, enumName: \"LuckyCat\", displayName: \"Lucky Cat\", category: \"Joker\" }),\n 21537: Object.freeze({ value: 21537, enumName: \"Bull\", displayName: \"Bull\", category: \"Joker\" }),\n 21538: Object.freeze({ value: 21538, enumName: \"DietCola\", displayName: \"Diet Cola\", category: \"Joker\" }),\n 21539: Object.freeze({ value: 21539, enumName: \"TradingCard\", displayName: \"Trading Card\", category: \"Joker\" }),\n 21540: Object.freeze({ value: 21540, enumName: \"FlashCard\", displayName: \"Flash Card\", category: \"Joker\" }),\n 21541: Object.freeze({ value: 21541, enumName: \"SpareTrousers\", displayName: \"Spare Trousers\", category: \"Joker\" }),\n 21542: Object.freeze({ value: 21542, enumName: \"Ramen\", displayName: \"Ramen\", category: \"Joker\" }),\n 21543: Object.freeze({ value: 21543, enumName: \"Seltzer\", displayName: \"Seltzer\", category: \"Joker\" }),\n 21544: Object.freeze({ value: 21544, enumName: \"Castle\", displayName: \"Castle\", category: \"Joker\" }),\n 21545: Object.freeze({ value: 21545, enumName: \"MrBones\", displayName: \"Mr. Bones\", category: \"Joker\" }),\n 21546: Object.freeze({ value: 21546, enumName: \"Acrobat\", displayName: \"Acrobat\", category: \"Joker\" }),\n 21547: Object.freeze({ value: 21547, enumName: \"SockAndBuskin\", displayName: \"Sock and Buskin\", category: \"Joker\" }),\n 21548: Object.freeze({ value: 21548, enumName: \"Troubadour\", displayName: \"Troubadour\", category: \"Joker\" }),\n 21549: Object.freeze({ value: 21549, enumName: \"Certificate\", displayName: \"Certificate\", category: \"Joker\" }),\n 21550: Object.freeze({ value: 21550, enumName: \"SmearedJoker\", displayName: \"Smeared Joker\", category: \"Joker\" }),\n 21551: Object.freeze({ value: 21551, enumName: \"Throwback\", displayName: \"Throwback\", category: \"Joker\" }),\n 21552: Object.freeze({ value: 21552, enumName: \"RoughGem\", displayName: \"Rough Gem\", category: \"Joker\" }),\n 21553: Object.freeze({ value: 21553, enumName: \"Bloodstone\", displayName: \"Bloodstone\", category: \"Joker\" }),\n 21554: Object.freeze({ value: 21554, enumName: \"Arrowhead\", displayName: \"Arrowhead\", category: \"Joker\" }),\n 21555: Object.freeze({ value: 21555, enumName: \"OnyxAgate\", displayName: \"Onyx Agate\", category: \"Joker\" }),\n 21556: Object.freeze({ value: 21556, enumName: \"GlassJoker\", displayName: \"Glass Joker\", category: \"Joker\" }),\n 21557: Object.freeze({ value: 21557, enumName: \"Showman\", displayName: \"Showman\", category: \"Joker\" }),\n 21558: Object.freeze({ value: 21558, enumName: \"FlowerPot\", displayName: \"Flower Pot\", category: \"Joker\" }),\n 21559: Object.freeze({ value: 21559, enumName: \"MerryAndy\", displayName: \"Merry Andy\", category: \"Joker\" }),\n 21560: Object.freeze({ value: 21560, enumName: \"OopsAll6s\", displayName: \"Oops! All 6s\", category: \"Joker\" }),\n 21561: Object.freeze({ value: 21561, enumName: \"TheIdol\", displayName: \"The Idol\", category: \"Joker\" }),\n 21562: Object.freeze({ value: 21562, enumName: \"SeeingDouble\", displayName: \"Seeing Double\", category: \"Joker\" }),\n 21563: Object.freeze({ value: 21563, enumName: \"Matador\", displayName: \"Matador\", category: \"Joker\" }),\n 21564: Object.freeze({ value: 21564, enumName: \"Satellite\", displayName: \"Satellite\", category: \"Joker\" }),\n 21565: Object.freeze({ value: 21565, enumName: \"Cartomancer\", displayName: \"Cartomancer\", category: \"Joker\" }),\n 21566: Object.freeze({ value: 21566, enumName: \"Astronomer\", displayName: \"Astronomer\", category: \"Joker\" }),\n 21567: Object.freeze({ value: 21567, enumName: \"Bootstraps\", displayName: \"Bootstraps\", category: \"Joker\" }),\n 22528: Object.freeze({ value: 22528, enumName: \"DNA\", displayName: \"DNA\", category: \"Joker\" }),\n 22529: Object.freeze({ value: 22529, enumName: \"Vagabond\", displayName: \"Vagabond\", category: \"Joker\" }),\n 22530: Object.freeze({ value: 22530, enumName: \"Baron\", displayName: \"Baron\", category: \"Joker\" }),\n 22531: Object.freeze({ value: 22531, enumName: \"Obelisk\", displayName: \"Obelisk\", category: \"Joker\" }),\n 22532: Object.freeze({ value: 22532, enumName: \"BaseballCard\", displayName: \"Baseball Card\", category: \"Joker\" }),\n 22533: Object.freeze({ value: 22533, enumName: \"AncientJoker\", displayName: \"Ancient Joker\", category: \"Joker\" }),\n 22534: Object.freeze({ value: 22534, enumName: \"Campfire\", displayName: \"Campfire\", category: \"Joker\" }),\n 22535: Object.freeze({ value: 22535, enumName: \"Blueprint\", displayName: \"Blueprint\", category: \"Joker\" }),\n 22536: Object.freeze({ value: 22536, enumName: \"WeeJoker\", displayName: \"Wee Joker\", category: \"Joker\" }),\n 22537: Object.freeze({ value: 22537, enumName: \"HitTheRoad\", displayName: \"Hit the Road\", category: \"Joker\" }),\n 22538: Object.freeze({ value: 22538, enumName: \"TheDuo\", displayName: \"The Duo\", category: \"Joker\" }),\n 22539: Object.freeze({ value: 22539, enumName: \"TheTrio\", displayName: \"The Trio\", category: \"Joker\" }),\n 22540: Object.freeze({ value: 22540, enumName: \"TheFamily\", displayName: \"The Family\", category: \"Joker\" }),\n 22541: Object.freeze({ value: 22541, enumName: \"TheOrder\", displayName: \"The Order\", category: \"Joker\" }),\n 22542: Object.freeze({ value: 22542, enumName: \"TheTribe\", displayName: \"The Tribe\", category: \"Joker\" }),\n 22543: Object.freeze({ value: 22543, enumName: \"Stuntman\", displayName: \"Stuntman\", category: \"Joker\" }),\n 22544: Object.freeze({ value: 22544, enumName: \"InvisibleJoker\", displayName: \"Invisible Joker\", category: \"Joker\" }),\n 22545: Object.freeze({ value: 22545, enumName: \"Brainstorm\", displayName: \"Brainstorm\", category: \"Joker\" }),\n 22546: Object.freeze({ value: 22546, enumName: \"DriversLicense\", displayName: \"Driver\\u0027s License\", category: \"Joker\" }),\n 22547: Object.freeze({ value: 22547, enumName: \"BurntJoker\", displayName: \"Burnt Joker\", category: \"Joker\" }),\n 23552: Object.freeze({ value: 23552, enumName: \"Canio\", displayName: \"Canio\", category: \"Joker\" }),\n 23553: Object.freeze({ value: 23553, enumName: \"Triboulet\", displayName: \"Triboulet\", category: \"Joker\" }),\n 23554: Object.freeze({ value: 23554, enumName: \"Yorick\", displayName: \"Yorick\", category: \"Joker\" }),\n 23555: Object.freeze({ value: 23555, enumName: \"Chicot\", displayName: \"Chicot\", category: \"Joker\" }),\n 23556: Object.freeze({ value: 23556, enumName: \"Perkeo\", displayName: \"Perkeo\", category: \"Joker\" }),\n 61440: Object.freeze({ value: 61440, enumName: \"Invalid\", displayName: \"Invalid\", category: \"Invalid\" }),\n 61441: Object.freeze({ value: 61441, enumName: \"NotImplemented\", displayName: \"Not Implemented\", category: \"Invalid\" }),\n 61442: Object.freeze({ value: 61442, enumName: \"JokerExcludedByStream\", displayName: \"Joker Excluded By Stream\", category: \"Invalid\" }),\n 61443: Object.freeze({ value: 61443, enumName: \"PlanetExcludedByStream\", displayName: \"Planet Excluded By Stream\", category: \"Invalid\" }),\n 61444: Object.freeze({ value: 61444, enumName: \"TarotExcludedByStream\", displayName: \"Tarot Excluded By Stream\", category: \"Invalid\" }),\n 61445: Object.freeze({ value: 61445, enumName: \"SpectralExcludedByStream\", displayName: \"Spectral Excluded By Stream\", category: \"Invalid\" }),\n});\n\nexport const MOTELY_ITEM_FORMATS_BY_ENUM_NAME = Object.freeze({\n AbstractJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20504],\n AceOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4108],\n AceOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4124],\n AceOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4140],\n AceOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4156],\n Acrobat: MOTELY_ITEM_FORMATS_BY_VALUE[21546],\n AncientJoker: MOTELY_ITEM_FORMATS_BY_VALUE[22533],\n Ankh: MOTELY_ITEM_FORMATS_BY_VALUE[8202],\n Arrowhead: MOTELY_ITEM_FORMATS_BY_VALUE[21554],\n Astronomer: MOTELY_ITEM_FORMATS_BY_VALUE[21566],\n Aura: MOTELY_ITEM_FORMATS_BY_VALUE[8196],\n Banner: MOTELY_ITEM_FORMATS_BY_VALUE[20497],\n Baron: MOTELY_ITEM_FORMATS_BY_VALUE[22530],\n BaseballCard: MOTELY_ITEM_FORMATS_BY_VALUE[22532],\n BlackHole: MOTELY_ITEM_FORMATS_BY_VALUE[8209],\n Blackboard: MOTELY_ITEM_FORMATS_BY_VALUE[21517],\n Bloodstone: MOTELY_ITEM_FORMATS_BY_VALUE[21553],\n BlueJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20517],\n Blueprint: MOTELY_ITEM_FORMATS_BY_VALUE[22535],\n Bootstraps: MOTELY_ITEM_FORMATS_BY_VALUE[21567],\n Brainstorm: MOTELY_ITEM_FORMATS_BY_VALUE[22545],\n Bull: MOTELY_ITEM_FORMATS_BY_VALUE[21537],\n Burglar: MOTELY_ITEM_FORMATS_BY_VALUE[21516],\n BurntJoker: MOTELY_ITEM_FORMATS_BY_VALUE[22547],\n BusinessCard: MOTELY_ITEM_FORMATS_BY_VALUE[20510],\n Campfire: MOTELY_ITEM_FORMATS_BY_VALUE[22534],\n Canio: MOTELY_ITEM_FORMATS_BY_VALUE[23552],\n CardSharp: MOTELY_ITEM_FORMATS_BY_VALUE[21521],\n Cartomancer: MOTELY_ITEM_FORMATS_BY_VALUE[21565],\n Castle: MOTELY_ITEM_FORMATS_BY_VALUE[21544],\n Cavendish: MOTELY_ITEM_FORMATS_BY_VALUE[20522],\n CeremonialDagger: MOTELY_ITEM_FORMATS_BY_VALUE[21507],\n Ceres: MOTELY_ITEM_FORMATS_BY_VALUE[16394],\n Certificate: MOTELY_ITEM_FORMATS_BY_VALUE[21549],\n ChaostheClown: MOTELY_ITEM_FORMATS_BY_VALUE[20502],\n Chicot: MOTELY_ITEM_FORMATS_BY_VALUE[23555],\n CleverJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20492],\n Cloud9: MOTELY_ITEM_FORMATS_BY_VALUE[21527],\n Constellation: MOTELY_ITEM_FORMATS_BY_VALUE[21519],\n CraftyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20494],\n CrazyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20488],\n CreditCard: MOTELY_ITEM_FORMATS_BY_VALUE[20496],\n Cryptid: MOTELY_ITEM_FORMATS_BY_VALUE[8207],\n DNA: MOTELY_ITEM_FORMATS_BY_VALUE[22528],\n Death: MOTELY_ITEM_FORMATS_BY_VALUE[12301],\n DejaVu: MOTELY_ITEM_FORMATS_BY_VALUE[8203],\n DelayedGratification: MOTELY_ITEM_FORMATS_BY_VALUE[20505],\n DeviousJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20493],\n DietCola: MOTELY_ITEM_FORMATS_BY_VALUE[21538],\n DriversLicense: MOTELY_ITEM_FORMATS_BY_VALUE[22546],\n DrollJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20489],\n Drunkard: MOTELY_ITEM_FORMATS_BY_VALUE[20532],\n Dusk: MOTELY_ITEM_FORMATS_BY_VALUE[21510],\n Earth: MOTELY_ITEM_FORMATS_BY_VALUE[16386],\n Ectoplasm: MOTELY_ITEM_FORMATS_BY_VALUE[8200],\n Egg: MOTELY_ITEM_FORMATS_BY_VALUE[20513],\n EightBall: MOTELY_ITEM_FORMATS_BY_VALUE[20499],\n EightOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4102],\n EightOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4118],\n EightOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4134],\n EightOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4150],\n Eris: MOTELY_ITEM_FORMATS_BY_VALUE[16395],\n Erosion: MOTELY_ITEM_FORMATS_BY_VALUE[21533],\n EvenSteven: MOTELY_ITEM_FORMATS_BY_VALUE[20507],\n FacelessJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20518],\n Familiar: MOTELY_ITEM_FORMATS_BY_VALUE[8192],\n Fibonacci: MOTELY_ITEM_FORMATS_BY_VALUE[21511],\n FiveOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4099],\n FiveOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4115],\n FiveOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4131],\n FiveOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4147],\n FlashCard: MOTELY_ITEM_FORMATS_BY_VALUE[21540],\n FlowerPot: MOTELY_ITEM_FORMATS_BY_VALUE[21558],\n FortuneTeller: MOTELY_ITEM_FORMATS_BY_VALUE[20530],\n FourFingers: MOTELY_ITEM_FORMATS_BY_VALUE[21505],\n FourOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4098],\n FourOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4114],\n FourOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4130],\n FourOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4146],\n GiftCard: MOTELY_ITEM_FORMATS_BY_VALUE[21531],\n GlassJoker: MOTELY_ITEM_FORMATS_BY_VALUE[21556],\n GluttonousJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20484],\n GoldenJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20533],\n GoldenTicket: MOTELY_ITEM_FORMATS_BY_VALUE[20537],\n GreedyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20481],\n GreenJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20519],\n Grim: MOTELY_ITEM_FORMATS_BY_VALUE[8193],\n GrosMichel: MOTELY_ITEM_FORMATS_BY_VALUE[20506],\n Hack: MOTELY_ITEM_FORMATS_BY_VALUE[21513],\n HalfJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20495],\n Hallucination: MOTELY_ITEM_FORMATS_BY_VALUE[20529],\n HangingChad: MOTELY_ITEM_FORMATS_BY_VALUE[20539],\n Hex: MOTELY_ITEM_FORMATS_BY_VALUE[8204],\n Hiker: MOTELY_ITEM_FORMATS_BY_VALUE[21520],\n HitTheRoad: MOTELY_ITEM_FORMATS_BY_VALUE[22537],\n Hologram: MOTELY_ITEM_FORMATS_BY_VALUE[21526],\n IceCream: MOTELY_ITEM_FORMATS_BY_VALUE[20515],\n Immolate: MOTELY_ITEM_FORMATS_BY_VALUE[8201],\n Incantation: MOTELY_ITEM_FORMATS_BY_VALUE[8194],\n Invalid: MOTELY_ITEM_FORMATS_BY_VALUE[61440],\n InvisibleJoker: MOTELY_ITEM_FORMATS_BY_VALUE[22544],\n JackOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4105],\n JackOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4121],\n JackOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4137],\n JackOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4153],\n Joker: MOTELY_ITEM_FORMATS_BY_VALUE[20480],\n JokerExcludedByStream: MOTELY_ITEM_FORMATS_BY_VALUE[61442],\n JokerStencil: MOTELY_ITEM_FORMATS_BY_VALUE[21504],\n JollyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20485],\n Judgement: MOTELY_ITEM_FORMATS_BY_VALUE[12308],\n Juggler: MOTELY_ITEM_FORMATS_BY_VALUE[20531],\n Jupiter: MOTELY_ITEM_FORMATS_BY_VALUE[16388],\n Justice: MOTELY_ITEM_FORMATS_BY_VALUE[12296],\n KingOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4107],\n KingOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4123],\n KingOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4139],\n KingOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4155],\n LoyaltyCard: MOTELY_ITEM_FORMATS_BY_VALUE[21509],\n Luchador: MOTELY_ITEM_FORMATS_BY_VALUE[21530],\n LuckyCat: MOTELY_ITEM_FORMATS_BY_VALUE[21536],\n LustyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20482],\n MadJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20487],\n Madness: MOTELY_ITEM_FORMATS_BY_VALUE[21522],\n MailInRebate: MOTELY_ITEM_FORMATS_BY_VALUE[20528],\n MarbleJoker: MOTELY_ITEM_FORMATS_BY_VALUE[21508],\n Mars: MOTELY_ITEM_FORMATS_BY_VALUE[16387],\n Matador: MOTELY_ITEM_FORMATS_BY_VALUE[21563],\n Medium: MOTELY_ITEM_FORMATS_BY_VALUE[8206],\n Mercury: MOTELY_ITEM_FORMATS_BY_VALUE[16384],\n MerryAndy: MOTELY_ITEM_FORMATS_BY_VALUE[21559],\n MidasMask: MOTELY_ITEM_FORMATS_BY_VALUE[21529],\n Mime: MOTELY_ITEM_FORMATS_BY_VALUE[21506],\n Misprint: MOTELY_ITEM_FORMATS_BY_VALUE[20500],\n MrBones: MOTELY_ITEM_FORMATS_BY_VALUE[21545],\n MysticSummit: MOTELY_ITEM_FORMATS_BY_VALUE[20498],\n Neptune: MOTELY_ITEM_FORMATS_BY_VALUE[16391],\n NineOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4103],\n NineOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4119],\n NineOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4135],\n NineOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4151],\n NotImplemented: MOTELY_ITEM_FORMATS_BY_VALUE[61441],\n Obelisk: MOTELY_ITEM_FORMATS_BY_VALUE[22531],\n OddTodd: MOTELY_ITEM_FORMATS_BY_VALUE[20508],\n OnyxAgate: MOTELY_ITEM_FORMATS_BY_VALUE[21555],\n OopsAll6s: MOTELY_ITEM_FORMATS_BY_VALUE[21560],\n Ouija: MOTELY_ITEM_FORMATS_BY_VALUE[8199],\n Pareidolia: MOTELY_ITEM_FORMATS_BY_VALUE[21514],\n Perkeo: MOTELY_ITEM_FORMATS_BY_VALUE[23556],\n Photograph: MOTELY_ITEM_FORMATS_BY_VALUE[20526],\n PlanetExcludedByStream: MOTELY_ITEM_FORMATS_BY_VALUE[61443],\n PlanetX: MOTELY_ITEM_FORMATS_BY_VALUE[16393],\n Pluto: MOTELY_ITEM_FORMATS_BY_VALUE[16392],\n Popcorn: MOTELY_ITEM_FORMATS_BY_VALUE[20534],\n QueenOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4106],\n QueenOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4122],\n QueenOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4138],\n QueenOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4154],\n RaisedFist: MOTELY_ITEM_FORMATS_BY_VALUE[20501],\n Ramen: MOTELY_ITEM_FORMATS_BY_VALUE[21542],\n RedCard: MOTELY_ITEM_FORMATS_BY_VALUE[20523],\n ReservedParking: MOTELY_ITEM_FORMATS_BY_VALUE[20527],\n RideTheBus: MOTELY_ITEM_FORMATS_BY_VALUE[20512],\n RiffRaff: MOTELY_ITEM_FORMATS_BY_VALUE[20525],\n Rocket: MOTELY_ITEM_FORMATS_BY_VALUE[21528],\n RoughGem: MOTELY_ITEM_FORMATS_BY_VALUE[21552],\n Runner: MOTELY_ITEM_FORMATS_BY_VALUE[20514],\n Satellite: MOTELY_ITEM_FORMATS_BY_VALUE[21564],\n Saturn: MOTELY_ITEM_FORMATS_BY_VALUE[16389],\n ScaryFace: MOTELY_ITEM_FORMATS_BY_VALUE[20503],\n Scholar: MOTELY_ITEM_FORMATS_BY_VALUE[20509],\n Seance: MOTELY_ITEM_FORMATS_BY_VALUE[21523],\n SeeingDouble: MOTELY_ITEM_FORMATS_BY_VALUE[21562],\n Seltzer: MOTELY_ITEM_FORMATS_BY_VALUE[21543],\n SevenOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4101],\n SevenOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4117],\n SevenOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4133],\n SevenOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4149],\n ShootTheMoon: MOTELY_ITEM_FORMATS_BY_VALUE[20540],\n Shortcut: MOTELY_ITEM_FORMATS_BY_VALUE[21525],\n Showman: MOTELY_ITEM_FORMATS_BY_VALUE[21557],\n Sigil: MOTELY_ITEM_FORMATS_BY_VALUE[8198],\n SixOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4100],\n SixOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4116],\n SixOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4132],\n SixOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4148],\n SixthSense: MOTELY_ITEM_FORMATS_BY_VALUE[21518],\n SlyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20490],\n SmearedJoker: MOTELY_ITEM_FORMATS_BY_VALUE[21550],\n SmileyFace: MOTELY_ITEM_FORMATS_BY_VALUE[20536],\n SockAndBuskin: MOTELY_ITEM_FORMATS_BY_VALUE[21547],\n SpaceJoker: MOTELY_ITEM_FORMATS_BY_VALUE[21515],\n SpareTrousers: MOTELY_ITEM_FORMATS_BY_VALUE[21541],\n SpectralExcludedByStream: MOTELY_ITEM_FORMATS_BY_VALUE[61445],\n Splash: MOTELY_ITEM_FORMATS_BY_VALUE[20516],\n SquareJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20524],\n SteelJoker: MOTELY_ITEM_FORMATS_BY_VALUE[21512],\n StoneJoker: MOTELY_ITEM_FORMATS_BY_VALUE[21535],\n Strength: MOTELY_ITEM_FORMATS_BY_VALUE[12299],\n Stuntman: MOTELY_ITEM_FORMATS_BY_VALUE[22543],\n Supernova: MOTELY_ITEM_FORMATS_BY_VALUE[20511],\n Superposition: MOTELY_ITEM_FORMATS_BY_VALUE[20520],\n Swashbuckler: MOTELY_ITEM_FORMATS_BY_VALUE[20538],\n Talisman: MOTELY_ITEM_FORMATS_BY_VALUE[8195],\n TarotExcludedByStream: MOTELY_ITEM_FORMATS_BY_VALUE[61444],\n Temperance: MOTELY_ITEM_FORMATS_BY_VALUE[12302],\n TenOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4104],\n TenOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4120],\n TenOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4136],\n TenOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4152],\n TheChariot: MOTELY_ITEM_FORMATS_BY_VALUE[12295],\n TheDevil: MOTELY_ITEM_FORMATS_BY_VALUE[12303],\n TheDuo: MOTELY_ITEM_FORMATS_BY_VALUE[22538],\n TheEmperor: MOTELY_ITEM_FORMATS_BY_VALUE[12292],\n TheEmpress: MOTELY_ITEM_FORMATS_BY_VALUE[12291],\n TheFamily: MOTELY_ITEM_FORMATS_BY_VALUE[22540],\n TheFool: MOTELY_ITEM_FORMATS_BY_VALUE[12288],\n TheHangedMan: MOTELY_ITEM_FORMATS_BY_VALUE[12300],\n TheHermit: MOTELY_ITEM_FORMATS_BY_VALUE[12297],\n TheHierophant: MOTELY_ITEM_FORMATS_BY_VALUE[12293],\n TheHighPriestess: MOTELY_ITEM_FORMATS_BY_VALUE[12290],\n TheIdol: MOTELY_ITEM_FORMATS_BY_VALUE[21561],\n TheLovers: MOTELY_ITEM_FORMATS_BY_VALUE[12294],\n TheMagician: MOTELY_ITEM_FORMATS_BY_VALUE[12289],\n TheMoon: MOTELY_ITEM_FORMATS_BY_VALUE[12306],\n TheOrder: MOTELY_ITEM_FORMATS_BY_VALUE[22541],\n TheSoul: MOTELY_ITEM_FORMATS_BY_VALUE[8208],\n TheStar: MOTELY_ITEM_FORMATS_BY_VALUE[12305],\n TheSun: MOTELY_ITEM_FORMATS_BY_VALUE[12307],\n TheTower: MOTELY_ITEM_FORMATS_BY_VALUE[12304],\n TheTribe: MOTELY_ITEM_FORMATS_BY_VALUE[22542],\n TheTrio: MOTELY_ITEM_FORMATS_BY_VALUE[22539],\n TheWheelOfFortune: MOTELY_ITEM_FORMATS_BY_VALUE[12298],\n TheWorld: MOTELY_ITEM_FORMATS_BY_VALUE[12309],\n ThreeOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4097],\n ThreeOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4113],\n ThreeOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4129],\n ThreeOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4145],\n Throwback: MOTELY_ITEM_FORMATS_BY_VALUE[21551],\n ToDoList: MOTELY_ITEM_FORMATS_BY_VALUE[20521],\n ToTheMoon: MOTELY_ITEM_FORMATS_BY_VALUE[21534],\n TradingCard: MOTELY_ITEM_FORMATS_BY_VALUE[21539],\n Trance: MOTELY_ITEM_FORMATS_BY_VALUE[8205],\n Triboulet: MOTELY_ITEM_FORMATS_BY_VALUE[23553],\n Troubadour: MOTELY_ITEM_FORMATS_BY_VALUE[21548],\n TurtleBean: MOTELY_ITEM_FORMATS_BY_VALUE[21532],\n TwoOfClubs: MOTELY_ITEM_FORMATS_BY_VALUE[4096],\n TwoOfDiamonds: MOTELY_ITEM_FORMATS_BY_VALUE[4112],\n TwoOfHearts: MOTELY_ITEM_FORMATS_BY_VALUE[4128],\n TwoOfSpades: MOTELY_ITEM_FORMATS_BY_VALUE[4144],\n Uranus: MOTELY_ITEM_FORMATS_BY_VALUE[16390],\n Vagabond: MOTELY_ITEM_FORMATS_BY_VALUE[22529],\n Vampire: MOTELY_ITEM_FORMATS_BY_VALUE[21524],\n Venus: MOTELY_ITEM_FORMATS_BY_VALUE[16385],\n WalkieTalkie: MOTELY_ITEM_FORMATS_BY_VALUE[20535],\n WeeJoker: MOTELY_ITEM_FORMATS_BY_VALUE[22536],\n WilyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20491],\n Wraith: MOTELY_ITEM_FORMATS_BY_VALUE[8197],\n WrathfulJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20483],\n Yorick: MOTELY_ITEM_FORMATS_BY_VALUE[23554],\n ZanyJoker: MOTELY_ITEM_FORMATS_BY_VALUE[20486],\n});\n","import { MOTELY_ITEM_FORMATS_BY_VALUE } from \"./motelyItemFormats.js\";\n\ntype MotelyItemCategoryName = \"Standardcard\" | \"SpectralCard\" | \"TarotCard\" | \"PlanetCard\" | \"Joker\" | \"Invalid\";\n\nconst CATEGORY_MAP: Record<MotelyItemCategoryName, MotelyRenderableCategory> = {\n Standardcard: \"playing\",\n SpectralCard: \"spectral\",\n TarotCard: \"tarot\",\n PlanetCard: \"planet\",\n Joker: \"joker\",\n Invalid: \"unknown\",\n};\n\nconst RANKS = [\"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"Jack\", \"Queen\", \"King\", \"Ace\"] as const;\nconst SUITS = [\"Clubs\", \"Diamonds\", \"Hearts\", \"Spades\"] as const;\nconst EDITIONS = [\"Base\", \"Foil\", \"Holographic\", \"Polychrome\", \"Negative\"] as const;\nconst SEALS = [\"None\", \"Gold\", \"Red\", \"Blue\", \"Purple\"] as const;\n\ntype RankName = (typeof RANKS)[number];\ntype SuitName = (typeof SUITS)[number];\n\nexport type CardCategory = \"joker\" | \"consumable\" | \"playing\" | \"spectral\" | \"tarot\" | \"planet\";\nexport type MotelyRenderableCategory = CardCategory | \"unknown\";\n\nexport type MotelyItemInput = number | MotelyRuntimeItem | null | undefined;\n\nexport interface MotelyRuntimeItem {\n type?: number;\n value?: number;\n edition?: number;\n seal?: number;\n enhancement?: number;\n suit?: number;\n rank?: number;\n}\n\nexport interface DecodedMotelyItem {\n itemType: number;\n enumKey: string;\n displayName: string;\n category: MotelyRenderableCategory;\n edition: \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\" | null;\n seal: \"Gold\" | \"Red\" | \"Blue\" | \"Purple\" | null;\n enhancement: string | null;\n rank: string | null;\n suit: \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null;\n}\n\nexport interface MotelyJamlCard {\n type: \"joker\" | \"consumable\" | \"playing\";\n card: {\n name: string;\n edition?: \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\";\n seal?: string;\n enhancements?: string[];\n rank?: string;\n suit?: string;\n scale?: number;\n };\n}\n\nfunction itemFormat(itemType: number) {\n return MOTELY_ITEM_FORMATS_BY_VALUE[itemType as keyof typeof MOTELY_ITEM_FORMATS_BY_VALUE];\n}\n\nfunction spaceSplit(value: string): string {\n return value.replace(/([a-z])([A-Z])/g, \"$1 $2\").replace(/([A-Z]+)([A-Z][a-z])/g, \"$1 $2\");\n}\n\nfunction resolvePackedValue(input: MotelyItemInput): number | null {\n if (input == null) return null;\n if (typeof input === \"number\") return Number.isFinite(input) ? input : null;\n return input.value ?? input.type ?? null;\n}\n\nexport function resolveMotelyItemType(input: MotelyItemInput): number | null {\n const val = resolvePackedValue(input);\n return val !== null ? val & 0xffff : null;\n}\n\nexport function motelyItemTypeName(input: MotelyItemInput): string {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"Unknown\";\n return itemFormat(itemType)?.enumName ?? `item#${itemType}`;\n}\n\nexport function motelyItemCategory(itemType: number): MotelyRenderableCategory {\n const category = itemFormat(itemType)?.category as MotelyItemCategoryName | undefined;\n return category ? CATEGORY_MAP[category] ?? \"unknown\" : \"unknown\";\n}\n\nexport function motelyItemRenderCategory(input: MotelyItemInput): MotelyRenderableCategory {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"unknown\";\n return motelyItemCategory(itemType);\n}\n\nexport function motelyItemDisplayName(input: MotelyItemInput): string {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"Unknown\";\n return itemFormat(itemType)?.displayName ?? spaceSplit(motelyItemTypeName(input));\n}\n\nexport function motelyItemEditionName(input: MotelyItemInput): \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? input : input.edition;\n if (val == null) return null;\n const key = EDITIONS[val as keyof typeof EDITIONS];\n if (!key || key === \"Base\") return null;\n return key as \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\";\n}\n\nexport function motelyItemSealName(input: MotelyItemInput): \"Gold\" | \"Red\" | \"Blue\" | \"Purple\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? null : input.seal;\n if (val == null) return null;\n const key = SEALS[val as keyof typeof SEALS];\n if (!key || key === \"None\") return null;\n return key as \"Gold\" | \"Red\" | \"Blue\" | \"Purple\";\n}\n\nexport function motelyItemEnhancementName(input: MotelyItemInput): string | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? null : input.enhancement;\n if (val == null) return null;\n // Enhancements are not part of the current motely-wasm JS contract.\n return null;\n}\n\nexport function motelyStandardcardRankName(input: MotelyItemInput): string | null {\n if (input == null) return null;\n if (motelyItemRenderCategory(input) !== \"playing\") return null;\n const val = typeof input === \"number\" ? resolveMotelyItemType(input) : input.rank;\n if (val == null) return null;\n if (typeof input === \"number\") return RANKS[val & 0xf] ?? null;\n return RANKS[val] as RankName | undefined ?? null;\n}\n\nexport function motelyStandardcardSuitName(input: MotelyItemInput): \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null {\n if (input == null) return null;\n if (motelyItemRenderCategory(input) !== \"playing\") return null;\n const val = typeof input === \"number\" ? resolveMotelyItemType(input) : input.suit;\n if (val == null) return null;\n if (typeof input === \"number\") return SUITS[(val >> 4) & 0xf] ?? null;\n return SUITS[val] as SuitName | undefined ?? null;\n}\n\nexport function decodeMotelyItemName(input: MotelyItemInput): string {\n return motelyItemTypeName(input);\n}\n\nexport function decodeMotelyItem(input: MotelyItemInput): DecodedMotelyItem | null {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return null;\n\n const format = itemFormat(itemType);\n const enumKeyStr = format?.enumName ?? `Unknown_${itemType}`;\n const category = motelyItemCategory(itemType);\n const displayName = format?.displayName ?? spaceSplit(enumKeyStr);\n\n return {\n itemType,\n enumKey: enumKeyStr,\n displayName,\n category,\n edition: motelyItemEditionName(input),\n seal: motelyItemSealName(input),\n enhancement: motelyItemEnhancementName(input),\n rank: motelyStandardcardRankName(input),\n suit: motelyStandardcardSuitName(input),\n };\n}\n\nexport function decodeMotelyItemToJamlCard(input: MotelyItemInput, scale?: number): MotelyJamlCard | null {\n const decoded = decodeMotelyItem(input);\n if (!decoded) return null;\n\n const type: \"joker\" | \"consumable\" | \"playing\" =\n decoded.category === \"joker\" ? \"joker\"\n : decoded.category === \"playing\" ? \"playing\"\n : \"consumable\";\n\n return {\n type,\n card: {\n name: decoded.displayName,\n edition: decoded.edition ?? undefined,\n seal: decoded.seal ?? undefined,\n enhancements: decoded.enhancement ? [decoded.enhancement] : undefined,\n rank: decoded.rank ?? undefined,\n suit: decoded.suit ?? undefined,\n scale,\n },\n };\n}\n\nexport function warmMotelyItemCache(): void { /* no-op */ }\nexport function motelyItemCacheSize(): number { return 0; }\n","import { decodeMotelyItem, type MotelyRenderableCategory } from \"./motelyItemDecoder.js\";\nimport { getSpriteData, SHEET_META } from \"../sprites/spriteMapper.js\";\nimport { RANK_MAP, SUIT_MAP } from \"../sprites/spriteData.js\";\nimport { resolveJamlAssetUrl } from \"../assets.js\";\n\nexport interface MotelySpriteData {\n atlasPath: string;\n gridCol: number;\n gridRow: number;\n gridCols: number;\n gridRows: number;\n displayName: string;\n category: MotelyRenderableCategory;\n}\n\n/**\n * Given a raw motely-wasm item value (which may be a bitpacked integer or raw MotelyItemType),\n * resolves it to a sprite atlas path and grid coordinates for rendering.\n */\nexport function motelyItemToSprite(rawValue: number): MotelySpriteData | null {\n const decoded = decodeMotelyItem(rawValue);\n if (!decoded) return null;\n\n if (decoded.category === \"playing\" && decoded.rank && decoded.suit) {\n const col = RANK_MAP[decoded.rank];\n const row = SUIT_MAP[decoded.suit];\n if (col !== undefined && row !== undefined) {\n return {\n atlasPath: resolveJamlAssetUrl('deck'),\n gridCol: col,\n gridRow: row,\n gridCols: 13,\n gridRows: 4,\n displayName: decoded.displayName,\n category: \"playing\"\n };\n }\n }\n\n const sprite = getSpriteData(decoded.displayName);\n if (!sprite) return null;\n\n const meta = SHEET_META[sprite.type];\n if (!meta) return null;\n\n return {\n atlasPath: resolveJamlAssetUrl(meta.assetKey),\n gridCol: sprite.pos.x,\n gridRow: sprite.pos.y,\n gridCols: meta.cols,\n gridRows: meta.rows,\n displayName: decoded.displayName,\n category: decoded.category\n };\n}\n\n/**\n * Resolves a sprite by name and category without needing a Motely integer.\n */\nexport function getMotelySpriteByName(name: string, category: MotelyRenderableCategory = \"unknown\"): MotelySpriteData | null {\n if (category === \"playing\") {\n // Attempt to parse \"Rank of Suit\"\n const match = /^(.*?)\\s+of\\s+(.*?)$/i.exec(name);\n if (match) {\n const rank = match[1];\n const suit = match[2];\n const col = RANK_MAP[rank];\n const row = SUIT_MAP[suit];\n if (col !== undefined && row !== undefined) {\n return {\n atlasPath: resolveJamlAssetUrl('deck'),\n gridCol: col,\n gridRow: row,\n gridCols: 13,\n gridRows: 4,\n displayName: name,\n category: \"playing\"\n };\n }\n }\n }\n\n const sprite = getSpriteData(name);\n if (!sprite) return null;\n\n const meta = SHEET_META[sprite.type];\n if (!meta) return null;\n\n return {\n atlasPath: resolveJamlAssetUrl(meta.assetKey),\n gridCol: sprite.pos.x,\n gridRow: sprite.pos.y,\n gridCols: meta.cols,\n gridRows: meta.rows,\n displayName: name,\n category\n };\n}\n","import { Motely } from \"motely-wasm\";\nimport { MOTELY_ITEM_FORMATS_BY_VALUE } from \"./decode/motelyItemFormats.js\";\n\ntype RuntimeEnum = Record<string, string | number>;\ntype MotelyRuntimeEnums = typeof Motely & Record<string, RuntimeEnum>;\n\nconst MotelyEnums = Motely as MotelyRuntimeEnums;\n\nfunction runtimeEnumKey(\n enumObject: Record<string, unknown>,\n value: number,\n): string | null {\n const key = enumObject[String(value)];\n return typeof key === \"string\" && key.length > 0 ? key : null;\n}\n\nexport function motelyBossDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyBossBlind, value & 0xff);\n return key ?? `boss#${value}`;\n}\n\nexport function motelyBossDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyVoucherDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyVoucher, value);\n return key ?? `voucher#${value}`;\n}\n\nexport function motelyVoucherDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyTagDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyTag, value);\n return key ?? `tag#${value}`;\n}\n\nexport function motelyTagDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyBoosterPackDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyBoosterPack, value);\n return key ?? `pack#${value}`;\n}\n\nexport function motelyBoosterPackDisplayNameFromKey(key: string): string {\n return `${key} Pack`;\n}\n\nexport function motelyItemDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyItemDisplayNameFromValue(value: number): string {\n const itemType = value & 0xffff;\n return MOTELY_ITEM_FORMATS_BY_VALUE[itemType as keyof typeof MOTELY_ITEM_FORMATS_BY_VALUE]?.displayName ?? `item#${value}`;\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\nimport { Motely } from \"motely-wasm\";\nimport { ensureMotelyReady } from \"../lib/motely/runtime.js\";\nimport { IFileMounter, PermissionMode } from \"motely-wasm/bootsharp/file-system\";\n\ntype FileSystemPackage = typeof import(\"@rewaffle/bootsharp-file-system\");\n\nlet fileSystemPackage: FileSystemPackage | null = null;\nlet fileSystemInitError: unknown = null;\nlet fileSystemInitPromise: Promise<void> | null = null;\n\nfunction initFileSystem(): Promise<void> {\n if (fileSystemInitPromise) return fileSystemInitPromise;\n fileSystemInitPromise = (async () => {\n try {\n fileSystemPackage = await import(\"@rewaffle/bootsharp-file-system\");\n fileSystemPackage.init(IFileMounter);\n } catch (error) {\n fileSystemInitError = error;\n }\n })();\n return fileSystemInitPromise;\n}\n\nexport type JamlLibraryStatus = \"idle\" | \"unsupported\" | \"mounting\" | \"ready\" | \"error\";\n\nexport interface UseJamlLibraryState {\n status: JamlLibraryStatus;\n rootId: string | null;\n files: string[];\n error: string | null;\n mount: () => Promise<void>;\n unmount: () => Promise<void>;\n loadFile: (uri: string) => Promise<string>;\n saveFile: (uri: string, content: string) => Promise<void>;\n refresh: () => void;\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n\nexport function useJamlLibrary(): UseJamlLibraryState {\n const [status, setStatus] = useState<JamlLibraryStatus>(\"idle\");\n const [rootId, setRootId] = useState<string | null>(null);\n const [files, setFiles] = useState<string[]>([]);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n initFileSystem().then(() => {\n if (cancelled) return;\n if (fileSystemPackage === null) {\n setStatus(\"unsupported\");\n setError(errorMessage(fileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"));\n }\n });\n return () => { cancelled = true; };\n }, []);\n\n const isFileSystemReady = fileSystemPackage !== null;\n\n const refresh = useCallback(() => {\n if (!rootId) return;\n setFiles((prev) => [...prev]);\n }, [rootId]);\n\n const mount = useCallback(async () => {\n await initFileSystem();\n if (fileSystemPackage === null) {\n setStatus(\"unsupported\");\n setError(errorMessage(fileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"));\n return;\n }\n\n setStatus(\"mounting\");\n setError(null);\n\n try {\n await ensureMotelyReady();\n const pickedRoot = await Motely.pickRoot({ mode: PermissionMode.ReadWrite, id: \"jaml-library\" });\n if (!pickedRoot) {\n setStatus(\"idle\");\n return;\n }\n\n const mountedRoot = await Motely.mountRoot(pickedRoot, { mode: PermissionMode.ReadWrite });\n setRootId(mountedRoot);\n setFiles([]);\n setStatus(\"ready\");\n } catch (err) {\n setStatus(\"error\");\n setError(errorMessage(err));\n }\n }, []);\n\n const unmount = useCallback(async () => {\n if (!rootId) return;\n await ensureMotelyReady();\n await Motely.unmountRoot(rootId);\n setRootId(null);\n setFiles([]);\n setStatus(isFileSystemReady ? \"idle\" : \"unsupported\");\n }, [isFileSystemReady, rootId]);\n\n const loadFile = useCallback(async (uri: string) => {\n if (!rootId) throw new Error(\"JAML library is not mounted.\");\n await ensureMotelyReady();\n return await Motely.readTextFile(rootId, uri);\n }, [rootId]);\n\n const saveFile = useCallback(async (uri: string, content: string) => {\n if (!rootId) throw new Error(\"JAML library is not mounted.\");\n await ensureMotelyReady();\n await Motely.writeTextFile(rootId, uri, content);\n setFiles((prev) => (prev.includes(uri) ? prev : [...prev, uri]).sort((a, b) => a.localeCompare(b)));\n }, [rootId]);\n\n return { status, rootId, files, error, mount, unmount, loadFile, saveFile, refresh };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"motely.js","names":[],"sources":["../src/decode/motelyItemDecoder.ts","../src/decode/motelySprite.ts","../src/motelyDisplay.ts","../src/hooks/useJamlLibrary.ts"],"sourcesContent":["import { MOTELY_ITEM_FORMATS_BY_VALUE } from \"./motelyItemFormats.js\";\nimport {\n MotelyItemEdition,\n MotelyItemSeal,\n MotelyItemEnhancement,\n MotelyStandardcardRank,\n MotelyStandardcardSuit,\n} from \"motely-wasm\";\n\ntype MotelyItemCategoryName = \"Standardcard\" | \"SpectralCard\" | \"TarotCard\" | \"PlanetCard\" | \"Joker\" | \"Invalid\";\n\nconst CATEGORY_MAP: Record<MotelyItemCategoryName, MotelyRenderableCategory> = {\n Standardcard: \"playing\",\n SpectralCard: \"spectral\",\n TarotCard: \"tarot\",\n PlanetCard: \"planet\",\n Joker: \"joker\",\n Invalid: \"unknown\",\n};\n\nconst EDITIONS: Record<MotelyItemEdition, string> = {\n [MotelyItemEdition.None]: \"Base\",\n [MotelyItemEdition.Foil]: \"Foil\",\n [MotelyItemEdition.Holographic]: \"Holographic\",\n [MotelyItemEdition.Polychrome]: \"Polychrome\",\n [MotelyItemEdition.Negative]: \"Negative\",\n};\n\nconst SEALS: Record<MotelyItemSeal, string> = {\n [MotelyItemSeal.None]: \"None\",\n [MotelyItemSeal.Gold]: \"Gold\",\n [MotelyItemSeal.Red]: \"Red\",\n [MotelyItemSeal.Blue]: \"Blue\",\n [MotelyItemSeal.Purple]: \"Purple\",\n};\n\nconst ENHANCEMENTS: Record<MotelyItemEnhancement, string> = {\n [MotelyItemEnhancement.None]: \"None\",\n [MotelyItemEnhancement.Bonus]: \"Bonus\",\n [MotelyItemEnhancement.Mult]: \"Mult\",\n [MotelyItemEnhancement.Wild]: \"Wild\",\n [MotelyItemEnhancement.Glass]: \"Glass\",\n [MotelyItemEnhancement.Steel]: \"Steel\",\n [MotelyItemEnhancement.Stone]: \"Stone\",\n [MotelyItemEnhancement.Gold]: \"Gold\",\n [MotelyItemEnhancement.Lucky]: \"Lucky\",\n};\n\nconst RANKS: Record<MotelyStandardcardRank, string> = {\n [MotelyStandardcardRank.Two]: \"2\",\n [MotelyStandardcardRank.Three]: \"3\",\n [MotelyStandardcardRank.Four]: \"4\",\n [MotelyStandardcardRank.Five]: \"5\",\n [MotelyStandardcardRank.Six]: \"6\",\n [MotelyStandardcardRank.Seven]: \"7\",\n [MotelyStandardcardRank.Eight]: \"8\",\n [MotelyStandardcardRank.Nine]: \"9\",\n [MotelyStandardcardRank.Ten]: \"10\",\n [MotelyStandardcardRank.Jack]: \"Jack\",\n [MotelyStandardcardRank.Queen]: \"Queen\",\n [MotelyStandardcardRank.King]: \"King\",\n [MotelyStandardcardRank.Ace]: \"Ace\",\n};\n\nconst SUITS: Record<MotelyStandardcardSuit, \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\"> = {\n [MotelyStandardcardSuit.Clubs]: \"Clubs\",\n [MotelyStandardcardSuit.Diamonds]: \"Diamonds\",\n [MotelyStandardcardSuit.Hearts]: \"Hearts\",\n [MotelyStandardcardSuit.Spades]: \"Spades\",\n};\n\n\nexport type CardCategory = \"joker\" | \"consumable\" | \"playing\" | \"spectral\" | \"tarot\" | \"planet\";\nexport type MotelyRenderableCategory = CardCategory | \"unknown\";\n\nexport type MotelyItemInput = number | MotelyRuntimeItem | null | undefined;\n\nexport interface MotelyRuntimeItem {\n type?: number;\n value?: number;\n edition?: number;\n seal?: number;\n enhancement?: number;\n suit?: number;\n rank?: number;\n}\n\nexport interface DecodedMotelyItem {\n itemType: number;\n enumKey: string;\n displayName: string;\n category: MotelyRenderableCategory;\n edition: \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\" | null;\n seal: \"Gold\" | \"Red\" | \"Blue\" | \"Purple\" | null;\n enhancement: string | null;\n rank: string | null;\n suit: \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null;\n isEternal: boolean;\n isPerishable: boolean;\n isRental: boolean;\n}\n\n\nexport interface MotelyJamlCard {\n type: \"joker\" | \"consumable\" | \"playing\";\n card: {\n name: string;\n edition?: \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\";\n seal?: string;\n enhancements?: string[];\n rank?: string;\n suit?: string;\n isEternal?: boolean;\n isPerishable?: boolean;\n isRental?: boolean;\n scale?: number;\n };\n}\n\nfunction itemFormat(itemType: number) {\n return MOTELY_ITEM_FORMATS_BY_VALUE[itemType as keyof typeof MOTELY_ITEM_FORMATS_BY_VALUE];\n}\n\nfunction spaceSplit(value: string): string {\n return value.replace(/([a-z])([A-Z])/g, \"$1 $2\").replace(/([A-Z]+)([A-Z][a-z])/g, \"$1 $2\");\n}\n\nfunction resolvePackedValue(input: MotelyItemInput): number | null {\n if (input == null) return null;\n if (typeof input === \"number\") return Number.isFinite(input) ? input : null;\n return input.value ?? input.type ?? null;\n}\n\nexport function resolveMotelyItemType(input: MotelyItemInput): number | null {\n const val = resolvePackedValue(input);\n return val !== null ? val & 0xffff : null;\n}\n\nexport function motelyItemTypeName(input: MotelyItemInput): string {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"Unknown\";\n return itemFormat(itemType)?.enumName ?? `item#${itemType}`;\n}\n\nexport function motelyItemCategory(itemType: number): MotelyRenderableCategory {\n const category = itemFormat(itemType)?.category as MotelyItemCategoryName | undefined;\n return category ? CATEGORY_MAP[category] ?? \"unknown\" : \"unknown\";\n}\n\nexport function motelyItemRenderCategory(input: MotelyItemInput): MotelyRenderableCategory {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"unknown\";\n return motelyItemCategory(itemType);\n}\n\nexport function motelyItemDisplayName(input: MotelyItemInput): string {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"Unknown\";\n return itemFormat(itemType)?.displayName ?? spaceSplit(motelyItemTypeName(input));\n}\n\nimport { Motely } from \"motely-wasm\";\n\nfunction isStickerSet(input: MotelyItemInput, bitOffset: number): boolean {\n const val = resolvePackedValue(input);\n if (val === null) return false;\n return (val & (1 << bitOffset)) !== 0;\n}\n\nexport function motelyItemEditionName(input: MotelyItemInput): \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? Motely.decodeItemEdition(input) : input.edition;\n if (val == null || val === MotelyItemEdition.None) return null;\n return EDITIONS[val] as \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\";\n}\n\nexport function motelyItemSealName(input: MotelyItemInput): \"Gold\" | \"Red\" | \"Blue\" | \"Purple\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? Motely.decodeItemSeal(input) : input.seal;\n if (val == null || val === MotelyItemSeal.None) return null;\n return SEALS[val] as \"Gold\" | \"Red\" | \"Blue\" | \"Purple\";\n}\n\nexport function motelyItemEnhancementName(input: MotelyItemInput): string | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? Motely.decodeItemEnhancement(input) : input.enhancement;\n if (val == null || val === MotelyItemEnhancement.None) return null;\n return ENHANCEMENTS[val] ?? null;\n}\n\n\nexport function motelyStandardcardRankName(input: MotelyItemInput): string | null {\n if (input == null) return null;\n if (motelyItemRenderCategory(input) !== \"playing\") return null;\n const val = typeof input === \"number\" ? Motely.decodeStandardcardRank(input) : input.rank;\n if (val == null) return null;\n return RANKS[val] ?? null;\n}\n\nexport function motelyStandardcardSuitName(input: MotelyItemInput): \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null {\n if (input == null) return null;\n if (motelyItemRenderCategory(input) !== \"playing\") return null;\n const val = typeof input === \"number\" ? Motely.decodeStandardcardSuit(input) : input.suit;\n if (val == null) return null;\n return SUITS[val] ?? null;\n}\n\nexport function decodeMotelyItemName(input: MotelyItemInput): string {\n return motelyItemTypeName(input);\n}\n\nexport function decodeMotelyItem(input: MotelyItemInput): DecodedMotelyItem | null {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return null;\n\n const format = itemFormat(itemType);\n const enumKeyStr = format?.enumName ?? `Unknown_${itemType}`;\n const category = motelyItemCategory(itemType);\n const displayName = format?.displayName ?? spaceSplit(enumKeyStr);\n\n return {\n itemType,\n enumKey: enumKeyStr,\n displayName,\n category,\n edition: motelyItemEditionName(input),\n seal: motelyItemSealName(input),\n enhancement: motelyItemEnhancementName(input),\n rank: motelyStandardcardRankName(input),\n suit: motelyStandardcardSuitName(input),\n isEternal: typeof input === \"number\" ? Motely.isEternal(input) : isStickerSet(input, 30),\n isPerishable: typeof input === \"number\" ? Motely.isPerishable(input) : isStickerSet(input, 31),\n isRental: typeof input === \"number\" ? Motely.isRental(input) : isStickerSet(input, 29),\n };\n}\n\nexport function decodeMotelyItemToJamlCard(input: MotelyItemInput, scale?: number): MotelyJamlCard | null {\n const decoded = decodeMotelyItem(input);\n if (!decoded) return null;\n\n const type: \"joker\" | \"consumable\" | \"playing\" =\n decoded.category === \"joker\" ? \"joker\"\n : decoded.category === \"playing\" ? \"playing\"\n : \"consumable\";\n\n return {\n type,\n card: {\n name: decoded.displayName,\n edition: decoded.edition ?? undefined,\n seal: decoded.seal ?? undefined,\n enhancements: decoded.enhancement ? [decoded.enhancement] : undefined,\n rank: decoded.rank ?? undefined,\n suit: decoded.suit ?? undefined,\n isEternal: decoded.isEternal,\n isPerishable: decoded.isPerishable,\n isRental: decoded.isRental,\n scale,\n },\n };\n}\n\nexport function warmMotelyItemCache(): void { /* no-op */ }\nexport function motelyItemCacheSize(): number { return 0; }\n","import { decodeMotelyItem, type MotelyRenderableCategory } from \"./motelyItemDecoder.js\";\nimport { getSpriteData, SHEET_META } from \"../sprites/spriteMapper.js\";\nimport { RANK_MAP, SUIT_MAP } from \"../sprites/spriteData.js\";\nimport { resolveJamlAssetUrl } from \"../assets.js\";\n\nexport interface MotelySpriteData {\n atlasPath: string;\n gridCol: number;\n gridRow: number;\n gridCols: number;\n gridRows: number;\n displayName: string;\n category: MotelyRenderableCategory;\n}\n\n/**\n * Given a raw motely-wasm item value (which may be a bitpacked integer or raw MotelyItemType),\n * resolves it to a sprite atlas path and grid coordinates for rendering.\n */\nexport function motelyItemToSprite(rawValue: number): MotelySpriteData | null {\n const decoded = decodeMotelyItem(rawValue);\n if (!decoded) return null;\n\n if (decoded.category === \"playing\" && decoded.rank && decoded.suit) {\n const col = RANK_MAP[decoded.rank];\n const row = SUIT_MAP[decoded.suit];\n if (col !== undefined && row !== undefined) {\n return {\n atlasPath: resolveJamlAssetUrl('deck'),\n gridCol: col,\n gridRow: row,\n gridCols: 13,\n gridRows: 4,\n displayName: decoded.displayName,\n category: \"playing\"\n };\n }\n }\n\n const sprite = getSpriteData(decoded.displayName);\n if (!sprite) return null;\n\n const meta = SHEET_META[sprite.type];\n if (!meta) return null;\n\n return {\n atlasPath: resolveJamlAssetUrl(meta.assetKey),\n gridCol: sprite.pos.x,\n gridRow: sprite.pos.y,\n gridCols: meta.cols,\n gridRows: meta.rows,\n displayName: decoded.displayName,\n category: decoded.category\n };\n}\n\n/**\n * Resolves a sprite by name and category without needing a Motely integer.\n */\nexport function getMotelySpriteByName(name: string, category: MotelyRenderableCategory = \"unknown\"): MotelySpriteData | null {\n if (category === \"playing\") {\n // Attempt to parse \"Rank of Suit\"\n const match = /^(.*?)\\s+of\\s+(.*?)$/i.exec(name);\n if (match) {\n const rank = match[1];\n const suit = match[2];\n const col = RANK_MAP[rank];\n const row = SUIT_MAP[suit];\n if (col !== undefined && row !== undefined) {\n return {\n atlasPath: resolveJamlAssetUrl('deck'),\n gridCol: col,\n gridRow: row,\n gridCols: 13,\n gridRows: 4,\n displayName: name,\n category: \"playing\"\n };\n }\n }\n }\n\n const sprite = getSpriteData(name);\n if (!sprite) return null;\n\n const meta = SHEET_META[sprite.type];\n if (!meta) return null;\n\n return {\n atlasPath: resolveJamlAssetUrl(meta.assetKey),\n gridCol: sprite.pos.x,\n gridRow: sprite.pos.y,\n gridCols: meta.cols,\n gridRows: meta.rows,\n displayName: name,\n category\n };\n}\n","import { Motely } from \"motely-wasm\";\nimport { MOTELY_ITEM_FORMATS_BY_VALUE } from \"./decode/motelyItemFormats.js\";\n\ntype RuntimeEnum = Record<string, string | number>;\ntype MotelyRuntimeEnums = typeof Motely & Record<string, RuntimeEnum>;\n\nconst MotelyEnums = Motely as MotelyRuntimeEnums;\n\nfunction runtimeEnumKey(\n enumObject: Record<string, unknown>,\n value: number,\n): string | null {\n const key = enumObject[String(value)];\n return typeof key === \"string\" && key.length > 0 ? key : null;\n}\n\nexport function motelyBossDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyBossBlind, value & 0xff);\n return key ?? `boss#${value}`;\n}\n\nexport function motelyBossDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyVoucherDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyVoucher, value);\n return key ?? `voucher#${value}`;\n}\n\nexport function motelyVoucherDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyTagDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyTag, value);\n return key ?? `tag#${value}`;\n}\n\nexport function motelyTagDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyBoosterPackDisplayName(value: number): string {\n const key = runtimeEnumKey(MotelyEnums.MotelyBoosterPack, value);\n return key ?? `pack#${value}`;\n}\n\nexport function motelyBoosterPackDisplayNameFromKey(key: string): string {\n return `${key} Pack`;\n}\n\nexport function motelyItemDisplayNameFromKey(key: string): string {\n return key;\n}\n\nexport function motelyItemDisplayNameFromValue(value: number): string {\n const itemType = value & 0xffff;\n return MOTELY_ITEM_FORMATS_BY_VALUE[itemType as keyof typeof MOTELY_ITEM_FORMATS_BY_VALUE]?.displayName ?? `item#${value}`;\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\nimport { Motely } from \"motely-wasm\";\nimport { ensureMotelyReady } from \"../lib/motely/runtime.js\";\nimport { IFileMounter, PermissionMode } from \"motely-wasm/bootsharp/file-system\";\n\ntype FileSystemPackage = typeof import(\"@rewaffle/bootsharp-file-system\");\n\nlet fileSystemPackage: FileSystemPackage | null = null;\nlet fileSystemInitError: unknown = null;\nlet fileSystemInitPromise: Promise<void> | null = null;\n\nfunction initFileSystem(): Promise<void> {\n if (fileSystemInitPromise) return fileSystemInitPromise;\n fileSystemInitPromise = (async () => {\n try {\n fileSystemPackage = await import(\"@rewaffle/bootsharp-file-system\");\n fileSystemPackage.init(IFileMounter);\n } catch (error) {\n fileSystemInitError = error;\n }\n })();\n return fileSystemInitPromise;\n}\n\nexport type JamlLibraryStatus = \"idle\" | \"unsupported\" | \"mounting\" | \"ready\" | \"error\";\n\nexport interface UseJamlLibraryState {\n status: JamlLibraryStatus;\n rootId: string | null;\n files: string[];\n error: string | null;\n mount: () => Promise<void>;\n unmount: () => Promise<void>;\n loadFile: (uri: string) => Promise<string>;\n saveFile: (uri: string, content: string) => Promise<void>;\n refresh: () => void;\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n\nexport function useJamlLibrary(): UseJamlLibraryState {\n const [status, setStatus] = useState<JamlLibraryStatus>(\"idle\");\n const [rootId, setRootId] = useState<string | null>(null);\n const [files, setFiles] = useState<string[]>([]);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n initFileSystem().then(() => {\n if (cancelled) return;\n if (fileSystemPackage === null) {\n setStatus(\"unsupported\");\n setError(errorMessage(fileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"));\n }\n });\n return () => { cancelled = true; };\n }, []);\n\n const isFileSystemReady = fileSystemPackage !== null;\n\n const refresh = useCallback(() => {\n if (!rootId) return;\n setFiles((prev) => [...prev]);\n }, [rootId]);\n\n const mount = useCallback(async () => {\n await initFileSystem();\n if (fileSystemPackage === null) {\n setStatus(\"unsupported\");\n setError(errorMessage(fileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"));\n return;\n }\n\n setStatus(\"mounting\");\n setError(null);\n\n try {\n await ensureMotelyReady();\n const pickedRoot = await Motely.pickRoot({ mode: PermissionMode.ReadWrite, id: \"jaml-library\" });\n if (!pickedRoot) {\n setStatus(\"idle\");\n return;\n }\n\n const mountedRoot = await Motely.mountRoot(pickedRoot, { mode: PermissionMode.ReadWrite });\n setRootId(mountedRoot);\n setFiles([]);\n setStatus(\"ready\");\n } catch (err) {\n setStatus(\"error\");\n setError(errorMessage(err));\n }\n }, []);\n\n const unmount = useCallback(async () => {\n if (!rootId) return;\n await ensureMotelyReady();\n await Motely.unmountRoot(rootId);\n setRootId(null);\n setFiles([]);\n setStatus(isFileSystemReady ? \"idle\" : \"unsupported\");\n }, [isFileSystemReady, rootId]);\n\n const loadFile = useCallback(async (uri: string) => {\n if (!rootId) throw new Error(\"JAML library is not mounted.\");\n await ensureMotelyReady();\n return await Motely.readTextFile(rootId, uri);\n }, [rootId]);\n\n const saveFile = useCallback(async (uri: string, content: string) => {\n if (!rootId) throw new Error(\"JAML library is not mounted.\");\n await ensureMotelyReady();\n await Motely.writeTextFile(rootId, uri, content);\n setFiles((prev) => (prev.includes(uri) ? prev : [...prev, uri]).sort((a, b) => a.localeCompare(b)));\n }, [rootId]);\n\n return { status, rootId, files, error, mount, unmount, loadFile, saveFile, refresh };\n}\n"],"mappings":"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"}
package/dist/r3f.js CHANGED
@@ -4,8 +4,8 @@ import { memo as n, useMemo as r, useRef as i, useState as a } from "react";
4
4
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
5
  import { useFrame as c, useLoader as l } from "@react-three/fiber";
6
6
  import { animated as u, useSpring as d } from "@react-spring/three";
7
- import { Billboard as f, Text as p } from "@react-three/drei";
8
- import * as m from "three";
7
+ import * as f from "three";
8
+ import { Billboard as p, Text as m } from "@react-three/drei";
9
9
  //#region src/r3f/Card3D.tsx
10
10
  var h = {
11
11
  WIDTH: .7,
@@ -20,10 +20,10 @@ var h = {
20
20
  LERP_OUT: 10
21
21
  };
22
22
  function _(e) {
23
- let t = l(m.TextureLoader, e.atlasPath);
23
+ let t = l(f.TextureLoader, e.atlasPath);
24
24
  return r(() => {
25
25
  let n = t.clone();
26
- return n.colorSpace = m.SRGBColorSpace, n.magFilter = m.NearestFilter, n.minFilter = m.NearestFilter, n.repeat.set(1 / e.gridCols, 1 / e.gridRows), n.offset.set(e.gridCol / e.gridCols, 1 - (e.gridRow + 1) / e.gridRows), n.needsUpdate = !0, n;
26
+ return n.colorSpace = f.SRGBColorSpace, n.magFilter = f.NearestFilter, n.minFilter = f.NearestFilter, n.repeat.set(1 / e.gridCols, 1 / e.gridRows), n.offset.set(e.gridCol / e.gridCols, 1 - (e.gridRow + 1) / e.gridRows), n.needsUpdate = !0, n;
27
27
  }, [
28
28
  t,
29
29
  e.gridCol,
@@ -40,7 +40,7 @@ var v = n(function({ sprite: e, position: t = [
40
40
  0,
41
41
  0,
42
42
  0
43
- ], selected: l = !1, highlighted: f = !1, onClick: p, onPointerEnter: v, onPointerLeave: y }) {
43
+ ], selected: l = !1, highlighted: p = !1, onClick: m, onPointerEnter: v, onPointerLeave: y }) {
44
44
  let b = i(null), x = i({
45
45
  rx: 0,
46
46
  ry: 0,
@@ -59,13 +59,13 @@ var v = n(function({ sprite: e, position: t = [
59
59
  let n = b.current;
60
60
  if (!n) return;
61
61
  let r = x.current, i = S ? g.LERP_IN : g.LERP_OUT, a = 1 - Math.exp(-i * t);
62
- n.rotation.x = m.MathUtils.lerp(n.rotation.x, r.rx, a), n.rotation.y = m.MathUtils.lerp(n.rotation.y, r.ry, a), n.rotation.z = m.MathUtils.lerp(n.rotation.z, r.rz, a), n.position.x = m.MathUtils.lerp(n.position.x, r.ox, a), n.position.y = m.MathUtils.lerp(n.position.y, r.oy, a);
62
+ n.rotation.x = f.MathUtils.lerp(n.rotation.x, r.rx, a), n.rotation.y = f.MathUtils.lerp(n.rotation.y, r.ry, a), n.rotation.z = f.MathUtils.lerp(n.rotation.z, r.rz, a), n.position.x = f.MathUtils.lerp(n.position.x, r.ox, a), n.position.y = f.MathUtils.lerp(n.position.y, r.oy, a);
63
63
  });
64
- let D = r(() => f ? "#e4b643" : "#ffffff", [f]), O = (e) => {
64
+ let D = r(() => p ? "#e4b643" : "#ffffff", [p]), O = (e) => {
65
65
  e.stopPropagation();
66
66
  let t = e.uv;
67
67
  if (!t) return;
68
- let n = m.MathUtils.clamp((t.x - .5) * 2, -1, 1), r = m.MathUtils.clamp((t.y - .5) * 2, -1, 1);
68
+ let n = f.MathUtils.clamp((t.x - .5) * 2, -1, 1), r = f.MathUtils.clamp((t.y - .5) * 2, -1, 1);
69
69
  x.current.ry = -n * g.MAX_TILT_Y, x.current.rx = r * g.MAX_TILT_X, x.current.rz = -n * r * g.TWIST_Z, x.current.ox = n * g.MAX_SHIFT, x.current.oy = -r * g.MAX_SHIFT * .65;
70
70
  }, k = () => {
71
71
  x.current = {
@@ -87,7 +87,7 @@ var v = n(function({ sprite: e, position: t = [
87
87
  children: [/* @__PURE__ */ s("mesh", {
88
88
  visible: !1,
89
89
  onClick: (e) => {
90
- e.stopPropagation(), p?.();
90
+ e.stopPropagation(), m?.();
91
91
  },
92
92
  onPointerMove: O,
93
93
  onPointerEnter: (e) => {
@@ -104,7 +104,7 @@ var v = n(function({ sprite: e, position: t = [
104
104
  }), /* @__PURE__ */ s("group", {
105
105
  ref: b,
106
106
  children: [
107
- f && /* @__PURE__ */ o("pointLight", {
107
+ p && /* @__PURE__ */ o("pointLight", {
108
108
  color: D,
109
109
  intensity: 1.5,
110
110
  distance: 1,
@@ -185,9 +185,9 @@ function b({ sprite: e, width: t = 3.4, height: n = 4.5, yLockOnly: i = !1, posi
185
185
  0,
186
186
  0
187
187
  ] }) {
188
- let s = l(m.TextureLoader, e.atlasPath), c = r(() => {
188
+ let s = l(f.TextureLoader, e.atlasPath), c = r(() => {
189
189
  let t = s.clone();
190
- return t.magFilter = m.NearestFilter, t.minFilter = m.NearestFilter, t.repeat.set(1 / e.gridCols, 1 / e.gridRows), t.offset.set(e.gridCol / e.gridCols, 1 - (e.gridRow + 1) / e.gridRows), t.needsUpdate = !0, t;
190
+ return t.magFilter = f.NearestFilter, t.minFilter = f.NearestFilter, t.repeat.set(1 / e.gridCols, 1 / e.gridRows), t.offset.set(e.gridCol / e.gridCols, 1 - (e.gridRow + 1) / e.gridRows), t.needsUpdate = !0, t;
191
191
  }, [
192
192
  s,
193
193
  e.gridCol,
@@ -195,13 +195,13 @@ function b({ sprite: e, width: t = 3.4, height: n = 4.5, yLockOnly: i = !1, posi
195
195
  e.gridCols,
196
196
  e.gridRows
197
197
  ]);
198
- return /* @__PURE__ */ o(f, {
198
+ return /* @__PURE__ */ o(p, {
199
199
  lockY: i,
200
200
  lockX: !1,
201
201
  lockZ: !1,
202
202
  position: a,
203
203
  children: /* @__PURE__ */ o("mesh", {
204
- material: r(() => new m.MeshBasicMaterial({
204
+ material: r(() => new f.MeshBasicMaterial({
205
205
  map: c,
206
206
  transparent: !0,
207
207
  alphaTest: .5
@@ -217,7 +217,7 @@ function x({ children: n, color: r = e.WHITE, outlineColor: i = e.BLACK, outline
217
217
  0,
218
218
  0
219
219
  ], fontSize: c = 1 }) {
220
- return /* @__PURE__ */ o(p, {
220
+ return /* @__PURE__ */ o(m, {
221
221
  position: s,
222
222
  fontSize: c,
223
223
  color: r,