@sbugallo/pokecode 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +17 -11
  2. package/dist/adapters/opencode/tui/choices/cards.d.ts +4 -0
  3. package/dist/adapters/opencode/tui/choices/cards.d.ts.map +1 -1
  4. package/dist/adapters/opencode/tui/choices/cards.jsx +6 -6
  5. package/dist/adapters/opencode/tui/choices/cards.jsx.map +1 -1
  6. package/dist/adapters/opencode/tui/choices/encounter.d.ts +2 -0
  7. package/dist/adapters/opencode/tui/choices/encounter.d.ts.map +1 -1
  8. package/dist/adapters/opencode/tui/choices/encounter.jsx +1 -1
  9. package/dist/adapters/opencode/tui/choices/encounter.jsx.map +1 -1
  10. package/dist/adapters/opencode/tui/components/image-protocol.d.ts +31 -0
  11. package/dist/adapters/opencode/tui/components/image-protocol.d.ts.map +1 -0
  12. package/dist/adapters/opencode/tui/components/image-protocol.js +83 -0
  13. package/dist/adapters/opencode/tui/components/image-protocol.js.map +1 -0
  14. package/dist/adapters/opencode/tui/components/sprite.d.ts +2 -0
  15. package/dist/adapters/opencode/tui/components/sprite.d.ts.map +1 -1
  16. package/dist/adapters/opencode/tui/components/sprite.jsx +1 -1
  17. package/dist/adapters/opencode/tui/components/sprite.jsx.map +1 -1
  18. package/dist/adapters/opencode/tui/pc/actions.d.ts +2 -0
  19. package/dist/adapters/opencode/tui/pc/actions.d.ts.map +1 -1
  20. package/dist/adapters/opencode/tui/pc/actions.jsx +1 -1
  21. package/dist/adapters/opencode/tui/pc/actions.jsx.map +1 -1
  22. package/dist/adapters/opencode/tui/pc/details.d.ts +2 -0
  23. package/dist/adapters/opencode/tui/pc/details.d.ts.map +1 -1
  24. package/dist/adapters/opencode/tui/pc/details.jsx +1 -1
  25. package/dist/adapters/opencode/tui/pc/details.jsx.map +1 -1
  26. package/dist/adapters/opencode/tui/pc/dialog.d.ts +2 -0
  27. package/dist/adapters/opencode/tui/pc/dialog.d.ts.map +1 -1
  28. package/dist/adapters/opencode/tui/pc/dialog.jsx +1 -1
  29. package/dist/adapters/opencode/tui/pc/dialog.jsx.map +1 -1
  30. package/dist/adapters/opencode/tui/plugin.d.ts.map +1 -1
  31. package/dist/adapters/opencode/tui/plugin.jsx +8 -0
  32. package/dist/adapters/opencode/tui/plugin.jsx.map +1 -1
  33. package/dist/adapters/opencode/tui/sidebar/register.d.ts +2 -0
  34. package/dist/adapters/opencode/tui/sidebar/register.d.ts.map +1 -1
  35. package/dist/adapters/opencode/tui/sidebar/register.jsx +1 -1
  36. package/dist/adapters/opencode/tui/sidebar/register.jsx.map +1 -1
  37. package/dist/adapters/opencode/tui/sidebar/view.d.ts +4 -0
  38. package/dist/adapters/opencode/tui/sidebar/view.d.ts.map +1 -1
  39. package/dist/adapters/opencode/tui/sidebar/view.jsx +9 -9
  40. package/dist/adapters/opencode/tui/sidebar/view.jsx.map +1 -1
  41. package/dist/adapters/opencode/tui/state/cleanup.d.ts +1 -0
  42. package/dist/adapters/opencode/tui/state/cleanup.d.ts.map +1 -1
  43. package/dist/adapters/opencode/tui/state/cleanup.js +1 -0
  44. package/dist/adapters/opencode/tui/state/cleanup.js.map +1 -1
  45. package/dist/adapters/opencode/tui/travel/actions.d.ts +2 -0
  46. package/dist/adapters/opencode/tui/travel/actions.d.ts.map +1 -1
  47. package/dist/adapters/opencode/tui/travel/actions.jsx +1 -1
  48. package/dist/adapters/opencode/tui/travel/actions.jsx.map +1 -1
  49. package/dist/adapters/opencode/tui/travel/dialog.d.ts +2 -0
  50. package/dist/adapters/opencode/tui/travel/dialog.d.ts.map +1 -1
  51. package/dist/adapters/opencode/tui/travel/dialog.jsx +1 -1
  52. package/dist/adapters/opencode/tui/travel/dialog.jsx.map +1 -1
  53. package/dist/adapters/sqlite/game-repository.d.ts +2 -1
  54. package/dist/adapters/sqlite/game-repository.d.ts.map +1 -1
  55. package/dist/adapters/sqlite/game-repository.js +9 -1
  56. package/dist/adapters/sqlite/game-repository.js.map +1 -1
  57. package/dist/adapters/sqlite/queries/game-state.d.ts +2 -1
  58. package/dist/adapters/sqlite/queries/game-state.d.ts.map +1 -1
  59. package/dist/adapters/sqlite/queries/game-state.js +9 -3
  60. package/dist/adapters/sqlite/queries/game-state.js.map +1 -1
  61. package/dist/adapters/sqlite/transaction-stores/pokemon.js +7 -7
  62. package/dist/adapters/sqlite/transaction-stores/pokemon.js.map +1 -1
  63. package/dist/application/contracts/game.d.ts +3 -2
  64. package/dist/application/contracts/game.d.ts.map +1 -1
  65. package/dist/application/contracts/game.js +3 -2
  66. package/dist/application/contracts/game.js.map +1 -1
  67. package/dist/application/game.d.ts.map +1 -1
  68. package/dist/application/game.js +5 -1
  69. package/dist/application/game.js.map +1 -1
  70. package/dist/application/ports/game-transaction.d.ts +3 -2
  71. package/dist/application/ports/game-transaction.d.ts.map +1 -1
  72. package/dist/application/ports/game.d.ts +2 -1
  73. package/dist/application/ports/game.d.ts.map +1 -1
  74. package/dist/application/use-cases/choices.d.ts.map +1 -1
  75. package/dist/application/use-cases/choices.js +2 -0
  76. package/dist/application/use-cases/choices.js.map +1 -1
  77. package/dist/application/use-cases/choose-regional-starter.js +1 -1
  78. package/dist/application/use-cases/choose-regional-starter.js.map +1 -1
  79. package/dist/application/use-cases/encounters.js +1 -1
  80. package/dist/application/use-cases/encounters.js.map +1 -1
  81. package/dist/application/use-cases/record-usage.d.ts.map +1 -1
  82. package/dist/application/use-cases/record-usage.js +17 -4
  83. package/dist/application/use-cases/record-usage.js.map +1 -1
  84. package/dist/application/use-cases/resolve-progression.js +2 -0
  85. package/dist/application/use-cases/resolve-progression.js.map +1 -1
  86. package/dist/domain/content/catalog.d.ts +4 -0
  87. package/dist/domain/content/catalog.d.ts.map +1 -1
  88. package/dist/domain/content/catalog.js +17 -0
  89. package/dist/domain/content/catalog.js.map +1 -1
  90. package/dist/domain/content/catalogs/alola-locations-catalog.d.ts +1 -0
  91. package/dist/domain/content/catalogs/alola-locations-catalog.d.ts.map +1 -1
  92. package/dist/domain/content/catalogs/alola-locations-catalog.js +1 -0
  93. package/dist/domain/content/catalogs/alola-locations-catalog.js.map +1 -1
  94. package/dist/domain/content/catalogs/galar-locations-catalog.d.ts +1 -0
  95. package/dist/domain/content/catalogs/galar-locations-catalog.d.ts.map +1 -1
  96. package/dist/domain/content/catalogs/galar-locations-catalog.js +1 -0
  97. package/dist/domain/content/catalogs/galar-locations-catalog.js.map +1 -1
  98. package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts +1 -0
  99. package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts.map +1 -1
  100. package/dist/domain/content/catalogs/hoenn-locations-catalog.js +1 -0
  101. package/dist/domain/content/catalogs/hoenn-locations-catalog.js.map +1 -1
  102. package/dist/domain/content/catalogs/johto-locations-catalog.d.ts +1 -0
  103. package/dist/domain/content/catalogs/johto-locations-catalog.d.ts.map +1 -1
  104. package/dist/domain/content/catalogs/johto-locations-catalog.js +1 -0
  105. package/dist/domain/content/catalogs/johto-locations-catalog.js.map +1 -1
  106. package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts +1 -0
  107. package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts.map +1 -1
  108. package/dist/domain/content/catalogs/kalos-locations-catalog.js +1 -0
  109. package/dist/domain/content/catalogs/kalos-locations-catalog.js.map +1 -1
  110. package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts +1 -0
  111. package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts.map +1 -1
  112. package/dist/domain/content/catalogs/kanto-locations-catalog.js +1 -0
  113. package/dist/domain/content/catalogs/kanto-locations-catalog.js.map +1 -1
  114. package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts +1 -0
  115. package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts.map +1 -1
  116. package/dist/domain/content/catalogs/paldea-locations-catalog.js +1 -0
  117. package/dist/domain/content/catalogs/paldea-locations-catalog.js.map +1 -1
  118. package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts +1 -0
  119. package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts.map +1 -1
  120. package/dist/domain/content/catalogs/sinnoh-locations-catalog.js +1 -0
  121. package/dist/domain/content/catalogs/sinnoh-locations-catalog.js.map +1 -1
  122. package/dist/domain/content/catalogs/unova-locations-catalog.d.ts +1 -0
  123. package/dist/domain/content/catalogs/unova-locations-catalog.d.ts.map +1 -1
  124. package/dist/domain/content/catalogs/unova-locations-catalog.js +1 -0
  125. package/dist/domain/content/catalogs/unova-locations-catalog.js.map +1 -1
  126. package/dist/domain/content/schema.d.ts +1 -0
  127. package/dist/domain/content/schema.d.ts.map +1 -1
  128. package/dist/domain/content/schema.js +2 -0
  129. package/dist/domain/content/schema.js.map +1 -1
  130. package/dist/domain/exploration/exploration.d.ts +20 -0
  131. package/dist/domain/exploration/exploration.d.ts.map +1 -1
  132. package/dist/domain/exploration/exploration.js +17 -0
  133. package/dist/domain/exploration/exploration.js.map +1 -1
  134. package/dist/domain/usage/usage.d.ts +3 -3
  135. package/dist/domain/usage/usage.d.ts.map +1 -1
  136. package/dist/domain/usage/usage.js +4 -2
  137. package/dist/domain/usage/usage.js.map +1 -1
  138. package/dist/index.js +76 -17
  139. package/dist/rpc.js +8 -2
  140. package/dist/tui.js +195 -36
  141. package/package.json +1 -1
