jaml-ui 0.27.0 → 0.28.1
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.
- package/README.md +11 -6
- package/dist/assets/{searchPoolWorker-CejAnH4a.js → searchPoolWorker-BtlROziN.js} +9 -4
- package/dist/assets/searchPoolWorker-BtlROziN.js.map +1 -0
- package/dist/chunks/Layer-BBPJFHfs.js.map +1 -1
- package/dist/chunks/assets-RWUiFSTc.js.map +1 -1
- package/dist/chunks/motelyItemDecoder-BvFrQpaI.js +2061 -0
- package/dist/chunks/motelyItemDecoder-BvFrQpaI.js.map +1 -0
- package/dist/chunks/{searchPoolWorker-CTtPOuxF.js → searchPoolWorker-D1xR43D2.js} +2 -2
- package/dist/chunks/searchPoolWorker-D1xR43D2.js.map +1 -0
- package/dist/chunks/spriteMapper-CFjN0_TV.js.map +1 -1
- package/dist/chunks/tokens-B65Fzble.js.map +1 -1
- package/dist/chunks/ui-BEtq_JNg.js +3229 -0
- package/dist/chunks/ui-BEtq_JNg.js.map +1 -0
- package/dist/components/JamlAestheticSelector.d.ts +2 -3
- package/dist/components/JamlIdeToolbar.d.ts +3 -1
- package/dist/components/JamlSeedInput.d.ts +14 -4
- package/dist/components/JamlSeedSpinner.d.ts +7 -0
- package/dist/components/Jamlyzer.d.ts +5 -1
- package/dist/components/RunConfigModal.d.ts +1 -1
- package/dist/components/jamlSeedUtils.d.ts +1 -0
- package/dist/config.d.ts +5 -4
- package/dist/core.js.map +1 -1
- package/dist/decode/motelyItemFormats.d.ts +3124 -0
- package/dist/hooks/useIntersectionObserver.d.ts +1 -1
- package/dist/hooks/useMotelyRuntime.d.ts +1 -1
- package/dist/hooks/useSearch.d.ts +3 -3
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3297 -3259
- package/dist/index.js.map +1 -1
- package/dist/lib/hooks/useDragScroll.d.ts +1 -1
- package/dist/motely.d.ts +2 -2
- package/dist/motely.js +23 -22
- package/dist/motely.js.map +1 -1
- package/dist/r3f.js.map +1 -1
- package/dist/ui/JimboPanelSpinner.d.ts +15 -0
- package/dist/ui/footer.d.ts +7 -1
- package/dist/ui/hooks.d.ts +2 -2
- package/dist/ui/jimbo.css +1 -1
- package/dist/ui.d.ts +2 -0
- package/dist/ui.js +3 -3
- package/jaml.schema.json +1219 -1165
- package/package.json +20 -22
- package/DESIGN.md +0 -236
- package/dist/assets/searchPoolWorker-CejAnH4a.js.map +0 -1
- package/dist/chunks/motelyItemDecoder-CRhfNIGU.js +0 -219
- package/dist/chunks/motelyItemDecoder-CRhfNIGU.js.map +0 -1
- package/dist/chunks/searchPoolWorker-CTtPOuxF.js.map +0 -1
- package/dist/chunks/ui-BBUfR6RM.js +0 -1386
- package/dist/chunks/ui-BBUfR6RM.js.map +0 -1
- package/dist/motelyBoot.d.ts +0 -15
- package/dist/ui/ide/DeckSprite.d.ts +0 -1
- package/dist/ui/ide/RegexTool.d.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motelyItemDecoder-BvFrQpaI.js","names":[],"sources":["../../src/hooks/useJamlLibrary.ts","../../src/hooks/useMotelyRuntime.ts","../../src/decode/motelyItemFormats.ts","../../src/decode/motelyItemDecoder.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useState } from \"react\";\nimport bootsharp, { Motely } from \"motely-wasm\";\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;\n\ntry {\n fileSystemPackage = await import(\"@rewaffle/bootsharp-file-system\");\n fileSystemPackage.init(IFileMounter);\n} catch (error) {\n fileSystemInitError = error;\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\nasync function ensureMotelyReady(): Promise<void> {\n if (bootsharp.getStatus() === bootsharp.BootStatus.Standby) {\n await bootsharp.boot(\"/motely-wasm/bin\");\n }\n}\n\nexport function useJamlLibrary(): UseJamlLibraryState {\n const isFileSystemReady = fileSystemPackage !== null;\n const [status, setStatus] = useState<JamlLibraryStatus>(() => isFileSystemReady ? \"idle\" : \"unsupported\");\n const [rootId, setRootId] = useState<string | null>(null);\n const [files, setFiles] = useState<string[]>([]);\n const [error, setError] = useState<string | null>(() =>\n isFileSystemReady ? null : errorMessage(fileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"),\n );\n\n const refresh = useCallback(() => {\n if (!rootId) return;\n setFiles((prev) => [...prev]);\n }, [rootId]);\n\n const mount = useCallback(async () => {\n if (!isFileSystemReady) {\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 }, [isFileSystemReady]);\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","\"use client\";\n\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport bootsharp from \"motely-wasm\";\n\nexport type MotelyRuntimeStatus = \"idle\" | \"booting\" | \"ready\" | \"error\";\n\nexport interface UseMotelyRuntimeState {\n status: MotelyRuntimeStatus;\n ready: boolean;\n error: string | null;\n fsReady: boolean;\n fsError: string | null;\n ensureReady: () => Promise<void>;\n}\n\nfunction currentStatus(): MotelyRuntimeStatus {\n switch (bootsharp.getStatus()) {\n case bootsharp.BootStatus.Booted:\n return \"ready\";\n case bootsharp.BootStatus.Booting:\n return \"booting\";\n default:\n return \"idle\";\n }\n}\n\nexport function useMotelyRuntime(): UseMotelyRuntimeState {\n const [status, setStatus] = useState<MotelyRuntimeStatus>(() => currentStatus());\n const [error, setError] = useState<string | null>(null);\n const ensureReady = useCallback(async () => {\n try {\n setError(null);\n setStatus(currentStatus());\n if (bootsharp.getStatus() === bootsharp.BootStatus.Standby) {\n setStatus(\"booting\");\n await bootsharp.boot(\"/motely-wasm/bin\");\n }\n setStatus(currentStatus());\n } catch (err) {\n setStatus(\"error\");\n setError(err instanceof Error ? err.message : String(err));\n throw err;\n }\n }, []);\n\n return useMemo(\n () => ({\n status,\n ready: status === \"ready\",\n error,\n fsReady: false,\n fsError: null,\n ensureReady,\n }),\n [error, ensureReady, status],\n );\n}\n\nexport function useMotelyRuntimeOwner(): void {\n const { ensureReady } = useMotelyRuntime();\n\n useEffect(() => {\n void ensureReady();\n }, [ensureReady]);\n}\n","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"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//#region src/hooks/searchPoolWorker.ts?worker
|
|
2
2
|
function e(e) {
|
|
3
|
-
return new Worker("/assets/searchPoolWorker-
|
|
3
|
+
return new Worker("/assets/searchPoolWorker-BtlROziN.js", { name: e?.name });
|
|
4
4
|
}
|
|
5
5
|
//#endregion
|
|
6
6
|
export { e as default };
|
|
7
7
|
|
|
8
|
-
//# sourceMappingURL=searchPoolWorker-
|
|
8
|
+
//# sourceMappingURL=searchPoolWorker-D1xR43D2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchPoolWorker-D1xR43D2.js","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spriteMapper-CFjN0_TV.js","names":[],"sources":["../../src/sprites/spriteData.ts","../../src/sprites/spriteMapper.ts"],"sourcesContent":["/**\r\n * Sprite sheet position data for all Balatro game elements.\r\n * Extracted from Blueprint's const.ts — maps item names to {x, y} grid positions\r\n * within their respective sprite sheets.\r\n */\r\n\r\nimport { JAML_ASSET_FILES, resolveJamlAssetUrl, type JamlAssetKey } from \"../assets.js\";\r\n\r\nexport interface SpritePos {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface SpriteEntry {\r\n name: string;\r\n pos: SpritePos;\r\n animated?: boolean;\r\n}\r\n\r\nexport interface SpriteSheetInfo {\r\n readonly asset: JamlAssetKey;\r\n readonly fileName: string;\r\n readonly columns: number;\r\n readonly rows: number;\r\n readonly src: string;\r\n}\r\n\r\nfunction defineSpriteSheet(asset: JamlAssetKey, columns: number, rows: number): SpriteSheetInfo {\r\n return {\r\n asset,\r\n fileName: JAML_ASSET_FILES[asset],\r\n columns,\r\n rows,\r\n get src() {\r\n return resolveJamlAssetUrl(asset);\r\n },\r\n };\r\n}\r\n\r\n/** Sprite sheet grid dimensions */\r\nexport const SPRITE_SHEETS = {\r\n jokers: defineSpriteSheet(\"jokers\", 10, 16),\r\n tarots: defineSpriteSheet(\"tarots\", 10, 6),\r\n deck: defineSpriteSheet(\"deck\", 13, 4),\r\n enhancers: defineSpriteSheet(\"enhancers\", 7, 5),\r\n editions: defineSpriteSheet(\"editions\", 5, 1),\r\n stickers: defineSpriteSheet(\"stickers\", 5, 3),\r\n blinds: defineSpriteSheet(\"blinds\", 21, 31),\r\n vouchers: defineSpriteSheet(\"vouchers\", 9, 4),\r\n tags: defineSpriteSheet(\"tags\", 6, 5),\r\n boosters: defineSpriteSheet(\"boosters\", 4, 9),\r\n stakes: defineSpriteSheet(\"stakes\", 5, 2),\r\n} as const;\r\n\r\nexport const JOKERS: SpriteEntry[] = [\r\n { name: \"Joker\", pos: { x: 0, y: 0 } }, { name: \"Greedy Joker\", pos: { x: 6, y: 1 } }, { name: \"Lusty Joker\", pos: { x: 7, y: 1 } }, { name: \"Wrathful Joker\", pos: { x: 8, y: 1 } }, { name: \"Gluttonous Joker\", pos: { x: 9, y: 1 } }, { name: \"Jolly Joker\", pos: { x: 2, y: 0 } }, { name: \"Zany Joker\", pos: { x: 3, y: 0 } }, { name: \"Mad Joker\", pos: { x: 4, y: 0 } }, { name: \"Crazy Joker\", pos: { x: 5, y: 0 } }, { name: \"Droll Joker\", pos: { x: 6, y: 0 } }, { name: \"Sly Joker\", pos: { x: 0, y: 14 } }, { name: \"Wily Joker\", pos: { x: 1, y: 14 } }, { name: \"Clever Joker\", pos: { x: 2, y: 14 } }, { name: \"Devious Joker\", pos: { x: 3, y: 14 } }, { name: \"Crafty Joker\", pos: { x: 4, y: 14 } }, { name: \"Half Joker\", pos: { x: 7, y: 0 } }, { name: \"Joker Stencil\", pos: { x: 2, y: 5 } }, { name: \"Four Fingers\", pos: { x: 6, y: 6 } }, { name: \"Mime\", pos: { x: 4, y: 1 } }, { name: \"Credit Card\", pos: { x: 5, y: 1 } }, { name: \"Ceremonial Dagger\", pos: { x: 5, y: 5 } }, { name: \"Banner\", pos: { x: 1, y: 2 } }, { name: \"Mystic Summit\", pos: { x: 2, y: 2 } }, { name: \"Marble Joker\", pos: { x: 3, y: 2 } }, { name: \"Loyalty Card\", pos: { x: 4, y: 2 } }, { name: \"8 Ball\", pos: { x: 0, y: 5 } }, { name: \"Misprint\", pos: { x: 6, y: 2 } }, { name: \"Dusk\", pos: { x: 4, y: 7 } }, { name: \"Raised Fist\", pos: { x: 8, y: 2 } }, { name: \"Chaos the Clown\", pos: { x: 1, y: 0 } }, { name: \"Fibonacci\", pos: { x: 1, y: 5 } }, { name: \"Steel Joker\", pos: { x: 7, y: 2 } }, { name: \"Scary Face\", pos: { x: 2, y: 3 } }, { name: \"Abstract Joker\", pos: { x: 3, y: 3 } }, { name: \"Delayed Gratification\", pos: { x: 4, y: 3 } }, { name: \"Hack\", pos: { x: 5, y: 2 } }, { name: \"Pareidolia\", pos: { x: 6, y: 3 } }, { name: \"Gros Michel\", pos: { x: 7, y: 6 } }, { name: \"Even Steven\", pos: { x: 8, y: 3 } }, { name: \"Odd Todd\", pos: { x: 9, y: 3 } }, { name: \"Scholar\", pos: { x: 3, y: 6 } }, { name: \"Business Card\", pos: { x: 1, y: 4 } }, { name: \"Supernova\", pos: { x: 2, y: 4 } }, { name: \"Ride the Bus\", pos: { x: 1, y: 6 } }, { name: \"Space Joker\", pos: { x: 3, y: 5 } }, { name: \"Egg\", pos: { x: 0, y: 10 } }, { name: \"Burglar\", pos: { x: 1, y: 10 } }, { name: \"Blackboard\", pos: { x: 2, y: 10 } }, { name: \"Runner\", pos: { x: 3, y: 10 } }, { name: \"Ice Cream\", pos: { x: 4, y: 10 } }, { name: \"DNA\", pos: { x: 5, y: 10 } }, { name: \"Splash\", pos: { x: 6, y: 10 } }, { name: \"Blue Joker\", pos: { x: 7, y: 10 } }, { name: \"Sixth Sense\", pos: { x: 8, y: 10 } }, { name: \"Constellation\", pos: { x: 9, y: 10 } }, { name: \"Hiker\", pos: { x: 0, y: 11 } }, { name: \"Faceless Joker\", pos: { x: 1, y: 11 } }, { name: \"Green Joker\", pos: { x: 2, y: 11 } }, { name: \"Superposition\", pos: { x: 3, y: 11 } }, { name: \"To Do List\", pos: { x: 4, y: 11 } }, { name: \"Cavendish\", pos: { x: 5, y: 11 } }, { name: \"Card Sharp\", pos: { x: 6, y: 11 } }, { name: \"Red Card\", pos: { x: 7, y: 11 } }, { name: \"Madness\", pos: { x: 8, y: 11 } }, { name: \"Square Joker\", pos: { x: 9, y: 11 } }, { name: \"Seance\", pos: { x: 0, y: 12 } }, { name: \"Riff-raff\", pos: { x: 1, y: 12 } }, { name: \"Vampire\", pos: { x: 2, y: 12 } }, { name: \"Shortcut\", pos: { x: 3, y: 12 } }, { name: \"Hologram\", pos: { x: 4, y: 12 } }, { name: \"Vagabond\", pos: { x: 5, y: 12 } }, { name: \"Baron\", pos: { x: 6, y: 12 } }, { name: \"Cloud 9\", pos: { x: 7, y: 12 } }, { name: \"Rocket\", pos: { x: 8, y: 12 } }, { name: \"Obelisk\", pos: { x: 9, y: 12 } }, { name: \"Midas Mask\", pos: { x: 0, y: 13 } }, { name: \"Luchador\", pos: { x: 1, y: 13 } }, { name: \"Photograph\", pos: { x: 2, y: 13 } }, { name: \"Gift Card\", pos: { x: 3, y: 13 } }, { name: \"Turtle Bean\", pos: { x: 4, y: 13 } }, { name: \"Erosion\", pos: { x: 5, y: 13 } }, { name: \"Reserved Parking\", pos: { x: 6, y: 13 } }, { name: \"Mail In Rebate\", pos: { x: 7, y: 13 } }, { name: \"To the Moon\", pos: { x: 8, y: 13 } }, { name: \"Hallucination\", pos: { x: 9, y: 13 } }, { name: \"Fortune Teller\", pos: { x: 7, y: 5 } }, { name: \"Juggler\", pos: { x: 0, y: 1 } }, { name: \"Drunkard\", pos: { x: 1, y: 1 } }, { name: \"Stone Joker\", pos: { x: 9, y: 0 } }, { name: \"Golden Joker\", pos: { x: 9, y: 2 } }, { name: \"Lucky Cat\", pos: { x: 5, y: 14 } }, { name: \"Baseball Card\", pos: { x: 6, y: 14 } }, { name: \"Bull\", pos: { x: 7, y: 14 } }, { name: \"Diet Cola\", pos: { x: 8, y: 14 } }, { name: \"Trading Card\", pos: { x: 9, y: 14 } }, { name: \"Flash Card\", pos: { x: 0, y: 15 } }, { name: \"Popcorn\", pos: { x: 1, y: 15 } }, { name: \"Spare Trousers\", pos: { x: 4, y: 15 } }, { name: \"Ancient Joker\", pos: { x: 7, y: 15 } }, { name: \"Ramen\", pos: { x: 2, y: 15 } }, { name: \"Walkie Talkie\", pos: { x: 8, y: 15 } }, { name: \"Seltzer\", pos: { x: 3, y: 15 } }, { name: \"Castle\", pos: { x: 9, y: 15 } }, { name: \"Smiley Face\", pos: { x: 6, y: 15 } }, { name: \"Campfire\", pos: { x: 5, y: 15 } }, { name: \"Golden Ticket\", pos: { x: 5, y: 3 } }, { name: \"Mr. Bones\", pos: { x: 3, y: 4 } }, { name: \"Acrobat\", pos: { x: 2, y: 1 } }, { name: \"Sock and Buskin\", pos: { x: 3, y: 1 } }, { name: \"Swashbuckler\", pos: { x: 9, y: 5 } }, { name: \"Troubadour\", pos: { x: 0, y: 2 } }, { name: \"Certificate\", pos: { x: 8, y: 8 } }, { name: \"Smeared Joker\", pos: { x: 4, y: 6 } }, { name: \"Throwback\", pos: { x: 5, y: 7 } }, { name: \"Hanging Chad\", pos: { x: 9, y: 6 } }, { name: \"Rough Gem\", pos: { x: 9, y: 7 } }, { name: \"Bloodstone\", pos: { x: 0, y: 8 } }, { name: \"Arrowhead\", pos: { x: 1, y: 8 } }, { name: \"Onyx Agate\", pos: { x: 2, y: 8 } }, { name: \"Glass Joker\", pos: { x: 1, y: 3 } }, { name: \"Showman\", pos: { x: 6, y: 5 } }, { name: \"Flower Pot\", pos: { x: 0, y: 6 } }, { name: \"Blueprint\", pos: { x: 0, y: 3 } }, { name: \"Wee Joker\", pos: { x: 0, y: 4 } }, { name: \"Merry Andy\", pos: { x: 8, y: 0 } }, { name: \"Oops! All 6s\", pos: { x: 5, y: 6 } }, { name: \"The Idol\", pos: { x: 6, y: 7 } }, { name: \"Seeing Double\", pos: { x: 4, y: 4 } }, { name: \"Matador\", pos: { x: 4, y: 5 } }, { name: \"Hit the Road\", pos: { x: 8, y: 5 } }, { name: \"The Duo\", pos: { x: 5, y: 4 } }, { name: \"The Trio\", pos: { x: 6, y: 4 } }, { name: \"The Family\", pos: { x: 7, y: 4 } }, { name: \"The Order\", pos: { x: 8, y: 4 } }, { name: \"The Tribe\", pos: { x: 9, y: 4 } }, { name: \"Stuntman\", pos: { x: 8, y: 6 } }, { name: \"Invisible Joker\", pos: { x: 1, y: 7 } }, { name: \"Brainstorm\", pos: { x: 7, y: 7 } }, { name: \"Satellite\", pos: { x: 8, y: 7 } }, { name: \"Shoot the Moon\", pos: { x: 2, y: 6 } }, { name: \"Drivers License\", pos: { x: 0, y: 7 } }, { name: \"Cartomancer\", pos: { x: 7, y: 3 } }, { name: \"Astronomer\", pos: { x: 2, y: 7 } }, { name: \"Burnt Joker\", pos: { x: 3, y: 7 } }, { name: \"Bootstraps\", pos: { x: 9, y: 8 } }, { name: \"Canio\", pos: { x: 3, y: 8 } }, { name: \"Triboulet\", pos: { x: 4, y: 8 } }, { name: \"Yorick\", pos: { x: 5, y: 8 } }, { name: \"Chicot\", pos: { x: 6, y: 8 } }, { name: \"Perkeo\", pos: { x: 7, y: 8 } },\r\n];\r\n\r\nexport const JOKER_FACES: SpriteEntry[] = [\r\n { name: \"Hologram\", pos: { x: 2, y: 9 }, animated: true },\r\n { name: \"Canio\", pos: { x: 3, y: 9 }, animated: true },\r\n { name: \"Triboulet\", pos: { x: 4, y: 9 }, animated: true },\r\n { name: \"Yorick\", pos: { x: 5, y: 9 }, animated: true },\r\n { name: \"Chicot\", pos: { x: 6, y: 9 }, animated: true },\r\n { name: \"Perkeo\", pos: { x: 7, y: 9 }, animated: true },\r\n];\r\n\r\nexport const CONSUMABLE_FACES: SpriteEntry[] = [\r\n { name: \"The Soul\", pos: { x: 0, y: 1 }, animated: true },\r\n];\r\n\r\nexport const TAROTS_AND_PLANETS: SpriteEntry[] = [\r\n { name: \"The Fool\", pos: { x: 0, y: 0 } }, { name: \"The Magician\", pos: { x: 1, y: 0 } }, { name: \"The High Priestess\", pos: { x: 2, y: 0 } }, { name: \"The Empress\", pos: { x: 3, y: 0 } }, { name: \"The Emperor\", pos: { x: 4, y: 0 } }, { name: \"The Hierophant\", pos: { x: 5, y: 0 } }, { name: \"The Lovers\", pos: { x: 6, y: 0 } }, { name: \"The Chariot\", pos: { x: 7, y: 0 } }, { name: \"Justice\", pos: { x: 8, y: 0 } }, { name: \"The Hermit\", pos: { x: 9, y: 0 } }, { name: \"The Wheel of Fortune\", pos: { x: 0, y: 1 } }, { name: \"Strength\", pos: { x: 1, y: 1 } }, { name: \"The Hanged Man\", pos: { x: 2, y: 1 } }, { name: \"Death\", pos: { x: 3, y: 1 } }, { name: \"Temperance\", pos: { x: 4, y: 1 } }, { name: \"The Devil\", pos: { x: 5, y: 1 } }, { name: \"The Tower\", pos: { x: 6, y: 1 } }, { name: \"The Star\", pos: { x: 7, y: 1 } }, { name: \"The Moon\", pos: { x: 8, y: 1 } }, { name: \"The Sun\", pos: { x: 9, y: 1 } }, { name: \"Judgement\", pos: { x: 0, y: 2 } }, { name: \"The World\", pos: { x: 1, y: 2 } }, { name: \"Mercury\", pos: { x: 0, y: 3 } }, { name: \"Venus\", pos: { x: 1, y: 3 } }, { name: \"Earth\", pos: { x: 2, y: 3 } }, { name: \"Mars\", pos: { x: 3, y: 3 } }, { name: \"Jupiter\", pos: { x: 4, y: 3 } }, { name: \"Saturn\", pos: { x: 5, y: 3 } }, { name: \"Uranus\", pos: { x: 6, y: 3 } }, { name: \"Neptune\", pos: { x: 7, y: 3 } }, { name: \"Pluto\", pos: { x: 8, y: 3 } }, { name: \"Planet X\", pos: { x: 9, y: 2 } }, { name: \"Ceres\", pos: { x: 8, y: 2 } }, { name: \"Eris\", pos: { x: 3, y: 2 } }, { name: \"Familiar\", pos: { x: 0, y: 4 } }, { name: \"Grim\", pos: { x: 1, y: 4 } }, { name: \"Incantation\", pos: { x: 2, y: 4 } }, { name: \"Talisman\", pos: { x: 3, y: 4 } }, { name: \"Aura\", pos: { x: 4, y: 4 } }, { name: \"Wraith\", pos: { x: 5, y: 4 } }, { name: \"Sigil\", pos: { x: 6, y: 4 } }, { name: \"Ouija\", pos: { x: 7, y: 4 } }, { name: \"Ectoplasm\", pos: { x: 8, y: 4 } }, { name: \"Immolate\", pos: { x: 9, y: 4 } }, { name: \"Ankh\", pos: { x: 0, y: 5 } }, { name: \"Deja Vu\", pos: { x: 1, y: 5 } }, { name: \"Hex\", pos: { x: 2, y: 5 } }, { name: \"Trance\", pos: { x: 3, y: 5 } }, { name: \"Medium\", pos: { x: 4, y: 5 } }, { name: \"Cryptid\", pos: { x: 5, y: 5 } }, { name: \"The Soul\", pos: { x: 2, y: 2 } }, { name: \"Black Hole\", pos: { x: 9, y: 3 } },\r\n];\r\n\r\nexport const TAGS: SpriteEntry[] = [\r\n { name: \"Uncommon Tag\", pos: { x: 0, y: 0 } }, { name: \"Rare Tag\", pos: { x: 1, y: 0 } }, { name: \"Negative Tag\", pos: { x: 2, y: 0 } }, { name: \"Foil Tag\", pos: { x: 3, y: 0 } }, { name: \"Holographic Tag\", pos: { x: 0, y: 1 } }, { name: \"Polychrome Tag\", pos: { x: 1, y: 1 } }, { name: \"Investment Tag\", pos: { x: 2, y: 1 } }, { name: \"Voucher Tag\", pos: { x: 3, y: 1 } }, { name: \"Boss Tag\", pos: { x: 0, y: 2 } }, { name: \"Standard Tag\", pos: { x: 1, y: 2 } }, { name: \"Charm Tag\", pos: { x: 2, y: 2 } }, { name: \"Meteor Tag\", pos: { x: 3, y: 2 } }, { name: \"Buffoon Tag\", pos: { x: 4, y: 2 } }, { name: \"Handy Tag\", pos: { x: 1, y: 3 } }, { name: \"Garbage Tag\", pos: { x: 2, y: 3 } }, { name: \"Ethereal Tag\", pos: { x: 3, y: 3 } }, { name: \"Coupon Tag\", pos: { x: 4, y: 0 } }, { name: \"Double Tag\", pos: { x: 5, y: 0 } }, { name: \"Juggle Tag\", pos: { x: 5, y: 1 } }, { name: \"D6 Tag\", pos: { x: 5, y: 3 } }, { name: \"Top-up Tag\", pos: { x: 4, y: 1 } }, { name: \"Speed Tag\", pos: { x: 0, y: 3 } }, { name: \"Orbital Tag\", pos: { x: 5, y: 2 } }, { name: \"Economy Tag\", pos: { x: 4, y: 3 } },\r\n];\r\n\r\nexport const VOUCHERS: SpriteEntry[] = [\r\n { name: \"Overstock\", pos: { x: 0, y: 0 } }, { name: \"Clearance Sale\", pos: { x: 3, y: 0 } }, { name: \"Hone\", pos: { x: 4, y: 0 } }, { name: \"Reroll Surplus\", pos: { x: 0, y: 2 } }, { name: \"Crystal Ball\", pos: { x: 2, y: 2 } }, { name: \"Telescope\", pos: { x: 3, y: 2 } }, { name: \"Grabber\", pos: { x: 5, y: 0 } }, { name: \"Wasteful\", pos: { x: 6, y: 0 } }, { name: \"Tarot Merchant\", pos: { x: 1, y: 0 } }, { name: \"Planet Merchant\", pos: { x: 2, y: 0 } }, { name: \"Seed Money\", pos: { x: 1, y: 2 } }, { name: \"Blank\", pos: { x: 7, y: 0 } }, { name: \"Magic Trick\", pos: { x: 4, y: 2 } }, { name: \"Hieroglyph\", pos: { x: 5, y: 2 } }, { name: \"Director's Cut\", pos: { x: 6, y: 2 } }, { name: \"Paint Brush\", pos: { x: 7, y: 2 } }, { name: \"Overstock Plus\", pos: { x: 0, y: 1 } }, { name: \"Liquidation\", pos: { x: 3, y: 1 } }, { name: \"Glow Up\", pos: { x: 4, y: 1 } }, { name: \"Reroll Glut\", pos: { x: 0, y: 3 } }, { name: \"Omen Globe\", pos: { x: 2, y: 3 } }, { name: \"Observatory\", pos: { x: 3, y: 3 } }, { name: \"Nacho Tong\", pos: { x: 5, y: 1 } }, { name: \"Recyclomancy\", pos: { x: 6, y: 1 } }, { name: \"Tarot Tycoon\", pos: { x: 1, y: 1 } }, { name: \"Planet Tycoon\", pos: { x: 2, y: 1 } }, { name: \"Money Tree\", pos: { x: 1, y: 3 } }, { name: \"Antimatter\", pos: { x: 7, y: 1 } }, { name: \"Illusion\", pos: { x: 4, y: 3 } }, { name: \"Petroglyph\", pos: { x: 5, y: 3 } }, { name: \"Retcon\", pos: { x: 6, y: 3 } }, { name: \"Palette\", pos: { x: 7, y: 3 } },\r\n];\r\n\r\nexport const BOSSES: SpriteEntry[] = [\r\n { name: \"Small Blind\", pos: { x: 0, y: 0 } }, { name: \"Big Blind\", pos: { x: 0, y: 1 } }, { name: \"The Ox\", pos: { x: 0, y: 2 } }, { name: \"The Hook\", pos: { x: 0, y: 7 } }, { name: \"The Mouth\", pos: { x: 0, y: 18 } }, { name: \"The Fish\", pos: { x: 0, y: 5 } }, { name: \"The Club\", pos: { x: 0, y: 4 } }, { name: \"The Manacle\", pos: { x: 0, y: 8 } }, { name: \"The Tooth\", pos: { x: 0, y: 22 } }, { name: \"The Wall\", pos: { x: 0, y: 9 } }, { name: \"The House\", pos: { x: 0, y: 3 } }, { name: \"The Mark\", pos: { x: 0, y: 23 } }, { name: \"Cerulean Bell\", pos: { x: 0, y: 26 } }, { name: \"The Wheel\", pos: { x: 0, y: 10 } }, { name: \"The Arm\", pos: { x: 0, y: 11 } }, { name: \"The Psychic\", pos: { x: 0, y: 12 } }, { name: \"The Goad\", pos: { x: 0, y: 13 } }, { name: \"The Water\", pos: { x: 0, y: 14 } }, { name: \"The Eye\", pos: { x: 0, y: 17 } }, { name: \"The Plant\", pos: { x: 0, y: 19 } }, { name: \"The Needle\", pos: { x: 0, y: 20 } }, { name: \"The Head\", pos: { x: 0, y: 21 } }, { name: \"Verdant Leaf\", pos: { x: 0, y: 28 } }, { name: \"Violet Vessel\", pos: { x: 0, y: 29 } }, { name: \"The Window\", pos: { x: 0, y: 6 } }, { name: \"The Serpent\", pos: { x: 0, y: 15 } }, { name: \"The Pillar\", pos: { x: 0, y: 16 } }, { name: \"The Flint\", pos: { x: 0, y: 24 } }, { name: \"Amber Acorn\", pos: { x: 0, y: 27 } }, { name: \"Crimson Heart\", pos: { x: 0, y: 25 } },\r\n];\r\n\r\nexport const BOOSTER_PACKS: SpriteEntry[] = [\r\n { name: \"Arcana Pack\", pos: { x: 0, y: 0 } }, { name: \"Celestial Pack\", pos: { x: 0, y: 1 } }, { name: \"Jumbo Arcana Pack\", pos: { x: 0, y: 2 } }, { name: \"Mega Arcana Pack\", pos: { x: 2, y: 2 } }, { name: \"Jumbo Celestial Pack\", pos: { x: 0, y: 3 } }, { name: \"Mega Celestial Pack\", pos: { x: 2, y: 3 } }, { name: \"Spectral Pack\", pos: { x: 0, y: 4 } }, { name: \"Jumbo Spectral Pack\", pos: { x: 2, y: 4 } }, { name: \"Mega Spectral Pack\", pos: { x: 3, y: 4 } }, { name: \"Standard Pack\", pos: { x: 0, y: 6 } }, { name: \"Jumbo Standard Pack\", pos: { x: 0, y: 7 } }, { name: \"Mega Standard Pack\", pos: { x: 2, y: 7 } }, { name: \"Buffoon Pack\", pos: { x: 0, y: 8 } }, { name: \"Jumbo Buffoon Pack\", pos: { x: 2, y: 8 } }, { name: \"Mega Buffoon Pack\", pos: { x: 3, y: 8 } },\r\n];\r\n\r\nexport const EDITION_MAP: Record<string, number> = {\r\n Foil: 1,\r\n Holographic: 2,\r\n Polychrome: 3,\r\n};\r\n\r\nexport const STICKER_MAP: Record<string, SpritePos> = {\r\n Eternal: { x: 0, y: 0 },\r\n Perishable: { x: 0, y: 2 },\r\n Rental: { x: 1, y: 2 },\r\n};\r\n\r\nexport const RANK_MAP: Record<string, number> = {\r\n \"2\": 0, \"3\": 1, \"4\": 2, \"5\": 3, \"6\": 4, \"7\": 5, \"8\": 6, \"9\": 7, \"10\": 8, Jack: 9, Queen: 10, King: 11, Ace: 12,\r\n};\r\n\r\nexport const SUIT_MAP: Record<string, number> = {\r\n Hearts: 0, Clubs: 1, Diamonds: 2, Spades: 3,\r\n};\r\n\r\nexport const ENHANCER_MAP: Record<string, SpritePos> = {\r\n Bonus: { x: 1, y: 1 }, Mult: { x: 2, y: 1 }, Wild: { x: 3, y: 1 }, Glass: { x: 5, y: 1 }, Steel: { x: 6, y: 1 }, Stone: { x: 5, y: 0 }, Gold: { x: 6, y: 0 }, Lucky: { x: 4, y: 1 },\r\n};\r\n\r\nexport const SEAL_MAP: Record<string, SpritePos> = {\r\n \"Gold Seal\": { x: 2, y: 0 }, \"Purple Seal\": { x: 4, y: 4 }, \"Red Seal\": { x: 5, y: 4 }, \"Blue Seal\": { x: 6, y: 4 },\r\n Gold: { x: 2, y: 0 }, Purple: { x: 4, y: 4 }, Red: { x: 5, y: 4 }, Blue: { x: 6, y: 4 },\r\n};\r\n\r\n/** Build fast lookup maps */\r\nconst jokerMap = new Map(JOKERS.map((j) => [j.name, j]));\r\nconst jokerFaceMap = new Map(JOKER_FACES.map((j) => [j.name, j]));\r\nconst consumableMap = new Map(TAROTS_AND_PLANETS.map((t) => [t.name, t]));\r\nconst consumableFaceMap = new Map(CONSUMABLE_FACES.map((c) => [c.name, c]));\r\nconst tagMap = new Map(TAGS.map((t) => [t.name, t]));\r\nconst voucherMap = new Map(VOUCHERS.map((v) => [v.name, v]));\r\nconst bossMap = new Map(BOSSES.map((b) => [b.name, b]));\r\nconst boosterMap = new Map(BOOSTER_PACKS.map((b) => [b.name, b]));\r\n\r\nexport function findJoker(name: string) { return jokerMap.get(name); }\r\nexport function findJokerFace(name: string) { return jokerFaceMap.get(name); }\r\nexport function findConsumable(name: string) { return consumableMap.get(name); }\r\nexport function findConsumableFace(name: string) { return consumableFaceMap.get(name); }\r\nexport function findTag(name: string) { return tagMap.get(name); }\r\nexport function findVoucher(name: string) { return voucherMap.get(name); }\r\nexport function findBoss(name: string) { return bossMap.get(name); }\r\nexport function findBooster(name: string) { return boosterMap.get(name); }\r\n","import {\r\n JOKERS, JOKER_FACES, TAROTS_AND_PLANETS, CONSUMABLE_FACES,\r\n VOUCHERS, BOSSES, TAGS, BOOSTER_PACKS,\r\n type SpriteEntry,\r\n} from \"./spriteData.js\";\r\n\r\nexport interface SpritePos {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport type SpriteSheetType =\r\n | \"Jokers\" | \"Tarots\" | \"Vouchers\" | \"Boosters\"\r\n | \"Enhancers\" | \"Editions\" | \"BlindChips\" | \"tags\"\r\n | \"Stakes\" | \"Decks\";\r\n\r\nimport type { JamlAssetKey } from '../assets.js';\r\n\r\nexport const SHEET_META: Record<SpriteSheetType, { cols: number; rows: number; assetKey: JamlAssetKey }> = {\r\n Jokers: { cols: 10, rows: 16, assetKey: 'jokers' },\r\n Tarots: { cols: 10, rows: 6, assetKey: 'tarots' },\r\n Vouchers: { cols: 9, rows: 4, assetKey: 'vouchers' },\r\n Boosters: { cols: 4, rows: 9, assetKey: 'boosters' },\r\n BlindChips:{ cols: 21, rows: 31, assetKey: 'blinds' },\r\n tags: { cols: 6, rows: 5, assetKey: 'tags' },\r\n Enhancers: { cols: 7, rows: 5, assetKey: 'enhancers' },\r\n Editions: { cols: 5, rows: 1, assetKey: 'editions' },\r\n Stakes: { cols: 5, rows: 2, assetKey: 'stakes' },\r\n Decks: { cols: 13, rows: 4, assetKey: 'deck' },\r\n};\r\n\r\nexport interface SpriteData {\r\n pos: SpritePos;\r\n type: SpriteSheetType;\r\n}\r\n\r\nconst normalize = (name: string): string => name.toLowerCase().replace(/\\s+/g, \"\");\r\nconst stripPrefix = (name: string): string =>\r\n name.replace(/^(Joker|Tarot|Planet|Voucher|Pack|Edition|Tag) [|:] /i, \"\").trim();\r\n\r\nconst ITEM_MAP = new Map<string, SpriteData>();\r\n\r\nfunction registerAll(items: SpriteEntry[], type: SpriteSheetType) {\r\n for (const item of items) {\r\n if (!item.name || !item.pos) continue;\r\n ITEM_MAP.set(normalize(item.name), { pos: item.pos, type });\r\n }\r\n}\r\n\r\nregisterAll(JOKERS, \"Jokers\");\r\nregisterAll(JOKER_FACES, \"Jokers\");\r\nregisterAll(TAROTS_AND_PLANETS, \"Tarots\");\r\nregisterAll(CONSUMABLE_FACES ?? [], \"Tarots\");\r\nregisterAll(VOUCHERS, \"Vouchers\");\r\nregisterAll(BOSSES, \"BlindChips\");\r\nregisterAll(TAGS, \"tags\");\r\nregisterAll(BOOSTER_PACKS ?? [], \"Boosters\");\r\n\r\n/**\r\n * Per-sheet mystery/back card positions for unknown items.\r\n * Used as fallback when an item name can't be resolved.\r\n */\r\nexport const MYSTERY_SPRITES: Partial<Record<SpriteSheetType, SpritePos>> = {\r\n Jokers: { x: 9, y: 9 }, // grey card back (legendary face row)\r\n Tarots: { x: 4, y: 2 }, // blank consumable\r\n Vouchers: { x: 8, y: 2 }, // mystery voucher\r\n Boosters: { x: 0, y: 5 }, // grey empty pack\r\n tags: { x: 3, y: 4 }, // grey ? tag\r\n BlindChips: { x: 0, y: 30 }, // grey ? blind\r\n};\r\n\r\n/** Get the mystery/fallback sprite for a given sheet type. */\r\nexport function getMysterySprite(sheet: SpriteSheetType): SpriteData {\r\n return { pos: MYSTERY_SPRITES[sheet] ?? { x: 0, y: 0 }, type: sheet };\r\n}\r\n\r\n/** Look up sprite data by name. Accepts display names (\"Icy Joker\"), enum keys (\"IcyJoker\"), and \"Joker | Name\" prefixed forms. */\r\nexport function getSpriteData(name: string): SpriteData | null {\r\n return ITEM_MAP.get(normalize(stripPrefix(name))) ?? ITEM_MAP.get(normalize(name)) ?? null;\r\n}\r\n\r\n/**\r\n * Wildcard \"Any\" sprites from the Enhancers sheet.\r\n * Used in the JAML visual editor when a clause value is \"Any\" (e.g. `legendaryJoker: Any`).\r\n */\r\nexport const WILDCARD_SPRITES = {\r\n /** Grey silhouette — Enhancers row 3 col 5. For generic \"Any\" items. */\r\n anySilhouette: { pos: { x: 5, y: 3 }, type: \"Enhancers\" as SpriteSheetType },\r\n /** Grey ? circle — Enhancers row 3 col 6. For \"boss: Any\" etc. */\r\n anyMystery: { pos: { x: 6, y: 3 }, type: \"Enhancers\" as SpriteSheetType },\r\n /** Red X debuff — Editions row 0 col 4. For mustNot zone indicator. */\r\n mustNotDebuff: { pos: { x: 4, y: 0 }, type: \"Editions\" as SpriteSheetType },\r\n /** The Soul card — Tarots row 2 col 2. Base for \"legendaryJoker: Any\" (they spawn from Soul). */\r\n anyLegendary: { pos: { x: 2, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank spectral back — Tarots row 2 col 5. For \"spectralCard: Any\". */\r\n anySpectral: { pos: { x: 5, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank tarot back — Tarots row 2 col 6. For \"tarotCard: Any\". */\r\n anyTarot: { pos: { x: 6, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank planet back — Tarots row 2 col 7. For \"planetCard: Any\". */\r\n anyPlanet: { pos: { x: 7, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n} as const;\r\n\r\n/** Look up sprite data by name, falling back to the mystery card for the given sheet if not found. */\r\nexport function getSpriteDataOrMystery(name: string, fallbackSheet: SpriteSheetType = \"Jokers\"): SpriteData {\r\n return getSpriteData(name) ?? getMysterySprite(fallbackSheet);\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spriteMapper-CFjN0_TV.js","names":[],"sources":["../../src/sprites/spriteData.ts","../../src/sprites/spriteMapper.ts"],"sourcesContent":["/**\r\n * Sprite sheet position data for all Balatro game elements.\r\n * Extracted from Blueprint's const.ts — maps item names to {x, y} grid positions\r\n * within their respective sprite sheets.\r\n */\r\n\r\nimport { JAML_ASSET_FILES, resolveJamlAssetUrl, type JamlAssetKey } from \"../assets.js\";\r\n\r\nexport interface SpritePos {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface SpriteEntry {\r\n name: string;\r\n pos: SpritePos;\r\n animated?: boolean;\r\n}\r\n\r\nexport interface SpriteSheetInfo {\r\n readonly asset: JamlAssetKey;\r\n readonly fileName: string;\r\n readonly columns: number;\r\n readonly rows: number;\r\n readonly src: string;\r\n}\r\n\r\nfunction defineSpriteSheet(asset: JamlAssetKey, columns: number, rows: number): SpriteSheetInfo {\r\n return {\r\n asset,\r\n fileName: JAML_ASSET_FILES[asset],\r\n columns,\r\n rows,\r\n get src() {\r\n return resolveJamlAssetUrl(asset);\r\n },\r\n };\r\n}\r\n\r\n/** Sprite sheet grid dimensions */\r\nexport const SPRITE_SHEETS = {\r\n jokers: defineSpriteSheet(\"jokers\", 10, 16),\r\n tarots: defineSpriteSheet(\"tarots\", 10, 6),\r\n deck: defineSpriteSheet(\"deck\", 13, 4),\r\n enhancers: defineSpriteSheet(\"enhancers\", 7, 5),\r\n editions: defineSpriteSheet(\"editions\", 5, 1),\r\n stickers: defineSpriteSheet(\"stickers\", 5, 3),\r\n blinds: defineSpriteSheet(\"blinds\", 21, 31),\r\n vouchers: defineSpriteSheet(\"vouchers\", 9, 4),\r\n tags: defineSpriteSheet(\"tags\", 6, 5),\r\n boosters: defineSpriteSheet(\"boosters\", 4, 9),\r\n stakes: defineSpriteSheet(\"stakes\", 5, 2),\r\n} as const;\r\n\r\nexport const JOKERS: SpriteEntry[] = [\r\n { name: \"Joker\", pos: { x: 0, y: 0 } }, { name: \"Greedy Joker\", pos: { x: 6, y: 1 } }, { name: \"Lusty Joker\", pos: { x: 7, y: 1 } }, { name: \"Wrathful Joker\", pos: { x: 8, y: 1 } }, { name: \"Gluttonous Joker\", pos: { x: 9, y: 1 } }, { name: \"Jolly Joker\", pos: { x: 2, y: 0 } }, { name: \"Zany Joker\", pos: { x: 3, y: 0 } }, { name: \"Mad Joker\", pos: { x: 4, y: 0 } }, { name: \"Crazy Joker\", pos: { x: 5, y: 0 } }, { name: \"Droll Joker\", pos: { x: 6, y: 0 } }, { name: \"Sly Joker\", pos: { x: 0, y: 14 } }, { name: \"Wily Joker\", pos: { x: 1, y: 14 } }, { name: \"Clever Joker\", pos: { x: 2, y: 14 } }, { name: \"Devious Joker\", pos: { x: 3, y: 14 } }, { name: \"Crafty Joker\", pos: { x: 4, y: 14 } }, { name: \"Half Joker\", pos: { x: 7, y: 0 } }, { name: \"Joker Stencil\", pos: { x: 2, y: 5 } }, { name: \"Four Fingers\", pos: { x: 6, y: 6 } }, { name: \"Mime\", pos: { x: 4, y: 1 } }, { name: \"Credit Card\", pos: { x: 5, y: 1 } }, { name: \"Ceremonial Dagger\", pos: { x: 5, y: 5 } }, { name: \"Banner\", pos: { x: 1, y: 2 } }, { name: \"Mystic Summit\", pos: { x: 2, y: 2 } }, { name: \"Marble Joker\", pos: { x: 3, y: 2 } }, { name: \"Loyalty Card\", pos: { x: 4, y: 2 } }, { name: \"8 Ball\", pos: { x: 0, y: 5 } }, { name: \"Misprint\", pos: { x: 6, y: 2 } }, { name: \"Dusk\", pos: { x: 4, y: 7 } }, { name: \"Raised Fist\", pos: { x: 8, y: 2 } }, { name: \"Chaos the Clown\", pos: { x: 1, y: 0 } }, { name: \"Fibonacci\", pos: { x: 1, y: 5 } }, { name: \"Steel Joker\", pos: { x: 7, y: 2 } }, { name: \"Scary Face\", pos: { x: 2, y: 3 } }, { name: \"Abstract Joker\", pos: { x: 3, y: 3 } }, { name: \"Delayed Gratification\", pos: { x: 4, y: 3 } }, { name: \"Hack\", pos: { x: 5, y: 2 } }, { name: \"Pareidolia\", pos: { x: 6, y: 3 } }, { name: \"Gros Michel\", pos: { x: 7, y: 6 } }, { name: \"Even Steven\", pos: { x: 8, y: 3 } }, { name: \"Odd Todd\", pos: { x: 9, y: 3 } }, { name: \"Scholar\", pos: { x: 3, y: 6 } }, { name: \"Business Card\", pos: { x: 1, y: 4 } }, { name: \"Supernova\", pos: { x: 2, y: 4 } }, { name: \"Ride the Bus\", pos: { x: 1, y: 6 } }, { name: \"Space Joker\", pos: { x: 3, y: 5 } }, { name: \"Egg\", pos: { x: 0, y: 10 } }, { name: \"Burglar\", pos: { x: 1, y: 10 } }, { name: \"Blackboard\", pos: { x: 2, y: 10 } }, { name: \"Runner\", pos: { x: 3, y: 10 } }, { name: \"Ice Cream\", pos: { x: 4, y: 10 } }, { name: \"DNA\", pos: { x: 5, y: 10 } }, { name: \"Splash\", pos: { x: 6, y: 10 } }, { name: \"Blue Joker\", pos: { x: 7, y: 10 } }, { name: \"Sixth Sense\", pos: { x: 8, y: 10 } }, { name: \"Constellation\", pos: { x: 9, y: 10 } }, { name: \"Hiker\", pos: { x: 0, y: 11 } }, { name: \"Faceless Joker\", pos: { x: 1, y: 11 } }, { name: \"Green Joker\", pos: { x: 2, y: 11 } }, { name: \"Superposition\", pos: { x: 3, y: 11 } }, { name: \"To Do List\", pos: { x: 4, y: 11 } }, { name: \"Cavendish\", pos: { x: 5, y: 11 } }, { name: \"Card Sharp\", pos: { x: 6, y: 11 } }, { name: \"Red Card\", pos: { x: 7, y: 11 } }, { name: \"Madness\", pos: { x: 8, y: 11 } }, { name: \"Square Joker\", pos: { x: 9, y: 11 } }, { name: \"Seance\", pos: { x: 0, y: 12 } }, { name: \"Riff-raff\", pos: { x: 1, y: 12 } }, { name: \"Vampire\", pos: { x: 2, y: 12 } }, { name: \"Shortcut\", pos: { x: 3, y: 12 } }, { name: \"Hologram\", pos: { x: 4, y: 12 } }, { name: \"Vagabond\", pos: { x: 5, y: 12 } }, { name: \"Baron\", pos: { x: 6, y: 12 } }, { name: \"Cloud 9\", pos: { x: 7, y: 12 } }, { name: \"Rocket\", pos: { x: 8, y: 12 } }, { name: \"Obelisk\", pos: { x: 9, y: 12 } }, { name: \"Midas Mask\", pos: { x: 0, y: 13 } }, { name: \"Luchador\", pos: { x: 1, y: 13 } }, { name: \"Photograph\", pos: { x: 2, y: 13 } }, { name: \"Gift Card\", pos: { x: 3, y: 13 } }, { name: \"Turtle Bean\", pos: { x: 4, y: 13 } }, { name: \"Erosion\", pos: { x: 5, y: 13 } }, { name: \"Reserved Parking\", pos: { x: 6, y: 13 } }, { name: \"Mail In Rebate\", pos: { x: 7, y: 13 } }, { name: \"To the Moon\", pos: { x: 8, y: 13 } }, { name: \"Hallucination\", pos: { x: 9, y: 13 } }, { name: \"Fortune Teller\", pos: { x: 7, y: 5 } }, { name: \"Juggler\", pos: { x: 0, y: 1 } }, { name: \"Drunkard\", pos: { x: 1, y: 1 } }, { name: \"Stone Joker\", pos: { x: 9, y: 0 } }, { name: \"Golden Joker\", pos: { x: 9, y: 2 } }, { name: \"Lucky Cat\", pos: { x: 5, y: 14 } }, { name: \"Baseball Card\", pos: { x: 6, y: 14 } }, { name: \"Bull\", pos: { x: 7, y: 14 } }, { name: \"Diet Cola\", pos: { x: 8, y: 14 } }, { name: \"Trading Card\", pos: { x: 9, y: 14 } }, { name: \"Flash Card\", pos: { x: 0, y: 15 } }, { name: \"Popcorn\", pos: { x: 1, y: 15 } }, { name: \"Spare Trousers\", pos: { x: 4, y: 15 } }, { name: \"Ancient Joker\", pos: { x: 7, y: 15 } }, { name: \"Ramen\", pos: { x: 2, y: 15 } }, { name: \"Walkie Talkie\", pos: { x: 8, y: 15 } }, { name: \"Seltzer\", pos: { x: 3, y: 15 } }, { name: \"Castle\", pos: { x: 9, y: 15 } }, { name: \"Smiley Face\", pos: { x: 6, y: 15 } }, { name: \"Campfire\", pos: { x: 5, y: 15 } }, { name: \"Golden Ticket\", pos: { x: 5, y: 3 } }, { name: \"Mr. Bones\", pos: { x: 3, y: 4 } }, { name: \"Acrobat\", pos: { x: 2, y: 1 } }, { name: \"Sock and Buskin\", pos: { x: 3, y: 1 } }, { name: \"Swashbuckler\", pos: { x: 9, y: 5 } }, { name: \"Troubadour\", pos: { x: 0, y: 2 } }, { name: \"Certificate\", pos: { x: 8, y: 8 } }, { name: \"Smeared Joker\", pos: { x: 4, y: 6 } }, { name: \"Throwback\", pos: { x: 5, y: 7 } }, { name: \"Hanging Chad\", pos: { x: 9, y: 6 } }, { name: \"Rough Gem\", pos: { x: 9, y: 7 } }, { name: \"Bloodstone\", pos: { x: 0, y: 8 } }, { name: \"Arrowhead\", pos: { x: 1, y: 8 } }, { name: \"Onyx Agate\", pos: { x: 2, y: 8 } }, { name: \"Glass Joker\", pos: { x: 1, y: 3 } }, { name: \"Showman\", pos: { x: 6, y: 5 } }, { name: \"Flower Pot\", pos: { x: 0, y: 6 } }, { name: \"Blueprint\", pos: { x: 0, y: 3 } }, { name: \"Wee Joker\", pos: { x: 0, y: 4 } }, { name: \"Merry Andy\", pos: { x: 8, y: 0 } }, { name: \"Oops! All 6s\", pos: { x: 5, y: 6 } }, { name: \"The Idol\", pos: { x: 6, y: 7 } }, { name: \"Seeing Double\", pos: { x: 4, y: 4 } }, { name: \"Matador\", pos: { x: 4, y: 5 } }, { name: \"Hit the Road\", pos: { x: 8, y: 5 } }, { name: \"The Duo\", pos: { x: 5, y: 4 } }, { name: \"The Trio\", pos: { x: 6, y: 4 } }, { name: \"The Family\", pos: { x: 7, y: 4 } }, { name: \"The Order\", pos: { x: 8, y: 4 } }, { name: \"The Tribe\", pos: { x: 9, y: 4 } }, { name: \"Stuntman\", pos: { x: 8, y: 6 } }, { name: \"Invisible Joker\", pos: { x: 1, y: 7 } }, { name: \"Brainstorm\", pos: { x: 7, y: 7 } }, { name: \"Satellite\", pos: { x: 8, y: 7 } }, { name: \"Shoot the Moon\", pos: { x: 2, y: 6 } }, { name: \"Drivers License\", pos: { x: 0, y: 7 } }, { name: \"Cartomancer\", pos: { x: 7, y: 3 } }, { name: \"Astronomer\", pos: { x: 2, y: 7 } }, { name: \"Burnt Joker\", pos: { x: 3, y: 7 } }, { name: \"Bootstraps\", pos: { x: 9, y: 8 } }, { name: \"Canio\", pos: { x: 3, y: 8 } }, { name: \"Triboulet\", pos: { x: 4, y: 8 } }, { name: \"Yorick\", pos: { x: 5, y: 8 } }, { name: \"Chicot\", pos: { x: 6, y: 8 } }, { name: \"Perkeo\", pos: { x: 7, y: 8 } },\r\n];\r\n\r\nexport const JOKER_FACES: SpriteEntry[] = [\r\n { name: \"Hologram\", pos: { x: 2, y: 9 }, animated: true },\r\n { name: \"Canio\", pos: { x: 3, y: 9 }, animated: true },\r\n { name: \"Triboulet\", pos: { x: 4, y: 9 }, animated: true },\r\n { name: \"Yorick\", pos: { x: 5, y: 9 }, animated: true },\r\n { name: \"Chicot\", pos: { x: 6, y: 9 }, animated: true },\r\n { name: \"Perkeo\", pos: { x: 7, y: 9 }, animated: true },\r\n];\r\n\r\nexport const CONSUMABLE_FACES: SpriteEntry[] = [\r\n { name: \"The Soul\", pos: { x: 0, y: 1 }, animated: true },\r\n];\r\n\r\nexport const TAROTS_AND_PLANETS: SpriteEntry[] = [\r\n { name: \"The Fool\", pos: { x: 0, y: 0 } }, { name: \"The Magician\", pos: { x: 1, y: 0 } }, { name: \"The High Priestess\", pos: { x: 2, y: 0 } }, { name: \"The Empress\", pos: { x: 3, y: 0 } }, { name: \"The Emperor\", pos: { x: 4, y: 0 } }, { name: \"The Hierophant\", pos: { x: 5, y: 0 } }, { name: \"The Lovers\", pos: { x: 6, y: 0 } }, { name: \"The Chariot\", pos: { x: 7, y: 0 } }, { name: \"Justice\", pos: { x: 8, y: 0 } }, { name: \"The Hermit\", pos: { x: 9, y: 0 } }, { name: \"The Wheel of Fortune\", pos: { x: 0, y: 1 } }, { name: \"Strength\", pos: { x: 1, y: 1 } }, { name: \"The Hanged Man\", pos: { x: 2, y: 1 } }, { name: \"Death\", pos: { x: 3, y: 1 } }, { name: \"Temperance\", pos: { x: 4, y: 1 } }, { name: \"The Devil\", pos: { x: 5, y: 1 } }, { name: \"The Tower\", pos: { x: 6, y: 1 } }, { name: \"The Star\", pos: { x: 7, y: 1 } }, { name: \"The Moon\", pos: { x: 8, y: 1 } }, { name: \"The Sun\", pos: { x: 9, y: 1 } }, { name: \"Judgement\", pos: { x: 0, y: 2 } }, { name: \"The World\", pos: { x: 1, y: 2 } }, { name: \"Mercury\", pos: { x: 0, y: 3 } }, { name: \"Venus\", pos: { x: 1, y: 3 } }, { name: \"Earth\", pos: { x: 2, y: 3 } }, { name: \"Mars\", pos: { x: 3, y: 3 } }, { name: \"Jupiter\", pos: { x: 4, y: 3 } }, { name: \"Saturn\", pos: { x: 5, y: 3 } }, { name: \"Uranus\", pos: { x: 6, y: 3 } }, { name: \"Neptune\", pos: { x: 7, y: 3 } }, { name: \"Pluto\", pos: { x: 8, y: 3 } }, { name: \"Planet X\", pos: { x: 9, y: 2 } }, { name: \"Ceres\", pos: { x: 8, y: 2 } }, { name: \"Eris\", pos: { x: 3, y: 2 } }, { name: \"Familiar\", pos: { x: 0, y: 4 } }, { name: \"Grim\", pos: { x: 1, y: 4 } }, { name: \"Incantation\", pos: { x: 2, y: 4 } }, { name: \"Talisman\", pos: { x: 3, y: 4 } }, { name: \"Aura\", pos: { x: 4, y: 4 } }, { name: \"Wraith\", pos: { x: 5, y: 4 } }, { name: \"Sigil\", pos: { x: 6, y: 4 } }, { name: \"Ouija\", pos: { x: 7, y: 4 } }, { name: \"Ectoplasm\", pos: { x: 8, y: 4 } }, { name: \"Immolate\", pos: { x: 9, y: 4 } }, { name: \"Ankh\", pos: { x: 0, y: 5 } }, { name: \"Deja Vu\", pos: { x: 1, y: 5 } }, { name: \"Hex\", pos: { x: 2, y: 5 } }, { name: \"Trance\", pos: { x: 3, y: 5 } }, { name: \"Medium\", pos: { x: 4, y: 5 } }, { name: \"Cryptid\", pos: { x: 5, y: 5 } }, { name: \"The Soul\", pos: { x: 2, y: 2 } }, { name: \"Black Hole\", pos: { x: 9, y: 3 } },\r\n];\r\n\r\nexport const TAGS: SpriteEntry[] = [\r\n { name: \"Uncommon Tag\", pos: { x: 0, y: 0 } }, { name: \"Rare Tag\", pos: { x: 1, y: 0 } }, { name: \"Negative Tag\", pos: { x: 2, y: 0 } }, { name: \"Foil Tag\", pos: { x: 3, y: 0 } }, { name: \"Holographic Tag\", pos: { x: 0, y: 1 } }, { name: \"Polychrome Tag\", pos: { x: 1, y: 1 } }, { name: \"Investment Tag\", pos: { x: 2, y: 1 } }, { name: \"Voucher Tag\", pos: { x: 3, y: 1 } }, { name: \"Boss Tag\", pos: { x: 0, y: 2 } }, { name: \"Standard Tag\", pos: { x: 1, y: 2 } }, { name: \"Charm Tag\", pos: { x: 2, y: 2 } }, { name: \"Meteor Tag\", pos: { x: 3, y: 2 } }, { name: \"Buffoon Tag\", pos: { x: 4, y: 2 } }, { name: \"Handy Tag\", pos: { x: 1, y: 3 } }, { name: \"Garbage Tag\", pos: { x: 2, y: 3 } }, { name: \"Ethereal Tag\", pos: { x: 3, y: 3 } }, { name: \"Coupon Tag\", pos: { x: 4, y: 0 } }, { name: \"Double Tag\", pos: { x: 5, y: 0 } }, { name: \"Juggle Tag\", pos: { x: 5, y: 1 } }, { name: \"D6 Tag\", pos: { x: 5, y: 3 } }, { name: \"Top-up Tag\", pos: { x: 4, y: 1 } }, { name: \"Speed Tag\", pos: { x: 0, y: 3 } }, { name: \"Orbital Tag\", pos: { x: 5, y: 2 } }, { name: \"Economy Tag\", pos: { x: 4, y: 3 } },\r\n];\r\n\r\nexport const VOUCHERS: SpriteEntry[] = [\r\n { name: \"Overstock\", pos: { x: 0, y: 0 } }, { name: \"Clearance Sale\", pos: { x: 3, y: 0 } }, { name: \"Hone\", pos: { x: 4, y: 0 } }, { name: \"Reroll Surplus\", pos: { x: 0, y: 2 } }, { name: \"Crystal Ball\", pos: { x: 2, y: 2 } }, { name: \"Telescope\", pos: { x: 3, y: 2 } }, { name: \"Grabber\", pos: { x: 5, y: 0 } }, { name: \"Wasteful\", pos: { x: 6, y: 0 } }, { name: \"Tarot Merchant\", pos: { x: 1, y: 0 } }, { name: \"Planet Merchant\", pos: { x: 2, y: 0 } }, { name: \"Seed Money\", pos: { x: 1, y: 2 } }, { name: \"Blank\", pos: { x: 7, y: 0 } }, { name: \"Magic Trick\", pos: { x: 4, y: 2 } }, { name: \"Hieroglyph\", pos: { x: 5, y: 2 } }, { name: \"Director's Cut\", pos: { x: 6, y: 2 } }, { name: \"Paint Brush\", pos: { x: 7, y: 2 } }, { name: \"Overstock Plus\", pos: { x: 0, y: 1 } }, { name: \"Liquidation\", pos: { x: 3, y: 1 } }, { name: \"Glow Up\", pos: { x: 4, y: 1 } }, { name: \"Reroll Glut\", pos: { x: 0, y: 3 } }, { name: \"Omen Globe\", pos: { x: 2, y: 3 } }, { name: \"Observatory\", pos: { x: 3, y: 3 } }, { name: \"Nacho Tong\", pos: { x: 5, y: 1 } }, { name: \"Recyclomancy\", pos: { x: 6, y: 1 } }, { name: \"Tarot Tycoon\", pos: { x: 1, y: 1 } }, { name: \"Planet Tycoon\", pos: { x: 2, y: 1 } }, { name: \"Money Tree\", pos: { x: 1, y: 3 } }, { name: \"Antimatter\", pos: { x: 7, y: 1 } }, { name: \"Illusion\", pos: { x: 4, y: 3 } }, { name: \"Petroglyph\", pos: { x: 5, y: 3 } }, { name: \"Retcon\", pos: { x: 6, y: 3 } }, { name: \"Palette\", pos: { x: 7, y: 3 } },\r\n];\r\n\r\nexport const BOSSES: SpriteEntry[] = [\r\n { name: \"Small Blind\", pos: { x: 0, y: 0 } }, { name: \"Big Blind\", pos: { x: 0, y: 1 } }, { name: \"The Ox\", pos: { x: 0, y: 2 } }, { name: \"The Hook\", pos: { x: 0, y: 7 } }, { name: \"The Mouth\", pos: { x: 0, y: 18 } }, { name: \"The Fish\", pos: { x: 0, y: 5 } }, { name: \"The Club\", pos: { x: 0, y: 4 } }, { name: \"The Manacle\", pos: { x: 0, y: 8 } }, { name: \"The Tooth\", pos: { x: 0, y: 22 } }, { name: \"The Wall\", pos: { x: 0, y: 9 } }, { name: \"The House\", pos: { x: 0, y: 3 } }, { name: \"The Mark\", pos: { x: 0, y: 23 } }, { name: \"Cerulean Bell\", pos: { x: 0, y: 26 } }, { name: \"The Wheel\", pos: { x: 0, y: 10 } }, { name: \"The Arm\", pos: { x: 0, y: 11 } }, { name: \"The Psychic\", pos: { x: 0, y: 12 } }, { name: \"The Goad\", pos: { x: 0, y: 13 } }, { name: \"The Water\", pos: { x: 0, y: 14 } }, { name: \"The Eye\", pos: { x: 0, y: 17 } }, { name: \"The Plant\", pos: { x: 0, y: 19 } }, { name: \"The Needle\", pos: { x: 0, y: 20 } }, { name: \"The Head\", pos: { x: 0, y: 21 } }, { name: \"Verdant Leaf\", pos: { x: 0, y: 28 } }, { name: \"Violet Vessel\", pos: { x: 0, y: 29 } }, { name: \"The Window\", pos: { x: 0, y: 6 } }, { name: \"The Serpent\", pos: { x: 0, y: 15 } }, { name: \"The Pillar\", pos: { x: 0, y: 16 } }, { name: \"The Flint\", pos: { x: 0, y: 24 } }, { name: \"Amber Acorn\", pos: { x: 0, y: 27 } }, { name: \"Crimson Heart\", pos: { x: 0, y: 25 } },\r\n];\r\n\r\nexport const BOOSTER_PACKS: SpriteEntry[] = [\r\n { name: \"Arcana Pack\", pos: { x: 0, y: 0 } }, { name: \"Celestial Pack\", pos: { x: 0, y: 1 } }, { name: \"Jumbo Arcana Pack\", pos: { x: 0, y: 2 } }, { name: \"Mega Arcana Pack\", pos: { x: 2, y: 2 } }, { name: \"Jumbo Celestial Pack\", pos: { x: 0, y: 3 } }, { name: \"Mega Celestial Pack\", pos: { x: 2, y: 3 } }, { name: \"Spectral Pack\", pos: { x: 0, y: 4 } }, { name: \"Jumbo Spectral Pack\", pos: { x: 2, y: 4 } }, { name: \"Mega Spectral Pack\", pos: { x: 3, y: 4 } }, { name: \"Standard Pack\", pos: { x: 0, y: 6 } }, { name: \"Jumbo Standard Pack\", pos: { x: 0, y: 7 } }, { name: \"Mega Standard Pack\", pos: { x: 2, y: 7 } }, { name: \"Buffoon Pack\", pos: { x: 0, y: 8 } }, { name: \"Jumbo Buffoon Pack\", pos: { x: 2, y: 8 } }, { name: \"Mega Buffoon Pack\", pos: { x: 3, y: 8 } },\r\n];\r\n\r\nexport const EDITION_MAP: Record<string, number> = {\r\n Foil: 1,\r\n Holographic: 2,\r\n Polychrome: 3,\r\n};\r\n\r\nexport const STICKER_MAP: Record<string, SpritePos> = {\r\n Eternal: { x: 0, y: 0 },\r\n Perishable: { x: 0, y: 2 },\r\n Rental: { x: 1, y: 2 },\r\n};\r\n\r\nexport const RANK_MAP: Record<string, number> = {\r\n \"2\": 0, \"3\": 1, \"4\": 2, \"5\": 3, \"6\": 4, \"7\": 5, \"8\": 6, \"9\": 7, \"10\": 8, Jack: 9, Queen: 10, King: 11, Ace: 12,\r\n};\r\n\r\nexport const SUIT_MAP: Record<string, number> = {\r\n Hearts: 0, Clubs: 1, Diamonds: 2, Spades: 3,\r\n};\r\n\r\nexport const ENHANCER_MAP: Record<string, SpritePos> = {\r\n Bonus: { x: 1, y: 1 }, Mult: { x: 2, y: 1 }, Wild: { x: 3, y: 1 }, Glass: { x: 5, y: 1 }, Steel: { x: 6, y: 1 }, Stone: { x: 5, y: 0 }, Gold: { x: 6, y: 0 }, Lucky: { x: 4, y: 1 },\r\n};\r\n\r\nexport const SEAL_MAP: Record<string, SpritePos> = {\r\n \"Gold Seal\": { x: 2, y: 0 }, \"Purple Seal\": { x: 4, y: 4 }, \"Red Seal\": { x: 5, y: 4 }, \"Blue Seal\": { x: 6, y: 4 },\r\n Gold: { x: 2, y: 0 }, Purple: { x: 4, y: 4 }, Red: { x: 5, y: 4 }, Blue: { x: 6, y: 4 },\r\n};\r\n\r\n/** Build fast lookup maps */\r\nconst jokerMap = new Map(JOKERS.map((j) => [j.name, j]));\r\nconst jokerFaceMap = new Map(JOKER_FACES.map((j) => [j.name, j]));\r\nconst consumableMap = new Map(TAROTS_AND_PLANETS.map((t) => [t.name, t]));\r\nconst consumableFaceMap = new Map(CONSUMABLE_FACES.map((c) => [c.name, c]));\r\nconst tagMap = new Map(TAGS.map((t) => [t.name, t]));\r\nconst voucherMap = new Map(VOUCHERS.map((v) => [v.name, v]));\r\nconst bossMap = new Map(BOSSES.map((b) => [b.name, b]));\r\nconst boosterMap = new Map(BOOSTER_PACKS.map((b) => [b.name, b]));\r\n\r\nexport function findJoker(name: string) { return jokerMap.get(name); }\r\nexport function findJokerFace(name: string) { return jokerFaceMap.get(name); }\r\nexport function findConsumable(name: string) { return consumableMap.get(name); }\r\nexport function findConsumableFace(name: string) { return consumableFaceMap.get(name); }\r\nexport function findTag(name: string) { return tagMap.get(name); }\r\nexport function findVoucher(name: string) { return voucherMap.get(name); }\r\nexport function findBoss(name: string) { return bossMap.get(name); }\r\nexport function findBooster(name: string) { return boosterMap.get(name); }\r\n","import {\r\n JOKERS, JOKER_FACES, TAROTS_AND_PLANETS, CONSUMABLE_FACES,\r\n VOUCHERS, BOSSES, TAGS, BOOSTER_PACKS,\r\n type SpriteEntry,\r\n} from \"./spriteData.js\";\r\n\r\nexport interface SpritePos {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport type SpriteSheetType =\r\n | \"Jokers\" | \"Tarots\" | \"Vouchers\" | \"Boosters\"\r\n | \"Enhancers\" | \"Editions\" | \"BlindChips\" | \"tags\"\r\n | \"Stakes\" | \"Decks\";\r\n\r\nimport type { JamlAssetKey } from '../assets.js';\r\n\r\nexport const SHEET_META: Record<SpriteSheetType, { cols: number; rows: number; assetKey: JamlAssetKey }> = {\r\n Jokers: { cols: 10, rows: 16, assetKey: 'jokers' },\r\n Tarots: { cols: 10, rows: 6, assetKey: 'tarots' },\r\n Vouchers: { cols: 9, rows: 4, assetKey: 'vouchers' },\r\n Boosters: { cols: 4, rows: 9, assetKey: 'boosters' },\r\n BlindChips:{ cols: 21, rows: 31, assetKey: 'blinds' },\r\n tags: { cols: 6, rows: 5, assetKey: 'tags' },\r\n Enhancers: { cols: 7, rows: 5, assetKey: 'enhancers' },\r\n Editions: { cols: 5, rows: 1, assetKey: 'editions' },\r\n Stakes: { cols: 5, rows: 2, assetKey: 'stakes' },\r\n Decks: { cols: 13, rows: 4, assetKey: 'deck' },\r\n};\r\n\r\nexport interface SpriteData {\r\n pos: SpritePos;\r\n type: SpriteSheetType;\r\n}\r\n\r\nconst normalize = (name: string): string => name.toLowerCase().replace(/\\s+/g, \"\");\r\nconst stripPrefix = (name: string): string =>\r\n name.replace(/^(Joker|Tarot|Planet|Voucher|Pack|Edition|Tag) [|:] /i, \"\").trim();\r\n\r\nconst ITEM_MAP = new Map<string, SpriteData>();\r\n\r\nfunction registerAll(items: SpriteEntry[], type: SpriteSheetType) {\r\n for (const item of items) {\r\n if (!item.name || !item.pos) continue;\r\n ITEM_MAP.set(normalize(item.name), { pos: item.pos, type });\r\n }\r\n}\r\n\r\nregisterAll(JOKERS, \"Jokers\");\r\nregisterAll(JOKER_FACES, \"Jokers\");\r\nregisterAll(TAROTS_AND_PLANETS, \"Tarots\");\r\nregisterAll(CONSUMABLE_FACES ?? [], \"Tarots\");\r\nregisterAll(VOUCHERS, \"Vouchers\");\r\nregisterAll(BOSSES, \"BlindChips\");\r\nregisterAll(TAGS, \"tags\");\r\nregisterAll(BOOSTER_PACKS ?? [], \"Boosters\");\r\n\r\n/**\r\n * Per-sheet mystery/back card positions for unknown items.\r\n * Used as fallback when an item name can't be resolved.\r\n */\r\nexport const MYSTERY_SPRITES: Partial<Record<SpriteSheetType, SpritePos>> = {\r\n Jokers: { x: 9, y: 9 }, // grey card back (legendary face row)\r\n Tarots: { x: 4, y: 2 }, // blank consumable\r\n Vouchers: { x: 8, y: 2 }, // mystery voucher\r\n Boosters: { x: 0, y: 5 }, // grey empty pack\r\n tags: { x: 3, y: 4 }, // grey ? tag\r\n BlindChips: { x: 0, y: 30 }, // grey ? blind\r\n};\r\n\r\n/** Get the mystery/fallback sprite for a given sheet type. */\r\nexport function getMysterySprite(sheet: SpriteSheetType): SpriteData {\r\n return { pos: MYSTERY_SPRITES[sheet] ?? { x: 0, y: 0 }, type: sheet };\r\n}\r\n\r\n/** Look up sprite data by name. Accepts display names (\"Icy Joker\"), enum keys (\"IcyJoker\"), and \"Joker | Name\" prefixed forms. */\r\nexport function getSpriteData(name: string): SpriteData | null {\r\n return ITEM_MAP.get(normalize(stripPrefix(name))) ?? ITEM_MAP.get(normalize(name)) ?? null;\r\n}\r\n\r\n/**\r\n * Wildcard \"Any\" sprites from the Enhancers sheet.\r\n * Used in the JAML visual editor when a clause value is \"Any\" (e.g. `legendaryJoker: Any`).\r\n */\r\nexport const WILDCARD_SPRITES = {\r\n /** Grey silhouette — Enhancers row 3 col 5. For generic \"Any\" items. */\r\n anySilhouette: { pos: { x: 5, y: 3 }, type: \"Enhancers\" as SpriteSheetType },\r\n /** Grey ? circle — Enhancers row 3 col 6. For \"boss: Any\" etc. */\r\n anyMystery: { pos: { x: 6, y: 3 }, type: \"Enhancers\" as SpriteSheetType },\r\n /** Red X debuff — Editions row 0 col 4. For mustNot zone indicator. */\r\n mustNotDebuff: { pos: { x: 4, y: 0 }, type: \"Editions\" as SpriteSheetType },\r\n /** The Soul card — Tarots row 2 col 2. Base for \"legendaryJoker: Any\" (they spawn from Soul). */\r\n anyLegendary: { pos: { x: 2, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank spectral back — Tarots row 2 col 5. For \"spectralCard: Any\". */\r\n anySpectral: { pos: { x: 5, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank tarot back — Tarots row 2 col 6. For \"tarotCard: Any\". */\r\n anyTarot: { pos: { x: 6, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank planet back — Tarots row 2 col 7. For \"planetCard: Any\". */\r\n anyPlanet: { pos: { x: 7, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n} as const;\r\n\r\n/** Look up sprite data by name, falling back to the mystery card for the given sheet if not found. */\r\nexport function getSpriteDataOrMystery(name: string, fallbackSheet: SpriteSheetType = \"Jokers\"): SpriteData {\r\n return getSpriteData(name) ?? getMysterySprite(fallbackSheet);\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-B65Fzble.js","names":[],"sources":["../../src/ui/tokens.ts"],"sourcesContent":["/**\r\n * Balatro design tokens — colors eyedropped from actual game pixels.\r\n * Do NOT replace with Lua HEX values; the game's shader pipeline transforms them.\r\n *\r\n * IMPORTANT: For DOM components, use CSS custom properties (--j-red, etc.)\r\n * from jimbo.css. Only use these JS constants for contexts that cannot use\r\n * CSS — such as R3F/Canvas, inline SVG fills, or imperative animation APIs.\r\n */\r\n\r\nexport const JimboColorOption = {\r\n RED: '#ff4c40',\r\n BLUE: '#0093ff',\r\n GREEN: '#429f79',\r\n ORANGE: '#ff9800',\r\n GOLD: '#e4b643',\r\n PURPLE: '#9e74ce',\r\n\r\n DARK_RED: '#a02721',\r\n DARK_BLUE: '#0057a1',\r\n DARK_ORANGE: '#a05b00',\r\n DARK_GREEN: '#215f46',\r\n DARK_PURPLE: '#5e437e',\r\n\r\n DARK_GREY: '#3a5055',\r\n DARKEST: '#1e2b2d',\r\n GREY: '#708386',\r\n TEAL_GREY: '#404c4e',\r\n\r\n PANEL_EDGE: '#1e2e32',\r\n INNER_BORDER: '#334461',\r\n\r\n BORDER_SILVER: '#b9c2d2',\r\n BORDER_SOUTH: '#777e89',\r\n\r\n GOLD_TEXT: '#e4b643',\r\n GREEN_TEXT: '#35bd86',\r\n ORANGE_TEXT: '#ff8f00',\r\n WHITE: '#ffffff',\r\n BLACK: '#000000',\r\n\r\n TAROT_BUTTON: '#9e74ce',\r\n PLANET_BUTTON: '#00a7ca',\r\n SPECTRAL_BUTTON: '#2e76fd',\r\n TAROT_BUTTON_DARK: '#5e437e',\r\n PLANET_BUTTON_DARK: '#00657c',\r\n SPECTRAL_BUTTON_DARK: '#14449e',\r\n} as const\r\n\r\nexport type JimboPaletteColor = keyof typeof JimboColorOption\r\n\r\n/** Convert hex to rgba for inline styles in Canvas/SVG/R3F contexts. */\r\nexport function withAlpha(hex: string, alpha: number): string {\r\n const clean = hex.replace('#', '')\r\n const r = parseInt(clean.slice(0, 2), 16)\r\n const g = parseInt(clean.slice(2, 4), 16)\r\n const b = parseInt(clean.slice(4, 6), 16)\r\n return `rgba(${r}, ${g}, ${b}, ${alpha})`\r\n}\r\n\r\nexport const JIMBO_ANIMATIONS = {\r\n JUICE_UP_SCALE: 1.05,\r\n JUICE_DOWN_SCALE: 1.0,\r\n JUICE_DURATION: 150,\r\n JUICE_EASING: 'cubic-bezier(0.34, 1.56, 0.64, 1)',\r\n SWAY_AMOUNT: 1.5,\r\n SWAY_DURATION: 4000,\r\n PRESS_TRANSLATE_Y: 2,\r\n PRESS_DURATION: 50,\r\n CARD_TILT_MAX: 6,\r\n MENU_SINK_DURATION: 200,\r\n MENU_RISE_DURATION: 300,\r\n MENU_ORBIT_DURATION: 320,\r\n LETTER_POP_RATE: 3,\r\n LETTER_BUMP_RATE: 2.666,\r\n} as const\r\n\r\n"],"mappings":";AASA,IAAa,IAAmB;CAC9B,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,QAAQ;CAER,UAAU;CACV,WAAW;CACX,aAAa;CACb,YAAY;CACZ,aAAa;CAEb,WAAW;CACX,SAAS;CACT,MAAM;CACN,WAAW;CAEX,YAAY;CACZ,cAAc;CAEd,eAAe;CACf,cAAc;CAEd,WAAW;CACX,YAAY;CACZ,aAAa;CACb,OAAO;CACP,OAAO;CAEP,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,oBAAoB;CACpB,sBAAsB;
|
|
1
|
+
{"version":3,"file":"tokens-B65Fzble.js","names":[],"sources":["../../src/ui/tokens.ts"],"sourcesContent":["/**\r\n * Balatro design tokens — colors eyedropped from actual game pixels.\r\n * Do NOT replace with Lua HEX values; the game's shader pipeline transforms them.\r\n *\r\n * IMPORTANT: For DOM components, use CSS custom properties (--j-red, etc.)\r\n * from jimbo.css. Only use these JS constants for contexts that cannot use\r\n * CSS — such as R3F/Canvas, inline SVG fills, or imperative animation APIs.\r\n */\r\n\r\nexport const JimboColorOption = {\r\n RED: '#ff4c40',\r\n BLUE: '#0093ff',\r\n GREEN: '#429f79',\r\n ORANGE: '#ff9800',\r\n GOLD: '#e4b643',\r\n PURPLE: '#9e74ce',\r\n\r\n DARK_RED: '#a02721',\r\n DARK_BLUE: '#0057a1',\r\n DARK_ORANGE: '#a05b00',\r\n DARK_GREEN: '#215f46',\r\n DARK_PURPLE: '#5e437e',\r\n\r\n DARK_GREY: '#3a5055',\r\n DARKEST: '#1e2b2d',\r\n GREY: '#708386',\r\n TEAL_GREY: '#404c4e',\r\n\r\n PANEL_EDGE: '#1e2e32',\r\n INNER_BORDER: '#334461',\r\n\r\n BORDER_SILVER: '#b9c2d2',\r\n BORDER_SOUTH: '#777e89',\r\n\r\n GOLD_TEXT: '#e4b643',\r\n GREEN_TEXT: '#35bd86',\r\n ORANGE_TEXT: '#ff8f00',\r\n WHITE: '#ffffff',\r\n BLACK: '#000000',\r\n\r\n TAROT_BUTTON: '#9e74ce',\r\n PLANET_BUTTON: '#00a7ca',\r\n SPECTRAL_BUTTON: '#2e76fd',\r\n TAROT_BUTTON_DARK: '#5e437e',\r\n PLANET_BUTTON_DARK: '#00657c',\r\n SPECTRAL_BUTTON_DARK: '#14449e',\r\n} as const\r\n\r\nexport type JimboPaletteColor = keyof typeof JimboColorOption\r\n\r\n/** Convert hex to rgba for inline styles in Canvas/SVG/R3F contexts. */\r\nexport function withAlpha(hex: string, alpha: number): string {\r\n const clean = hex.replace('#', '')\r\n const r = parseInt(clean.slice(0, 2), 16)\r\n const g = parseInt(clean.slice(2, 4), 16)\r\n const b = parseInt(clean.slice(4, 6), 16)\r\n return `rgba(${r}, ${g}, ${b}, ${alpha})`\r\n}\r\n\r\nexport const JIMBO_ANIMATIONS = {\r\n JUICE_UP_SCALE: 1.05,\r\n JUICE_DOWN_SCALE: 1.0,\r\n JUICE_DURATION: 150,\r\n JUICE_EASING: 'cubic-bezier(0.34, 1.56, 0.64, 1)',\r\n SWAY_AMOUNT: 1.5,\r\n SWAY_DURATION: 4000,\r\n PRESS_TRANSLATE_Y: 2,\r\n PRESS_DURATION: 50,\r\n CARD_TILT_MAX: 6,\r\n MENU_SINK_DURATION: 200,\r\n MENU_RISE_DURATION: 300,\r\n MENU_ORBIT_DURATION: 320,\r\n LETTER_POP_RATE: 3,\r\n LETTER_BUMP_RATE: 2.666,\r\n} as const\r\n\r\n"],"mappings":";AASA,IAAa,IAAmB;CAC9B,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,QAAQ;CAER,UAAU;CACV,WAAW;CACX,aAAa;CACb,YAAY;CACZ,aAAa;CAEb,WAAW;CACX,SAAS;CACT,MAAM;CACN,WAAW;CAEX,YAAY;CACZ,cAAc;CAEd,eAAe;CACf,cAAc;CAEd,WAAW;CACX,YAAY;CACZ,aAAa;CACb,OAAO;CACP,OAAO;CAEP,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,oBAAoB;CACpB,sBAAsB;AACxB;AAKA,SAAgB,EAAU,GAAa,GAAuB;CAC5D,IAAM,IAAQ,EAAI,QAAQ,KAAK,EAAE;CAIjC,OAAO,QAHG,SAAS,EAAM,MAAM,GAAG,CAAC,GAAG,EAGvB,EAAE,IAFP,SAAS,EAAM,MAAM,GAAG,CAAC,GAAG,EAEjB,EAAE,IADb,SAAS,EAAM,MAAM,GAAG,CAAC,GAAG,EACX,EAAE,IAAI,EAAM;AACzC;AAEA,IAAa,IAAmB;CAC9B,gBAAgB;CAChB,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;CACd,aAAa;CACb,eAAe;CACf,mBAAmB;CACnB,gBAAgB;CAChB,eAAe;CACf,oBAAoB;CACpB,oBAAoB;CACpB,qBAAqB;CACrB,iBAAiB;CACjB,kBAAkB;AACpB"}
|