jaml-ui 2.4.0 → 3.0.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.
Files changed (171) hide show
  1. package/README.md +38 -225
  2. package/dist/chunks/Layer-B5y9UIAt.js +19 -0
  3. package/dist/chunks/Layer-B5y9UIAt.js.map +1 -0
  4. package/dist/chunks/motelySprite-BYsaes3N.js +753 -0
  5. package/dist/chunks/motelySprite-BYsaes3N.js.map +1 -0
  6. package/dist/chunks/spriteMapper-BiDkbZrD.js +480 -0
  7. package/dist/chunks/spriteMapper-BiDkbZrD.js.map +1 -0
  8. package/dist/components/DeckSprite.d.ts +1 -1
  9. package/dist/components/GameCard.d.ts +5 -4
  10. package/dist/components/JamlyzerView.d.ts +9 -0
  11. package/dist/components/StandardCard.d.ts +4 -3
  12. package/dist/core.d.ts +0 -1
  13. package/dist/core.js +38 -23
  14. package/dist/core.js.map +1 -1
  15. package/dist/decode/motelyItemDecoder.d.ts +5 -0
  16. package/dist/index.d.ts +6 -26
  17. package/dist/index.js +3177 -22506
  18. package/dist/index.js.map +1 -1
  19. package/dist/json-render/builders/analyzer.d.ts +23 -0
  20. package/dist/json-render/builders/encyclopedia.d.ts +14 -0
  21. package/dist/json-render/builders/search.d.ts +24 -0
  22. package/dist/json-render/catalog.d.ts +204 -0
  23. package/dist/json-render/components/domain.d.ts +58 -0
  24. package/dist/json-render/components/game.d.ts +18 -0
  25. package/dist/json-render/components/layout.d.ts +51 -0
  26. package/dist/json-render/components/mascot.d.ts +22 -0
  27. package/dist/json-render/components/reference.d.ts +38 -0
  28. package/dist/json-render/engine.d.ts +38 -0
  29. package/dist/json-render/index.d.ts +30 -0
  30. package/dist/json-render/knowledge/bosses.d.ts +18 -0
  31. package/dist/json-render/knowledge/decks.d.ts +22 -0
  32. package/dist/json-render/knowledge/jokers.d.ts +23 -0
  33. package/dist/json-render/knowledge/synergies.d.ts +21 -0
  34. package/dist/json-render/registry.d.ts +14 -0
  35. package/dist/motely.d.ts +1 -4
  36. package/dist/motely.js +23 -154
  37. package/dist/motely.js.map +1 -1
  38. package/dist/render/CanvasRenderer.d.ts +2 -1
  39. package/dist/render/useJamlCardRenderer.d.ts +15 -0
  40. package/dist/ui/jimbo.css +1 -2
  41. package/dist/ui.d.ts +0 -40
  42. package/dist/ui.js +58 -3
  43. package/dist/ui.js.map +1 -0
  44. package/package.json +23 -68
  45. package/dist/assets/searchPoolWorker-BdrYmnig.js +0 -2
  46. package/dist/assets/searchPoolWorker-BdrYmnig.js.map +0 -1
  47. package/dist/chunks/jamlSeeds-CKHvpjhC.js +0 -66
  48. package/dist/chunks/jamlSeeds-CKHvpjhC.js.map +0 -1
  49. package/dist/chunks/runtime-Dx5VPTsV.js +0 -2031
  50. package/dist/chunks/runtime-Dx5VPTsV.js.map +0 -1
  51. package/dist/chunks/searchPoolWorker-CEK2FyxS.js +0 -11
  52. package/dist/chunks/searchPoolWorker-CEK2FyxS.js.map +0 -1
  53. package/dist/chunks/spriteMapper-C8uYedXB.js +0 -2455
  54. package/dist/chunks/spriteMapper-C8uYedXB.js.map +0 -1
  55. package/dist/chunks/ui-BK5rM4AS.js +0 -3479
  56. package/dist/chunks/ui-BK5rM4AS.js.map +0 -1
  57. package/dist/components/CardFan.d.ts +0 -13
  58. package/dist/components/JamlAestheticSelector.d.ts +0 -12
  59. package/dist/components/JamlCodeEditor.d.ts +0 -7
  60. package/dist/components/JamlIde.d.ts +0 -44
  61. package/dist/components/JamlIdeToolbar.d.ts +0 -14
  62. package/dist/components/JamlIdeVisual.d.ts +0 -32
  63. package/dist/components/JamlMapPreview.d.ts +0 -11
  64. package/dist/components/JamlSeedInput.d.ts +0 -24
  65. package/dist/components/JamlSeedSpinner.d.ts +0 -9
  66. package/dist/components/JamlSpeedometer.d.ts +0 -16
  67. package/dist/components/Jamlyzer.d.ts +0 -8
  68. package/dist/components/JimmolateEditor.d.ts +0 -47
  69. package/dist/components/MotelyHello.d.ts +0 -5
  70. package/dist/components/MotelyVersionBadge.d.ts +0 -28
  71. package/dist/components/PaginatedFilterBrowser.d.ts +0 -26
  72. package/dist/components/RunConfigModal.d.ts +0 -8
  73. package/dist/components/SeedFinderApp.d.ts +0 -7
  74. package/dist/components/jamlMap/CategoryPicker.d.ts +0 -32
  75. package/dist/components/jamlMap/JamlMapEditor.d.ts +0 -14
  76. package/dist/components/jamlMap/JokerPicker.d.ts +0 -8
  77. package/dist/components/jamlMap/MysterySlot.d.ts +0 -37
  78. package/dist/components/jamlMap/index.d.ts +0 -4
  79. package/dist/components/jamlMap/jokerRarity.d.ts +0 -6
  80. package/dist/components/jamlSeedUtils.d.ts +0 -1
  81. package/dist/hooks/searchPoolWorker.d.ts +0 -61
  82. package/dist/hooks/searchWorker.d.ts +0 -1
  83. package/dist/hooks/useAnalyzer.d.ts +0 -15
  84. package/dist/hooks/useIntersectionObserver.d.ts +0 -14
  85. package/dist/hooks/useJamlLibrary.d.ts +0 -13
  86. package/dist/hooks/useSearch.d.ts +0 -32
  87. package/dist/hooks/useSearchPool.d.ts +0 -43
  88. package/dist/hooks/useShopStream.d.ts +0 -22
  89. package/dist/lib/SpriteMapper.d.ts +0 -10
  90. package/dist/lib/cardParser.d.ts +0 -8
  91. package/dist/lib/classes/BuyMetaData.d.ts +0 -11
  92. package/dist/lib/config.d.ts +0 -13
  93. package/dist/lib/const.d.ts +0 -70
  94. package/dist/lib/data/constants.d.ts +0 -11
  95. package/dist/lib/hooks/useDragScroll.d.ts +0 -4
  96. package/dist/lib/hooks/useJamlFilter.d.ts +0 -48
  97. package/dist/lib/hooks/useSeedAnalyzer.d.ts +0 -17
  98. package/dist/lib/jaml/jamlCompletion.d.ts +0 -12
  99. package/dist/lib/jaml/jamlData.d.ts +0 -4
  100. package/dist/lib/jaml/jamlLangCodemirror.d.ts +0 -22
  101. package/dist/lib/jaml/jamlObjectives.d.ts +0 -13
  102. package/dist/lib/jaml/jamlParser.d.ts +0 -14
  103. package/dist/lib/jaml/jamlPresets.d.ts +0 -8
  104. package/dist/lib/jaml/jamlSchema.d.ts +0 -19
  105. package/dist/lib/jaml/jamlSeeds.d.ts +0 -7
  106. package/dist/lib/motely/runtime.d.ts +0 -13
  107. package/dist/lib/parseDailyRitual.d.ts +0 -45
  108. package/dist/lib/tts/getRevealPos.d.ts +0 -5
  109. package/dist/lib/tts/splitTtsDisplay.d.ts +0 -19
  110. package/dist/lib/types.d.ts +0 -122
  111. package/dist/motelyDisplay.d.ts +0 -10
  112. package/dist/r3f/Card3D.d.ts +0 -48
  113. package/dist/r3f/CardTable.d.ts +0 -35
  114. package/dist/r3f.d.ts +0 -2
  115. package/dist/r3f.js +0 -275
  116. package/dist/r3f.js.map +0 -1
  117. package/dist/ui/JimboBadge.d.ts +0 -12
  118. package/dist/ui/JimboBalatroFooter.d.ts +0 -16
  119. package/dist/ui/JimboCookLever.d.ts +0 -30
  120. package/dist/ui/JimboCopyButton.d.ts +0 -27
  121. package/dist/ui/JimboDeckAndStakeSelectorModal.d.ts +0 -30
  122. package/dist/ui/JimboDualChip.d.ts +0 -17
  123. package/dist/ui/JimboIconButton.d.ts +0 -15
  124. package/dist/ui/JimboInlineEdit.d.ts +0 -16
  125. package/dist/ui/JimboInputModal.d.ts +0 -13
  126. package/dist/ui/JimboListItem.d.ts +0 -11
  127. package/dist/ui/JimboPanelSpinner.d.ts +0 -15
  128. package/dist/ui/JimboPicker.d.ts +0 -28
  129. package/dist/ui/JimboSeedCopyChip.d.ts +0 -16
  130. package/dist/ui/JimboSelect.d.ts +0 -30
  131. package/dist/ui/JimboSlider.d.ts +0 -11
  132. package/dist/ui/JimboSpinner.d.ts +0 -18
  133. package/dist/ui/JimboStepper.d.ts +0 -22
  134. package/dist/ui/JimboTextInput.d.ts +0 -5
  135. package/dist/ui/JimboToggleList.d.ts +0 -12
  136. package/dist/ui/JimboValueBadge.d.ts +0 -19
  137. package/dist/ui/codeBlock.d.ts +0 -11
  138. package/dist/ui/hooks.d.ts +0 -126
  139. package/dist/ui/ide/JamlEditor.d.ts +0 -7
  140. package/dist/ui/jimboApp.d.ts +0 -9
  141. package/dist/ui/jimboBackground.d.ts +0 -17
  142. package/dist/ui/jimboCopyRow.d.ts +0 -9
  143. package/dist/ui/jimboFilterBar.d.ts +0 -22
  144. package/dist/ui/jimboFlankNav.d.ts +0 -17
  145. package/dist/ui/jimboInfoCard.d.ts +0 -31
  146. package/dist/ui/jimboInset.d.ts +0 -9
  147. package/dist/ui/jimboLayout.d.ts +0 -25
  148. package/dist/ui/jimboLink.d.ts +0 -12
  149. package/dist/ui/jimboSectionHeader.d.ts +0 -11
  150. package/dist/ui/jimboStatGrid.d.ts +0 -13
  151. package/dist/ui/jimboTabs.d.ts +0 -21
  152. package/dist/ui/jimboText.d.ts +0 -25
  153. package/dist/ui/jimboTooltip.d.ts +0 -33
  154. package/dist/ui/jimboWordmark.d.ts +0 -10
  155. package/dist/ui/mascot/JammySpeechBox.d.ts +0 -9
  156. package/dist/ui/mascot/SeedMascot.d.ts +0 -37
  157. package/dist/ui/mascot/index.d.ts +0 -3
  158. package/dist/ui/mascot/menuConfig.d.ts +0 -102
  159. package/dist/ui/panel.d.ts +0 -32
  160. package/dist/ui/radial/RadialBadge.d.ts +0 -16
  161. package/dist/ui/radial/RadialBreadcrumb.d.ts +0 -12
  162. package/dist/ui/radial/RadialButton.d.ts +0 -60
  163. package/dist/ui/radial/RadialMenu.d.ts +0 -38
  164. package/dist/ui/radial/RadialPill.d.ts +0 -17
  165. package/dist/ui/radial/index.d.ts +0 -16
  166. package/dist/ui/radial/radialMenuStore.d.ts +0 -31
  167. package/dist/ui/radial/radialMenuViewport.d.ts +0 -6
  168. package/dist/ui/radial/useRadialMenu.d.ts +0 -35
  169. package/dist/ui/sprites.d.ts +0 -25
  170. package/dist/utils/jamlMapPreview.d.ts +0 -12
  171. package/dist/utils/jamlVisualFilter.d.ts +0 -3