package/README.md CHANGED
@@ -54,7 +54,7 @@ Your active team gains experience from the tokens reported for completed assista
54
54
  includes input, output, reasoning, and cache read/write tokens. Usage is deduplicated across
55
55
  sessions and restarts so the same message is never counted twice.
56
56
 
57
- By default, **every 1,000 counted tokens grants 1 XP to each active Pokémon**. Fractional XP carries
57
+ **Every 1,000 counted tokens grants 1 XP to each active Pokémon**. Fractional XP carries
58
58
  forward. Your team can hold up to six Pokémon, and only active team members earn new XP; Pokémon in
59
59
  the PC remain idle. The level cap is 100.
60
60
 
@@ -166,10 +166,13 @@ evolve during the next applied usage event; it does not have to hit the exact le
166
166
 
167
167
  Start in any of the nine regions and choose one of its three native starters.
168
168
 
169
- By default, spending **2,160,000 eligible tokens at your newest unlocked location** unlocks the
170
- next stop. Use `/pokecode-locations` to travel there before working toward the following location.
171
- Returning to an older location preserves your unlock progress, but usage there does not advance the
172
- next unlock.
169
+ Each location has its own unlock cost, charged for eligible tokens spent at your newest unlocked
170
+ location. Costs follow a power curve over the location's position in its region's story, normalized
171
+ by region length and calibrated against main-series gym-leader and champion ace levels, so your
172
+ party keeps pace with the narrative. After a region's champion, further locations cost no more than
173
+ the final approach. Use `/pokecode-locations` to travel there before working toward the following
174
+ location. Returning to an older location preserves your unlock progress, but usage there does not
175
+ advance the next unlock.
173
176
 
