@sbugallo/pokecode 0.2.1 → 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 (128) 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/application/contracts/game.d.ts +3 -2
  62. package/dist/application/contracts/game.d.ts.map +1 -1
  63. package/dist/application/contracts/game.js +3 -2
  64. package/dist/application/contracts/game.js.map +1 -1
  65. package/dist/application/game.d.ts.map +1 -1
  66. package/dist/application/game.js +5 -1
  67. package/dist/application/game.js.map +1 -1
  68. package/dist/application/ports/game.d.ts +2 -1
  69. package/dist/application/ports/game.d.ts.map +1 -1
  70. package/dist/application/use-cases/record-usage.d.ts.map +1 -1
  71. package/dist/application/use-cases/record-usage.js +17 -4
  72. package/dist/application/use-cases/record-usage.js.map +1 -1
  73. package/dist/domain/content/catalog.d.ts +4 -0
  74. package/dist/domain/content/catalog.d.ts.map +1 -1
  75. package/dist/domain/content/catalog.js +17 -0
  76. package/dist/domain/content/catalog.js.map +1 -1
  77. package/dist/domain/content/catalogs/alola-locations-catalog.d.ts +1 -0
  78. package/dist/domain/content/catalogs/alola-locations-catalog.d.ts.map +1 -1
  79. package/dist/domain/content/catalogs/alola-locations-catalog.js +1 -0
  80. package/dist/domain/content/catalogs/alola-locations-catalog.js.map +1 -1
  81. package/dist/domain/content/catalogs/galar-locations-catalog.d.ts +1 -0
  82. package/dist/domain/content/catalogs/galar-locations-catalog.d.ts.map +1 -1
  83. package/dist/domain/content/catalogs/galar-locations-catalog.js +1 -0
  84. package/dist/domain/content/catalogs/galar-locations-catalog.js.map +1 -1
  85. package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts +1 -0
  86. package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts.map +1 -1
  87. package/dist/domain/content/catalogs/hoenn-locations-catalog.js +1 -0
  88. package/dist/domain/content/catalogs/hoenn-locations-catalog.js.map +1 -1
  89. package/dist/domain/content/catalogs/johto-locations-catalog.d.ts +1 -0
  90. package/dist/domain/content/catalogs/johto-locations-catalog.d.ts.map +1 -1
  91. package/dist/domain/content/catalogs/johto-locations-catalog.js +1 -0
  92. package/dist/domain/content/catalogs/johto-locations-catalog.js.map +1 -1
  93. package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts +1 -0
  94. package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts.map +1 -1
  95. package/dist/domain/content/catalogs/kalos-locations-catalog.js +1 -0
  96. package/dist/domain/content/catalogs/kalos-locations-catalog.js.map +1 -1
  97. package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts +1 -0
  98. package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts.map +1 -1
  99. package/dist/domain/content/catalogs/kanto-locations-catalog.js +1 -0
  100. package/dist/domain/content/catalogs/kanto-locations-catalog.js.map +1 -1
  101. package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts +1 -0
  102. package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts.map +1 -1
  103. package/dist/domain/content/catalogs/paldea-locations-catalog.js +1 -0
  104. package/dist/domain/content/catalogs/paldea-locations-catalog.js.map +1 -1
  105. package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts +1 -0
  106. package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts.map +1 -1
  107. package/dist/domain/content/catalogs/sinnoh-locations-catalog.js +1 -0
  108. package/dist/domain/content/catalogs/sinnoh-locations-catalog.js.map +1 -1
  109. package/dist/domain/content/catalogs/unova-locations-catalog.d.ts +1 -0
  110. package/dist/domain/content/catalogs/unova-locations-catalog.d.ts.map +1 -1
  111. package/dist/domain/content/catalogs/unova-locations-catalog.js +1 -0
  112. package/dist/domain/content/catalogs/unova-locations-catalog.js.map +1 -1
  113. package/dist/domain/content/schema.d.ts +1 -0
  114. package/dist/domain/content/schema.d.ts.map +1 -1
  115. package/dist/domain/content/schema.js +2 -0
  116. package/dist/domain/content/schema.js.map +1 -1
  117. package/dist/domain/exploration/exploration.d.ts +20 -0
  118. package/dist/domain/exploration/exploration.d.ts.map +1 -1
  119. package/dist/domain/exploration/exploration.js +17 -0
  120. package/dist/domain/exploration/exploration.js.map +1 -1
  121. package/dist/domain/usage/usage.d.ts +3 -3
  122. package/dist/domain/usage/usage.d.ts.map +1 -1
  123. package/dist/domain/usage/usage.js +4 -2
  124. package/dist/domain/usage/usage.js.map +1 -1
  125. package/dist/index.js +67 -10
  126. package/dist/rpc.js +8 -2
  127. package/dist/tui.js +195 -36
  128. 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":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,UAAU,aAAa,CAAC,UAY7B;IACC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IACxC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAClG,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAA;IACpD,OAAO,CACL,CAAC,GAAG,CACF,UAAU,CAAC,QAAQ,CACnB,MAAM,CACN,WAAW,CAAC,SAAS,CACrB,aAAa,CAAC,QAAQ,CACtB,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,OAAO,CAAC,CAAC,CAAC,CAAC,CAEX;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CACtB;QAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CACxF;QAAA,CAAC,IAAI,CACH;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC;YACd,YAAY;YACZ,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CACJ;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,MAAM,CACL,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAClC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CACvB,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAEjC;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CACtD;QAAA,CAAC,oBAAoB,CACnB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,CACtD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CACtE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC3C,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACxC,IAAI,CAAC,SAAS,EAEhB;QAAA,CAAC,oBAAoB,CACnB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC,CACpD,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAChB,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CACvE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACzC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACxC,IAAI,CAAC,WAAW,EAEpB;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}
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":"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"}
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>