@@ -1,22 +0,0 @@
1
- export interface StreamItem {
2
- id: string;
3
- name: string;
4
- value?: number;
5
- }
6
- export interface StreamState {
7
- items: StreamItem[];
8
- ready: boolean;
9
- loading: boolean;
10
- loadingMore: boolean;
11
- error: string | null;
12
- pullMore: (count?: number) => void;
13
- }
14
- /**
15
- * Generic stream hook for iterating any motely-wasm analyzer stream.
16
- *
17
- * @param initStream - called once to initialize the stream (e.g. analyzer.initShop(ante))
18
- * @param nextItem - called to get the next item from the stream (e.g. analyzer.nextShopItem())
19
- * @param deps - dependency array that triggers stream re-initialization
20
- * @param initialItems - items already visible (cursor advances past them)
21
- */
22
- export declare function useMotelyStream(initStream: (() => void) | null, nextItem: (() => StreamItem) | null, deps: unknown[], initialItems?: StreamItem[]): StreamState;
@@ -1,10 +0,0 @@
1
- interface SpritePos {
2
- x: number;
3
- y: number;
4
- }
5
- export interface SpriteData {
6
- pos: SpritePos;
7
- type: 'Jokers' | 'Tarots' | 'Vouchers' | 'Boosters' | 'Enhancers' | 'Editions' | 'BlindChips' | 'Shop' | 'tags';
8
- }
9
- export declare function getSpriteData(name: string): SpriteData;
10
- export {};
@@ -1,8 +0,0 @@
1
- export interface ParsedCard {
2
- rank: string;
3
- suit: string;
4
- enhancement: string | null;
5
- seal: string | null;
6
- edition: string | null;
7
- }
8
- export declare function parseCardToken(item: unknown): ParsedCard | null;
@@ -1,11 +0,0 @@
1
- export interface BuyMetaData {
2
- name?: string;
3
- ante?: number;
4
- blind?: string;
5
- card?: {
6
- type?: string;
7
- base?: string | string[];
8
- [key: string]: unknown;
9
- };
10
- [key: string]: unknown;
11
- }
@@ -1,13 +0,0 @@
1
- export declare const ritualConfig: {
2
- title: string;
3
- tagline: string;
4
- id: string;
5
- defaultObjective: string;
6
- /**
7
- * The Weepoch (Jan 30, 2026)
8
- * This is the canonical start date for Day 1.
9
- */
10
- epochDate: string;
11
- readonly epoch: number;
12
- };
13
- export declare const EPOCH: number;
@@ -1,70 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { BuyMetaData } from './classes/BuyMetaData.ts';
3
- export interface Pos {
4
- x: number;
5
- y: number;
6
- }
7
- export interface Entity {
8
- name: string;
9
- pos: Pos;
10
- animated?: boolean;
11
- }
12
- export declare const jokers: Entity[];
13
- export declare const jokerFaces: Entity[];
14
- export declare const consumablesFaces: Entity[];
15
- export declare const boosterPacks: Entity[];
16
- export declare const tarotsAndPlanets: Entity[];
17
- export declare const tags: Entity[];
18
- export declare const vouchers: Entity[];
19
- export declare const bosses: Entity[];
20
- export declare const editionMap: Record<string, number>;
21
- export declare const stickerMap: Record<string, Pos>;
22
- export declare const options: string[];
23
- export declare const blinds: string[];
24
- export declare const blindsCamelCase: string[];
25
- export declare const SeedsWithLegendary: Array<string>;
26
- export declare const popularSeeds: Array<string>;
27
- export interface AnalyzeOptions {
28
- showCardSpoilers: boolean;
29
- buys: {
30
- [key: string]: BuyMetaData;
31
- };
32
- sells: {
33
- [key: string]: BuyMetaData;
34
- };
35
- updates: Array<{
36
- [key: string]: unknown;
37
- }>;
38
- unlocks: Array<string>;
39
- events: Array<Event>;
40
- }
41
- export interface BuyWrapperProps {
42
- children: ReactNode;
43
- bottomOffset?: number;
44
- topOffset?: number;
45
- metaData?: BuyMetaData;
46
- horizontal?: boolean;
47
- }
48
- export declare enum LOCATIONS {
49
- SHOP = "SHOP",
50
- PACK = "PACK",
51
- MISC = "MISC",
52
- VOUCHER = "VOUCHER"
53
- }
54
- export declare enum LOCATION_TYPES {
55
- SHOP = "SHOP",
56
- PACK = "PACK",
57
- CARD = "CARD"
58
- }
59
- export interface CardEvent {
60
- name: string;
61
- ante: number;
62
- blind: string;
63
- }
64
- export declare const EVENT_UNLOCKS: {
65
- name: string;
66
- condition: string;
67
- }[];
68
- export declare const tagDescriptions: {
69
- [key: string]: string;
70
- };
@@ -1,11 +0,0 @@
1
- export declare const DECK_OPTIONS: string[];
2
- export declare const STAKE_OPTIONS: string[];
3
- export declare const EDITION_OPTIONS: string[];
4
- export declare const SEAL_OPTIONS: string[];
5
- export declare const ENHANCEMENT_OPTIONS: string[];
6
- export declare const ANTE_OPTIONS: number[];
7
- export declare const SLOT_OPTIONS: number[];
8
- export declare const RANK_OPTIONS: string[];
9
- export declare const SUIT_OPTIONS: string[];
10
- export declare const CLAUSE_TYPES: string[];
11
- export declare const SOURCE_OPTIONS: string[];
@@ -1,4 +0,0 @@
1
- export declare function useDragScroll(): {
2
- ref: (node: HTMLDivElement | null) => void;
3
- isDragging: boolean;
4
- };
@@ -1,48 +0,0 @@
1
- import { DECK_OPTIONS, STAKE_OPTIONS, ANTE_OPTIONS, SLOT_OPTIONS, CLAUSE_TYPES, SOURCE_OPTIONS, EDITION_OPTIONS, SEAL_OPTIONS, ENHANCEMENT_OPTIONS } from '../data/constants.js';
2
- export interface JamlClause {
3
- type: string;
4
- value: string;
5
- label?: string;
6
- antes?: number[];
7
- score?: number;
8
- edition?: string;
9
- seal?: string;
10
- enhancement?: string;
11
- rank?: string;
12
- suit?: string;
13
- sources?: string[];
14
- }
15
- export interface JamlFilter {
16
- name: string;
17
- description: string;
18
- author: string;
19
- deck: string;
20
- stake: string;
21
- defaults: {
22
- antes: number[];
23
- packSlots: number[];
24
- shopSlots: number[];
25
- score: number;
26
- };
27
- must: JamlClause[];
28
- should: JamlClause[];
29
- mustNot: JamlClause[];
30
- }
31
- export { DECK_OPTIONS, STAKE_OPTIONS, ANTE_OPTIONS, SLOT_OPTIONS, CLAUSE_TYPES, SOURCE_OPTIONS, EDITION_OPTIONS, SEAL_OPTIONS, ENHANCEMENT_OPTIONS };
32
- export declare function useJamlFilter(initialJaml?: string): {
33
- filter: JamlFilter;
34
- jamlText: string;
35
- setFromJaml: (text: string) => void;
36
- updateFilter: (updates: Partial<JamlFilter>) => void;
37
- addClause: (bucket: "must" | "should" | "mustNot", clause: JamlClause) => void;
38
- editClause: (bucket: "must" | "should" | "mustNot", index: number, clause: JamlClause) => void;
39
- deleteClause: (bucket: "must" | "should" | "mustNot", index: number) => void;
40
- editingClause: {
41
- bucket: keyof Pick<JamlFilter, "must" | "should" | "mustNot">;
42
- index: number | null;
43
- } | null;
44
- setEditingClause: import('react').Dispatch<import('react').SetStateAction<{
45
- bucket: keyof Pick<JamlFilter, "must" | "should" | "mustNot">;
46
- index: number | null;
47
- } | null>>;
48
- };
@@ -1,17 +0,0 @@
1
- import { Program as MotelyNamespace } from 'motely-wasm/motely/wasm';
2
- import { JamlyzerSnapshot } from 'motely-wasm/motely/analysis';
3
- type MotelyApi = typeof MotelyNamespace;
4
- /** Per-seed result shape, reassembled from the split motely-wasm 21.1 API
5
- * (the old jamlyzer(config) bundled score + analysis per seed). */
6
- export interface SeedAnalyzerResult {
7
- seed: string;
8
- score: number;
9
- tallies: number[];
10
- analysis: JamlyzerSnapshot;
11
- }
12
- export declare function useSeedAnalyzer(motely: MotelyApi | null, seed: string | null, jaml?: string): {
13
- data: SeedAnalyzerResult | null;
14
- loading: boolean;
15
- error: string | null;
16
- };
17
- export {};
@@ -1,12 +0,0 @@
1
- export interface CompletionData {
2
- text: string;
3
- displayText: string;
4
- type: 'keyword' | 'value';
5
- }
6
- export interface YamlCompletionContext {
7
- key?: string;
8
- indent: number;
9
- }
10
- export declare class JamlCompletionService {
11
- static getCompletions(currentValue: string): CompletionData[];
12
- }
@@ -1,4 +0,0 @@
1
- export declare const CLAUSE_TYPE_KEYS: readonly string[];
2
- export declare const CLAUSE_TYPES: string[];
3
- export declare const ARRAY_KEYS: string[];
4
- export declare const JAML_KEYWORDS: string[];
@@ -1,22 +0,0 @@
1
- import { CompletionContext, CompletionResult } from '@codemirror/autocomplete';
2
- import { Tooltip } from '@codemirror/view';
3
- /**
4
- * CodeMirror completion source backed by jaml-lang's context-aware completions.
5
- * Tap into `joker: ` and you get the joker list; type `Blue` and it narrows to
6
- * Blueprint. Keys insert `label: `, values insert the bare value.
7
- */
8
- export declare function jamlCompletionSource(context: CompletionContext): CompletionResult | null;
9
- /**
10
- * CodeMirror lint source backed by jaml-lang diagnostics (YAML syntax + the
11
- * generated structural validation). The Motely WASM engine stays the final
12
- * authority; this is the fast structural gate. Severity is the raw LSP number.
13
- */
14
- export declare const jamlLinter: import('@codemirror/state').Extension;
15
- /**
16
- * CodeMirror hover backed by jaml-lang's getHover — explains the key/enum member
17
- * under the cursor (e.g. hover `joker` or `Blueprint`). Contents are light
18
- * markdown ("**word** — detail"); rendered (bold + code) into the tooltip dom.
19
- */
20
- export declare const jamlHoverTooltip: import('@codemirror/state').Extension & {
21
- active: import('@codemirror/state').StateField<readonly Tooltip[]>;
22
- };
@@ -1,13 +0,0 @@
1
- /**
2
- * JAML Objectives Parser
3
- *
4
- * Extracts display-ready objective names from a JAML config string
5
- * using the existing useJamlFilter parser — no hand-rolled regex.
6
- *
7
- * This is the ONLY place JAML → objective extraction should happen.
8
- */
9
- /**
10
- * Parse a JAML config string and extract objectives (must-clause values).
11
- * Returns an array of human-readable objective names.
12
- */
13
- export declare function parseJamlToObjectives(jamlConfig: string): string[];
@@ -1,14 +0,0 @@
1
- export interface HighlightingRules {
2
- highPriority: Set<string>;
3
- mediumPriority: Set<string>;
4
- }
5
- /**
6
- * Simple regex-based JAML parser for extracting highlighting rules.
7
- * Handles basic YAML structure:
8
- * Must:
9
- * - joker: WeeJoker
10
- * Should:
11
- * - joker: HangingChad
12
- */
13
- export declare function parseJamlHighlights(jamlContent: string | null): HighlightingRules;
14
- export declare function normalizeName(name: string): string;
@@ -1,8 +0,0 @@
1
- export interface JamlPreset {
2
- id: string;
3
- label: string;
4
- description: string;
5
- jaml: string;
6
- icon?: string;
7
- }
8
- export declare const JAML_PRESETS: JamlPreset[];
@@ -1,19 +0,0 @@
1
- export declare const DECK_VALUES: readonly string[];
2
- export declare const STAKE_VALUES: readonly string[];
3
- export declare const EDITION_VALUES: readonly string[];
4
- export declare const SEAL_VALUES: readonly string[];
5
- export declare const ENHANCEMENT_VALUES: readonly string[];
6
- export declare const CLAUSE_TYPE_KEYS: readonly string[];
7
- export declare const SOURCE_KEYS: readonly string[];
8
- export declare const PROPERTY_KEYS: readonly string[];
9
- export declare const METADATA_KEYS: readonly string[];
10
- export declare const SECTION_KEYS: readonly string[];
11
- export declare const ALL_JAML_KEYWORDS: string[];
12
- export declare function getValidValuesForKey(key: string): readonly string[] | null;
13
- export declare function isInvalidValueForProp(value: string, prop: string): boolean;
14
- export declare function getAvailablePropsForType(): readonly string[];
15
- export declare function isInvalidPropForType(): boolean;
16
- export interface ValidationState {
17
- errors: string[];
18
- warnings: string[];
19
- }
@@ -1,7 +0,0 @@
1
- /** Read top-level `seeds:` entries from a JAML document. */
2
- export declare function parseJamlSeeds(jaml: string): string[];
3
- /**
4
- * Write seeds into JAML the same way Motely CLI `--save-seeds` does:
5
- * replace the top-level `seeds:` block (or append one if missing).
6
- */
7
- export declare function mergeSeedsIntoJaml(jaml: string, seeds: string[], max?: number): string;
@@ -1,13 +0,0 @@
1
- import { MotelyScoredSeedResult } from 'motely-wasm/motely';
2
- export type MotelyRuntimeStatus = "idle" | "booting" | "ready" | "error";
3
- export type JimmolateProbe = (result: MotelyScoredSeedResult) => boolean;
4
- /** Swap the active Jimmolate predicate. Safe before or after boot. */
5
- export declare function setJimmolateProbe(pred: JimmolateProbe): void;
6
- /** Reset the probe to pass-through (the engine's default: every survivor matches). */
7
- export declare function clearJimmolateProbe(): void;
8
- export declare const MOTELY_BIN_PATH = "/motely-wasm/bin";
9
- /** True once the optional File System extension was bound before boot. */
10
- export declare function isFileSystemReady(): boolean;
11
- /** The error from a failed or absent File System init, if any. */
12
- export declare function getFileSystemError(): unknown;
13
- export declare function ensureMotelyReady(): Promise<void>;
@@ -1,45 +0,0 @@
1
- /**
2
- * Parser for daily_ritual.json abbreviated format
3
- *
4
- * Expands abbreviated fields like "wj2", "hc1" into full item objects
5
- */
6
- export interface ParsedItem {
7
- id: string;
8
- name: string;
9
- type: 'joker' | 'consumable' | 'voucher';
10
- ante: number;
11
- }
12
- export interface ParsedSeed {
13
- seed: string;
14
- title: string;
15
- score: number;
16
- twos: number;
17
- items: ParsedItem[];
18
- }
19
- /**
20
- * Parse daily_ritual.json seed format
21
- *
22
- * Example input:
23
- * {"id":"J4SPZMWW","t":"Twosday","j":"Joker","s":206,"w":16,"wj2":1,"hc2":1}
24
- *
25
- * Output:
26
- * {
27
- * seed: "J4SPZMWW",
28
- * title: "Twosday",
29
- * score: 206,
30
- * twos: 16,
31
- * items: [
32
- * { id: 'weejoker', name: 'Wee Joker', type: 'joker', ante: 2 },
33
- * { id: 'hangingchad', name: 'Hanging Chad', type: 'joker', ante: 2 }
34
- * ]
35
- * }
36
- */
37
- export declare function parseDailyRitualSeed(raw: Record<string, unknown>): ParsedSeed;
38
- /**
39
- * Group items by type for rendering
40
- */
41
- export declare function groupItemsByType(items: ParsedItem[]): {
42
- jokers: ParsedItem[];
43
- consumables: ParsedItem[];
44
- vouchers: ParsedItem[];
45
- };
@@ -1,5 +0,0 @@
1
- /**
2
- * Advance past trailing punctuation and whitespace so reveal snaps to word boundaries.
3
- * Used by both JammySpeechBox (home announcement) and ChatInterface (streaming chat).
4
- */
5
- export declare function getRevealPos(text: string, highlightPos: number): number;
@@ -1,19 +0,0 @@
1
- /** Strip markdown markers only — do not collapse whitespace (TTS highlight indices are raw offsets). */
2
- export declare function stripMarkdownForTtsDisplay(text: string): string;
3
- export type TtsDisplaySplit = {
4
- prefix: string;
5
- spoken: string;
6
- pending: string;
7
- suffix: string;
8
- useWindowedView: boolean;
9
- };
10
- /**
11
- * Split plain text into spoken vs pending regions for TTS word sync.
12
- * When `stripMarkdown` is false, indices must refer to `text` as-is (matches streaming TTS offsets).
13
- */
14
- export declare function splitTtsDisplay(text: string, highlightPos: number | null | undefined, activeSentenceRange: {
15
- start: number;
16
- end: number;
17
- } | null | undefined, options?: {
18
- stripMarkdown?: boolean;
19
- }): TtsDisplaySplit | null;
@@ -1,122 +0,0 @@
1
- import { MotelyDeck, MotelyStake } from 'motely-wasm/motely/enums';
2
- export type DeckType = MotelyDeck;
3
- export type StakeType = MotelyStake;
4
- /**
5
- * Configuration for a Daily Ritual challenge
6
- * Matches the dailyritual.schema.json structure
7
- */
8
- export interface RitualConfig {
9
- filterId: string;
10
- searchId: string;
11
- deck: DeckType;
12
- stake: StakeType;
13
- seeds: string;
14
- name: string;
15
- author: string;
16
- description?: string;
17
- tutorial?: string;
18
- epoch?: string;
19
- icon?: string;
20
- color?: string;
21
- }
22
- /**
23
- * Seed data record from the seeds file.
24
- * All scoring fields are dynamic — driven by the JAML filter's label columns.
25
- */
26
- export interface SeedData {
27
- seed: string;
28
- score: number;
29
- stake?: StakeType;
30
- startingDeck?: string[];
31
- relevantEvents?: RelevantEvent[];
32
- [key: string]: string | number | boolean | string[] | RelevantEvent[] | undefined;
33
- }
34
- export interface ParsedCard {
35
- rank: string;
36
- suit: string;
37
- enhancement: string | null;
38
- seal: string | null;
39
- edition: string | null;
40
- }
41
- /**
42
- * The type of a game event/item
43
- */
44
- export type RelevantEventType = 'joker' | 'tarot' | 'spectral' | 'planet' | 'voucher';
45
- /**
46
- * The source/location where the event occurs in game
47
- */
48
- export type EventSource = 'shop' | 'arcana_pack' | 'spectral_pack' | 'celestial_pack' | 'buffoon_pack' | 'standard_pack' | 'tag' | 'boss_blind' | 'voucher';
49
- /**
50
- * A "relevant" event as defined by the JAML filter's Should rules.
51
- * Represents anything the ritual cares about tracking (jokers, consumables, etc.)
52
- */
53
- export interface RelevantEvent {
54
- /** The ante number (1, 2, 3, ...) when this event occurs */
55
- ante: number;
56
- /** Where this event occurs (shop, pack, tag, etc.) */
57
- source: EventSource;
58
- /** The category of item */
59
- type: RelevantEventType;
60
- /** The item's identifier (e.g., "weejoker", "temperance", "blueprint") */
61
- id: string;
62
- /** Optional edition modifier (e.g., "negative", "polychrome", "foil", "holographic") */
63
- edition?: string;
64
- /** Optional enhancement (for standard cards: "bonus", "mult", "wild", etc.) */
65
- enhancement?: string;
66
- /** Optional seal (for standard cards: "gold", "red", "blue", "purple") */
67
- seal?: string;
68
- /** Count of this item (defaults to 1 if not specified) */
69
- count?: number;
70
- /** Optional display name override */
71
- displayName?: string;
72
- }
73
- /**
74
- * Complete seed data as exported in a JAMZ file.
75
- * This is the "rich" data format containing everything needed to render the UI.
76
- */
77
- export interface JamzSeedData {
78
- /** The 8-character Balatro seed string */
79
- seed: string;
80
- /** Calculated "goodness" score from the JAML filter */
81
- score: number;
82
- /** Count of Rank 2s in the starting deck (for Erratic deck display) */
83
- twos?: number;
84
- /** The exact 52 cards in starting deck. Format: {rank}_{suit} e.g., ["2_C", "10_H", "A_S"] */
85
- startingDeck?: string[];
86
- /** All relevant events matching the JAML filter's Should rules */
87
- relevantEvents?: RelevantEvent[];
88
- /** Legacy: individual JAML column values (for backward compatibility) */
89
- [key: string]: string | number | boolean | string[] | RelevantEvent[] | undefined;
90
- }
91
- /**
92
- * Header metadata in a JAMZ file
93
- */
94
- export interface JamzHeader {
95
- /** JAMZ format version (e.g., "1") */
96
- version: string;
97
- /** Hash of the source JAML filter for verification */
98
- jamlHash: string;
99
- /** Total number of seeds in this file */
100
- seedCount: number;
101
- /** ISO 8601 timestamp when this file was generated */
102
- generatedAt: string;
103
- /** Ritual metadata */
104
- ritual: {
105
- id: string;
106
- name: string;
107
- author: string;
108
- description?: string;
109
- tutorial?: string;
110
- deck: DeckType;
111
- stake: StakeType;
112
- icon?: string;
113
- color?: string;
114
- };
115
- }
116
- /**
117
- * Complete JAMZ file structure (after decompression and JSON parsing)
118
- */
119
- export interface JamzFile {
120
- header: JamzHeader;
121
- seeds: JamzSeedData[];
122
- }
@@ -1,10 +0,0 @@
1
- export declare function motelyBossDisplayName(value: number): string;
2
- export declare function motelyBossDisplayNameFromKey(key: string): string;
3
- export declare function motelyVoucherDisplayName(value: number): string;
4
- export declare function motelyVoucherDisplayNameFromKey(key: string): string;
5
- export declare function motelyTagDisplayName(value: number): string;
6
- export declare function motelyTagDisplayNameFromKey(key: string): string;
7
- export declare function motelyBoosterPackDisplayName(value: number): string;
8
- export declare function motelyBoosterPackDisplayNameFromKey(key: string): string;
9
- export declare function motelyItemDisplayNameFromKey(key: string): string;
10
- export declare function motelyItemDisplayNameFromValue(value: number): string;
@@ -1,48 +0,0 @@
1
- import { SpriteSheetType } from '../sprites/spriteMapper.js';
2
- import * as React from "react";
3
- import * as THREE from "three";
4
- export declare const CARD_W = 1;
5
- export declare const CARD_H: number;
6
- /**
7
- * Load a spritesheet PNG and crop it to a single item's cell via UV repeat/offset.
8
- * Reuses jaml-ui/core's sprite metadata so the 3D card shows the *real* art,
9
- * pixel-perfect (NearestFilter), not a placeholder.
10
- */
11
- export declare function useSpriteTexture(itemName: string, fallbackSheet: SpriteSheetType): THREE.Texture;
12
- /** Balatro-style finishes. The card catches light differently per edition. */
13
- export type CardEdition = "base" | "foil" | "holo" | "polychrome";
14
- /**
15
- * The per-edition card material. Holo/polychrome patch the standard material's
16
- * fragment shader so the rainbow lives *in the art* and shifts with view angle —
17
- * not an emissive tint over the whole card.
18
- */
19
- export declare function EditionCardMaterial({ texture, edition, }: {
20
- texture: THREE.Texture;
21
- edition: CardEdition;
22
- }): import("react/jsx-runtime").JSX.Element;
23
- export declare const MAX_TILT = 0.3;
24
- /** Off-axis key light + soft ambient + the env map that foil mirrors. */
25
- export declare function CardLighting(): import("react/jsx-runtime").JSX.Element;
26
- export interface Card3DProps {
27
- /** Item name to render — e.g. "Blueprint". Resolved against jaml-ui sprite metadata. */
28
- itemName: string;
29
- /** Which sheet to fall back to when the name doesn't resolve. Default "Jokers". */
30
- fallbackSheet?: SpriteSheetType;
31
- /** Finish — "base" | "foil" | "holo" | "polychrome". Default "base". */
32
- edition?: CardEdition;
33
- /** Pixel height of the canvas. Default 320. */
34
- height?: number | string;
35
- className?: string;
36
- style?: React.CSSProperties;
37
- }
38
- /**
39
- * A floating, hover-reactive 3D Balatro card that catches the light.
40
- *
41
- * ```tsx
42
- * import { Card3D } from "jaml-ui/r3f";
43
- * <Card3D itemName="Blueprint" edition="holo" />
44
- * ```
45
- *
46
- * Peer deps: `three`, `@react-three/fiber`, `@react-three/drei`, `@react-spring/three`.
47
- */
48
- export declare function Card3D({ itemName, fallbackSheet, edition, height, className, style, }: Card3DProps): import("react/jsx-runtime").JSX.Element;
@@ -1,35 +0,0 @@
1
- import { CardEdition } from './Card3D.js';
2
- import { SpriteSheetType } from '../sprites/spriteMapper.js';
3
- import * as React from "react";
4
- export interface CardTableItem {
5
- /** Item name — e.g. "Blueprint". Resolved against jaml-ui sprite metadata. */
6
- itemName: string;
7
- /** Sheet to fall back to when the name doesn't resolve. Default "Jokers". */
8
- fallbackSheet?: SpriteSheetType;
9
- /** Finish — "base" | "foil" | "holo" | "polychrome". Default "base". */
10
- edition?: CardEdition;
11
- }
12
- export interface CardTableProps {
13
- /** The cards to lay out in a row, left to right. */
14
- items: CardTableItem[];
15
- /** Pixel height of the canvas. Default 320. */
16
- height?: number | string;
17
- /** World-space distance between card centers. Default 1.25. */
18
- gap?: number;
19
- className?: string;
20
- style?: React.CSSProperties;
21
- }
22
- /**
23
- * A row of floating, grabbable 3D Balatro cards in a single Canvas — the shop,
24
- * not a swatch. Hover to lean a card toward the pointer; press to lift it off
25
- * the felt and drag it; release to drop it back into its slot. Foil/holo cards
26
- * catch and throw the light as they move.
27
- *
28
- * ```tsx
29
- * import { CardTable } from "jaml-ui/r3f";
30
- * <CardTable items={[{ itemName: "Blueprint", edition: "holo" }]} />
31
- * ```
32
- *
33
- * Peer deps: `three`, `@react-three/fiber`, `@react-three/drei`.
34
- */
35
- export declare function CardTable({ items, height, gap, className, style, }: CardTableProps): import("react/jsx-runtime").JSX.Element;
package/dist/r3f.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { Card3D, type Card3DProps } from './r3f/Card3D.js';
2
- export { CardTable, type CardTableProps, type CardTableItem } from './r3f/CardTable.js';