174
177
  A single usage event can unlock at most one location; excess unlock progress is discarded. Travel is
175
178
  always manual, even in continuous mode.
@@ -262,10 +265,11 @@ default:
262
265
  "options": {
263
266
  "language": "en",
264
267
  "pauseOnPendingChoice": true,
265
- "xpTokensPerPoint": 1000,
266
268
  "encounterMinimumTokens": 200000,
267
269
  "encounterMaximumTokens": 400000,
268
- "locationUnlockTokens": 2160000
270
+ "locationUnlockBaseTokens": 4214000,
271
+ "locationUnlockExponent": 2.64,
272
+ "locationUnlockRegionExponent": -1.72
269
273
  }
270
274
  }
271
275
  ]
@@ -276,13 +280,15 @@ default:
276
280
  | --- | --- |
277
281
  | `language` | `en` for English or `es` for Spanish. Localizes Pokémon, locations, regions, moves, abilities, and interface text. Missing translations fall back to English. |
278
282
  | `pauseOnPendingChoice` | Pauses XP, encounters, and exploration while decisions are pending. Set to `false` for continuous progression and persistent queues. |
279
- | `xpTokensPerPoint` | Counted tokens required for 1 XP per active Pokémon. Lower values mean faster leveling. |
280
283
  | `encounterMinimumTokens` | Minimum eligible-token interval between encounter opportunities. |
281
284
  | `encounterMaximumTokens` | Maximum eligible-token interval between encounter opportunities. |
282
- | `locationUnlockTokens` | Eligible tokens required at the newest unlocked location to unlock the next stop. |
285
+ | `locationUnlockBaseTokens` | Scale of the location-unlock cost curve. |
286
+ | `locationUnlockExponent` | How quickly unlock costs grow along a region's story. |
287
+ | `locationUnlockRegionExponent` | Normalization applied by region length so short and long regions pace alike. Typically negative. |
283
288
 
284
- Token thresholds must be positive integers. Reload or restart OpenCode after changing options.
285
- Because the save is shared, use consistent gameplay settings across concurrently running instances.
289
+ Token thresholds must be positive integers; the exponents are plain numbers. Reload or restart
290
+ OpenCode after changing options. Because the save is shared, use consistent gameplay settings
291
+ across concurrently running instances.
286
292
 
287
293
  ## Storage
288
294
 
@@ -1,10 +1,12 @@
1
1
  import type { GameState } from "../../../../application/contracts/game.js";
2
2
  import type { SpriteResolver } from "../../../sprites/contracts.js";
3
+ import type { ImageProtocolAccessor } from "../components/image-protocol.js";
3
4
  export declare function PendingChoiceCard(properties: {
4
5
  readonly state: () => GameState;
5
6
  readonly onResolveMove: (choiceId: string, selectedMoveId: string) => Promise<void>;
6
7
  readonly onResolveEvolution: (choiceId: string, selectedSpeciesId: string) => Promise<void>;
7
8
  readonly resolveSprite: SpriteResolver;
9
+ readonly imageProtocol: ImageProtocolAccessor;
8
10
  readonly language: () => GameState["locale"];
9
11
  }): any;
10
12
  export declare function MoveChoiceCard(properties: {
@@ -13,6 +15,7 @@ export declare function MoveChoiceCard(properties: {
13
15
  readonly choicePokemon: () => GameState["choicePokemon"];
14
16
  readonly onResolve: (choiceId: string, selectedMoveId: string) => Promise<void>;
15
17
  readonly resolveSprite: SpriteResolver;
18
+ readonly imageProtocol: ImageProtocolAccessor;
16
19
  readonly language?: (() => GameState["locale"]) | undefined;
17
20
  }): any;
18
21
  export declare function EvolutionChoiceCard(properties: {
@@ -20,6 +23,7 @@ export declare function EvolutionChoiceCard(properties: {
20
23
  readonly party: () => GameState["party"];
21
24
  readonly choicePokemon: () => GameState["choicePokemon"];
22
25
  readonly resolveSprite: SpriteResolver;
26
+ readonly imageProtocol: ImageProtocolAccessor;
23
27
  readonly language: () => GameState["locale"];
24
28
  readonly onResolve: (choiceId: string, selectedSpeciesId: string) => Promise<void>;
25
29
  }): any;
@@ -1 +1 @@
1
- {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAQ1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAInE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnF,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3F,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;CAC7C,OA8BA;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAgDA;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnF,OA4CA;AAmDD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAwDA"}
1
+ {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAQ1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAI5E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnF,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3F,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;CAC7C,OAgCA;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAiDA;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnF,OA8CA;AAqDD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAwDA"}
@@ -11,10 +11,10 @@ export function PendingChoiceCard(properties) {
11
11
  return (<Show when={choice()} keyed>
12
12
  {(activeChoice) => (<Switch>
13
13
  <Match when={activeChoice.kind === "move"}>
14
- <MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} language={properties.language}/>
14
+ <MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language}/>
15
15
  </Match>
16
16
  <Match when={activeChoice.kind === "evolution"}>
17
- <EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} language={properties.language} onResolve={properties.onResolveEvolution}/>
17
+ <EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} onResolve={properties.onResolveEvolution}/>
18
18
  </Match>
19
19
  </Switch>)}
20
20
  </Show>);
@@ -38,7 +38,7 @@ export function MoveChoiceCard(properties) {
38
38
  <text width="100%" wrapMode="word" textAlign="center">
39
39
  {copy().movePrompt(pokemon.name)}
40
40
  </text>
41
- <Sprite language={properties.language} resolve={properties.resolveSprite} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
41
+ <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
42
42
  <text width="100%" wrapMode="word" textAlign="center">
43
43
  {copy().moveDescription}
44
44
  </text>
@@ -59,10 +59,10 @@ export function EvolutionChoiceCard(properties) {
59
59
  const [hoveredOption, setHoveredOption] = createSignal(null);
60
60
  return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
61
61
  <text>{uiCopy(properties.language()).evolutionPrompt(pokemon.name)}</text>
62
- <Sprite language={properties.language} resolve={properties.resolveSprite} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
62
+ <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
63
63
  <text>{uiCopy(properties.language()).chooseEvolution}</text>
64
64
  <box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
65
- {payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} language={properties.language}/>))}
65
+ {payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language}/>))}
66
66
  </box>
67
67
  </box>);
68
68
  }
@@ -75,7 +75,7 @@ function EvolutionOptionCard(properties) {
75
75
  void properties.onResolve();
76
76
  }}>
77
77
  <box flexDirection="row" height={4} justifyContent="center" width="100%">
78
- <Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
78
+ <Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
79
79
  </box>
80
80
  <box flexDirection="row" justifyContent="center" width="100%">
81
81
  <text>{properties.option.name}</text>
@@ -1 +1 @@
1
- {"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { GameState } from "../../../../application/contracts/game.js";
2
2
  import type { PendingEncounter } from "../../../../domain/encounters/encounter.js";
3
3
  import type { SpriteResolver } from "../../../sprites/contracts.js";
4
+ import type { ImageProtocolAccessor } from "../components/image-protocol.js";
4
5
  export declare function EncounterCard(properties: {
5
6
  readonly encounter: () => GameState["pendingEncounter"];
6
7
  readonly mutedColor: () => string;
@@ -8,6 +9,7 @@ export declare function EncounterCard(properties: {
8
9
  readonly onHover: (action: "catch" | "run" | null) => void;
9
10
  readonly onResolve: (encounterId: string, encounter: PendingEncounter, capture: boolean) => Promise<void>;
10
11
  readonly resolveSprite: SpriteResolver;
12
+ readonly imageProtocol: ImageProtocolAccessor;
11
13
  readonly language?: (() => GameState["locale"]) | undefined;
12
14
  }): any;
13
15
  //# sourceMappingURL=encounter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAInE,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAqDA"}
1
+ {"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG5E,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAsDA"}
@@ -20,7 +20,7 @@ export function EncounterCard(properties) {
20
20
  })}
21
21
  </text>
22
22
  </box>
23
- <Sprite language={properties.language} resolve={properties.resolveSprite} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
23
+ <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
24
24
  <box flexDirection="row" gap={1} justifyContent="center">
25
25
  <PokecodeActionButton hovered={() => properties.hoveredAction() === "catch"} label={copy.catch} onActivate={() => properties.onResolve(encounter.id, encounter, true)} onHover={() => properties.onHover("catch")} onLeave={() => properties.onHover(null)} tone="primary"/>
26
26
  <PokecodeActionButton hovered={() => properties.hoveredAction() === "run"} label={copy.run} onActivate={() => properties.onResolve(encounter.id, encounter, false)} onHover={() => properties.onHover("run")} onLeave={() => properties.onHover(null)} tone="secondary"/>
@@ -1 +1 @@
1
- {"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ImageRenderProtocol, TerminalCapabilities } from "@opentui/core";
2
+ import { type Accessor } from "solid-js";
3
+ export type ImageProtocolCapabilities = Pick<TerminalCapabilities, "terminal" | "image_protocol" | "sixel" | "kitty_graphics">;
4
+ export type ImageProtocolAccessor = Accessor<ImageRenderProtocol>;
5
+ /** Minimal structural view of the renderer's capability events. */
6
+ export type CapabilitiesEventSource = Readonly<{
7
+ readonly capabilities: ImageProtocolCapabilities | null;
8
+ on(event: "capabilities", listener: (capabilities: ImageProtocolCapabilities) => void): unknown;
9
+ off(event: "capabilities", listener: (capabilities: ImageProtocolCapabilities) => void): unknown;
10
+ }>;
11
+ /**
12
+ * Picks the sprite image protocol for the detected terminal.
13
+ *
14
+ * Capability-first: an explicit OPENTUI_IMAGE_PROTOCOL override (surfaced by
15
+ * OpenTUI as the image_protocol capability) always wins, and everything else
16
+ * stays "auto" so OpenTUI resolves from real capability queries — Kitty
17
+ * graphics first, then Sixel (which the xterm.js image addon behind VS Code's
18
+ * terminal.integrated.enableImages advertises through DA1), then half-blocks.
19
+ * Only terminals known to misreport their capabilities need a correction
20
+ * from the table above.
21
+ */
22
+ export declare function spriteImageProtocol(capabilities: ImageProtocolCapabilities | null): ImageRenderProtocol;
23
+ /**
24
+ * Tracks the resolved protocol reactively: capability detection answers
25
+ * after startup, so the accessor flips once the terminal identifies itself.
26
+ */
27
+ export declare function createImageProtocolState(source: CapabilitiesEventSource): {
28
+ readonly protocol: ImageProtocolAccessor;
29
+ readonly dispose: () => void;
30
+ };
31
+ //# sourceMappingURL=image-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-protocol.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/image-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,UAAU,CAAA;AAEtD,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,oBAAoB,EACpB,UAAU,GAAG,gBAAgB,GAAG,OAAO,GAAG,gBAAgB,CAC3D,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AAEjE,mEAAmE;AACnE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI,CAAA;IACvD,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAA;IAC/F,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAA;CACjG,CAAC,CAAA;AAyDF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,yBAAyB,GAAG,IAAI,GAC7C,mBAAmB,CAQrB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,GAAG;IACzE,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,CAYA"}
@@ -0,0 +1,83 @@
1
+ import { createSignal } from "solid-js";
2
+ /**
3
+ * Terminals that advertise image capabilities they cannot honor. Capability
4
+ * detection is only as honest as the answering terminal, so the rare terminal
5
+ * that lies needs a correction keyed by its identity — the same technique
6
+ * OpenTUI's own native detection uses (applyKnownGraphicsIdentity, and the
7
+ * TERM_PROGRAM=vscode kitty_graphics correction). Entries are data: add one
8
+ * here, never a new branch in the resolver.
9
+ */
10
+ const graphicsCorrections = [
11
+ {
12
+ // VS Code and Orca both present as "xterm.js": XTVERSION answers with the
13
+ // library name, which outranks the TERM_PROGRAM identity fallback, so no
14
+ // per-product name ever surfaces here. The xterm.js image addon behind
15
+ // terminal.integrated.enableImages advertises BOTH Kitty graphics and
16
+ // Sixel — but its Kitty path drops OpenTUI's placements while Sixel
17
+ // renders reliably. Prefer Sixel whenever this identity advertises it;
18
+ // addon disabled → no Sixel advertised → the entry does not match and
19
+ // auto falls through to half-blocks.
20
+ terminalName: /^xterm\.js$/i,
21
+ requires: { sixel: true },
22
+ protocol: "sixel",
23
+ reason: "xterm.js image addon Kitty path drops OpenTUI placements",
24
+ },
25
+ {
26
+ // Orca answers the Kitty graphics probe with OK, so no capability query
27
+ // distinguishes it from Kitty; placements blank once its per-pane image
28
+ // budget evicts them (stablyai/orca#23547, open as of October 2026).
29
+ // Keyed on the TERM_PROGRAM identity for the case where Orca stops
30
+ // answering XTVERSION.
31
+ terminalName: /orca/i,
32
+ protocol: "blocks",
33
+ reason: "stablyai/orca#23547",
34
+ },
35
+ ];
36
+ const requirementsMet = (requires, capabilities) => {
37
+ if (requires === undefined)
38
+ return true;
39
+ if (requires.sixel !== undefined && capabilities?.sixel !== requires.sixel)
40
+ return false;
41
+ if (requires.kitty_graphics !== undefined &&
42
+ capabilities?.kitty_graphics !== requires.kitty_graphics) {
43
+ return false;
44
+ }
45
+ return true;
46
+ };
47
+ /**
48
+ * Picks the sprite image protocol for the detected terminal.
49
+ *
50
+ * Capability-first: an explicit OPENTUI_IMAGE_PROTOCOL override (surfaced by
51
+ * OpenTUI as the image_protocol capability) always wins, and everything else
52
+ * stays "auto" so OpenTUI resolves from real capability queries — Kitty
53
+ * graphics first, then Sixel (which the xterm.js image addon behind VS Code's
54
+ * terminal.integrated.enableImages advertises through DA1), then half-blocks.
55
+ * Only terminals known to misreport their capabilities need a correction
56
+ * from the table above.
57
+ */
58
+ export function spriteImageProtocol(capabilities) {
59
+ const configured = capabilities?.image_protocol;
60
+ if (configured !== undefined && configured !== "auto")
61
+ return configured;
62
+ const name = capabilities?.terminal.name ?? "";
63
+ const correction = graphicsCorrections.find((entry) => entry.terminalName.test(name) && requirementsMet(entry.requires, capabilities));
64
+ return correction?.protocol ?? "auto";
65
+ }
66
+ /**
67
+ * Tracks the resolved protocol reactively: capability detection answers
68
+ * after startup, so the accessor flips once the terminal identifies itself.
69
+ */
70
+ export function createImageProtocolState(source) {
71
+ const [protocol, setProtocol] = createSignal(spriteImageProtocol(source.capabilities));
72
+ const listener = (capabilities) => {
73
+ setProtocol(spriteImageProtocol(capabilities));
74
+ };
75
+ source.on("capabilities", listener);
76
+ return {
77
+ protocol,
78
+ dispose: () => {
79
+ source.off("capabilities", listener);
80
+ },
81
+ };
82
+ }
83
+ //# sourceMappingURL=image-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-protocol.js","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/image-protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,YAAY,EAAE,MAAM,UAAU,CAAA;AAgBtD;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAKnB;IACJ;QACE,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,uEAAuE;QACvE,sEAAsE;QACtE,qCAAqC;QACrC,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACzB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,0DAA0D;KACnE;IACD;QACE,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,mEAAmE;QACnE,uBAAuB;QACvB,YAAY,EAAE,OAAO;QACrB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,qBAAqB;KAC9B;CACF,CAAA;AAED,MAAM,eAAe,GAAG,CACtB,QAAqF,EACrF,YAA8C,EACrC,EAAE;IACX,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACvC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,EAAE,KAAK,KAAK,QAAQ,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxF,IACE,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,YAAY,EAAE,cAAc,KAAK,QAAQ,CAAC,cAAc,EACxD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAA8C;IAE9C,MAAM,UAAU,GAAG,YAAY,EAAE,cAAc,CAAA;IAC/C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,UAAU,CAAA;IACxE,MAAM,IAAI,GAAG,YAAY,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;IAC9C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAC1F,CAAA;IACD,OAAO,UAAU,EAAE,QAAQ,IAAI,MAAM,CAAA;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA+B;IAItE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IACtF,MAAM,QAAQ,GAAG,CAAC,YAAuC,EAAQ,EAAE;QACjE,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAA;IAChD,CAAC,CAAA;IACD,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IACnC,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Language } from "../../../../domain/shared/language.js";
2
2
  import type { SpriteInput, SpriteResolver } from "../../../sprites/contracts.js";
3
+ import type { ImageProtocolAccessor } from "./image-protocol.js";
3
4
  export declare function Sprite(properties: {
4
5
  readonly resolve: SpriteResolver;
5
6
  readonly gender: SpriteInput["gender"];
@@ -7,6 +8,7 @@ export declare function Sprite(properties: {
7
8
  readonly speciesId: string;
8
9
  readonly language?: (() => Language) | undefined;
9
10
  readonly compactFallback?: boolean | undefined;
11
+ readonly protocol?: ImageProtocolAccessor | undefined;
10
12
  readonly width?: number | undefined;
11
13
  readonly height?: number | undefined;
12
14
  }): any;
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAoB,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAGlG,wBAAgB,MAAM,CAAC,UAAU,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,OAkCA"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAoB,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,wBAAgB,MAAM,CAAC,UAAU,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,OAwCA"}
@@ -24,7 +24,7 @@ export function Sprite(properties) {
24
24
  : uiCopy(properties.language?.() ?? "en").spriteUnavailable}
25
25
  </text>
26
26
  </box>}>
27
- {(cachedSource) => (<image source={cachedSource()} fit="fit" width={width} height={height}/>)}
27
+ {(cachedSource) => (<image source={cachedSource()} fit="fit" width={width} height={height} protocol={properties.protocol?.() ?? "auto"}/>)}
28
28
  </Show>);
29
29
  }
30
30
  //# sourceMappingURL=sprite.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,MAAM,CAAC,UAStB;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAA0B,IAAI,CAAC,CAAA;IACvE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;IACrC,KAAK,UAAU;SACZ,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;SAClE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;QACzB,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAA;IACD,OAAO,CACL,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CACf,QAAQ,CAAC,CACP,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC5E;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,UAAU,CAAC,eAAe,KAAK,IAAI;gBAClC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,aAAa;oBACvD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,iBAAiB,CACjE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACP,CAAC,CAED;MAAA,CAAC,CAAC,YAA0B,EAAE,EAAE,CAAC,CAC/B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAG,CAC1E,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"sprite.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,MAAM,CAAC,UAUtB;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAA0B,IAAI,CAAC,CAAA;IACvE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;IACrC,KAAK,UAAU;SACZ,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;SAClE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;QACzB,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAA;IACD,OAAO,CACL,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CACf,QAAQ,CAAC,CACP,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC5E;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,UAAU,CAAC,eAAe,KAAK,IAAI;gBAClC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,aAAa;oBACvD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,iBAAiB,CACjE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACP,CAAC,CAED;MAAA,CAAC,CAAC,YAA0B,EAAE,EAAE,CAAC,CAC/B,CAAC,KAAK,CACJ,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CACvB,GAAG,CAAC,KAAK,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,EAC5C,CACH,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { Context } from "@opencode/plugin/tui/context";
2
2
  import type { SpriteResolver } from "../../../sprites/contracts.js";
3
3
  import type { createPokemonTuiClient } from "../client.js";
4
+ import type { ImageProtocolAccessor } from "../components/image-protocol.js";
4
5
  import type { createTuiStateCoordinator } from "../state/coordinator.js";
5
6
  type TuiClient = ReturnType<typeof createPokemonTuiClient>;
6
7
  type TuiState = ReturnType<typeof createTuiStateCoordinator>;
@@ -17,6 +18,7 @@ export declare function createPcAction(dependencies: {
17
18
  readonly muted: () => string;
18
19
  };
19
20
  readonly resolveSprite: SpriteResolver;
21
+ readonly imageProtocol: ImageProtocolAccessor;
20
22
  }): () => Promise<void>;
21
23
  export {};
22
24
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAGxE,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAC1D,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE5D,wBAAgB,kCAAkC,CAAC,YAAY,EAAE;IAC/D,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,IACe,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC,CAK/D;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE;IAC3C,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,CAAA;IACxE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;IAC7E,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;CACvC,SAKkB,OAAO,CAAC,IAAI,CAAC,CAqD/B"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAGxE,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAC1D,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE5D,wBAAgB,kCAAkC,CAAC,YAAY,EAAE;IAC/D,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,IACe,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC,CAK/D;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE;IAC3C,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,CAAA;IACxE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;IAC7E,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;CAC9C,SAKkB,OAAO,CAAC,IAAI,CAAC,CAsD/B"}
@@ -37,7 +37,7 @@ export function createPcAction(dependencies) {
37
37
  const partyIds = dependencies.state
38
38
  .state()
39
39
  .party.flatMap((slot) => (slot.pokemon === null ? [] : [slot.pokemon.id]));
40
- dependencies.dialog.show(() => (<PokemonPcDialog pokemon={pokemon()} partyIds={partyIds} language={dependencies.state.state().locale} textColor={dependencies.theme.base} mutedColor={dependencies.theme.muted} resolveSprite={dependencies.resolveSprite} onClose={() => {
40
+ dependencies.dialog.show(() => (<PokemonPcDialog pokemon={pokemon()} partyIds={partyIds} language={dependencies.state.state().locale} textColor={dependencies.theme.base} mutedColor={dependencies.theme.muted} resolveSprite={dependencies.resolveSprite} imageProtocol={dependencies.imageProtocol} onClose={() => {
41
41
  if (!dependencies.state.isDisposed())
42
42
  dependencies.dialog.clear();
43
43
  }} onConfirm={onConfirm} onRename={(pokemonId, name) => manage(dependencies.rpc.renamePokemon({ pokemonId, name }), (pokemon) => pokemon.map((entry) => entry.id === pokemonId ? { ...entry, name: name.trim() } : entry))} onRelease={(pokemonId) => manage(dependencies.rpc.releasePokemon({ pokemonId }), (pokemon) => pokemon.filter((entry) => entry.id !== pokemonId))}/>));
@@ -1 +1 @@
1
- {"version":3,"file":"actions.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/actions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/actions.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { PokemonInstance } from "../../../../domain/pokemon/model.js";
2
2
  import type { Language } from "../../../../domain/shared/language.js";
3
3
  import type { SpriteResolver } from "../../../sprites/contracts.js";
4
+ import type { ImageProtocolAccessor } from "../components/image-protocol.js";
4
5
  export declare function PcDetails(properties: {
5
6
  readonly pokemon: PokemonInstance;
6
7
  readonly language: Language;
7
8
  readonly textColor: string;
8
9
  readonly resolveSprite: SpriteResolver;
10
+ readonly imageProtocol: ImageProtocolAccessor;
9
11
  }): any;
10
12
  //# sourceMappingURL=details.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/details.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAMnE,wBAAgB,SAAS,CAAC,UAAU,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;CACvC,OAkEA"}
1
+ {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/details.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAM5E,wBAAgB,SAAS,CAAC,UAAU,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;CAC9C,OAmEA"}
@@ -15,7 +15,7 @@ export function PcDetails(properties) {
15
15
  const statLine = ([name, value, ev, iv], indicator = " ") => `${indicator} ${name}${" ".repeat(11 - stringWidth(name))}${" ".repeat(6 - stringWidth(value))}${value} ${ev.padStart(2)} ${iv.padStart(2)}`;
16
16
  return (<box alignItems="center" flexDirection="column" gap={1} width="100%" minWidth={0}>
17
17
  <box alignItems="center" flexDirection="column">
18
- <Sprite language={() => properties.language} resolve={properties.resolveSprite} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.pokemon.speciesId}/>
18
+ <Sprite language={() => properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.pokemon.speciesId}/>
19
19
  <text>{`${properties.pokemon.shiny ? "★ " : ""}${properties.pokemon.name} ${symbol()} Lv.${properties.pokemon.level}`}</text>
20
20
  </box>
21
21
  <box alignItems="center" flexDirection="column">
@@ -1 +1 @@
1
- {"version":3,"file":"details.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/details.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,CAAU,CAAA;AAE9F,MAAM,UAAU,SAAS,CAAC,UAKzB;IACC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpF,MAAM,QAAQ,GAAG,CACf,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAA4C,EAChE,SAAS,GAAG,GAAG,EACf,EAAE,CACF,GAAG,SAAS,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9I,OAAO,CACL,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/E;MAAA,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAC7C;QAAA,CAAC,MAAM,CACL,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CACpC,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAClC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAChC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAClC,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAE1C;QAAA,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAC9H;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAC7C;QAAA,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAC9D;QAAA,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAClE;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAC7C;QAAA,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAC3E;QAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CACf;UAAA,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAA;YACpD,OAAO,CACL,CAAC,IAAI,CACH,EAAE,CAAC,CACD,IAAI,KAAK,MAAM,EAAE,CAAC,SAAS;oBACzB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,SAAS;wBAC3B,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,UAAU,CAAC,SACnB,CAAC,CAED;gBAAA,CAAC,QAAQ,CACP;oBACE,IAAI,EAAE;oBACN,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACrC,EACD,IAAI,KAAK,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAC5E,CACH;cAAA,EAAE,IAAI,CAAC,CACR,CAAA;QACH,CAAC,CACH;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClE;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAC1B;QAAA,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CACf,CAAC,CAAC,CAAC,CACF,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAG,CAC7E,CACH;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"details.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/details.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { PokemonManagementResult } from "../../../../application/contracts/
3
3
  import type { PokemonInstance } from "../../../../domain/pokemon/model.js";
4
4
  import type { Language } from "../../../../domain/shared/language.js";
5
5
  import type { SpriteResolver } from "../../../sprites/contracts.js";
6
+ import type { ImageProtocolAccessor } from "../components/image-protocol.js";
6
7
  import "../controls/native.js";
7
8
  export declare function PokemonPcDialog(properties: {
8
9
  readonly pokemon: readonly PokemonInstance[];
@@ -15,5 +16,6 @@ export declare function PokemonPcDialog(properties: {
15
16
  readonly onRename: (pokemonId: string, name: string) => Promise<PokemonManagementResult["kind"]>;
16
17
  readonly onRelease: (pokemonId: string) => Promise<PokemonManagementResult["kind"]>;
17
18
  readonly resolveSprite: SpriteResolver;
19
+ readonly imageProtocol: ImageProtocolAccessor;
18
20
  }): any;
19
21
  //# sourceMappingURL=dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/dialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAGnE,OAAO,uBAAuB,CAAA;AAI9B,wBAAgB,eAAe,CAAC,UAAU,EAAE;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAA;IAChG,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAA;IACnF,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;CACvC,OAgTA"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/pc/dialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG5E,OAAO,uBAAuB,CAAA;AAI9B,wBAAgB,eAAe,CAAC,UAAU,EAAE;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAA;IAChG,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAA;IACnF,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;CAC9C,OAiTA"}
@@ -216,7 +216,7 @@ export function PokemonPcDialog(properties) {
216
216
  details = renderable;
217
217
  }} id="pokecode-pc-details" flexGrow={1} width={0} minHeight={0} minWidth={0} scrollX={false} scrollY contentOptions={{ flexDirection: "column" }} viewportOptions={{ minHeight: 0, overflow: "hidden" }}>
218
218
  <Show when={inspected()} keyed>
219
- {(pokemon) => (<PcDetails pokemon={pokemon} language={properties.language} textColor={textColor()} resolveSprite={properties.resolveSprite}/>)}
219
+ {(pokemon) => (<PcDetails pokemon={pokemon} language={properties.language} textColor={textColor()} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol}/>)}
220
220
  </Show>
221
221
  </scrollbox>
222
222
  </box>