@polycode-projects/the-mechanical-code-talker 2.7.23 → 2.7.25

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 (41) hide show
  1. package/README.md +23 -0
  2. package/data/sprites/adventurer.toml +5 -0
  3. package/data/sprites/animal.toml +6 -0
  4. package/data/sprites/butler.toml +8 -0
  5. package/data/sprites/cabinet.toml +5 -0
  6. package/data/sprites/container.toml +5 -0
  7. package/data/sprites/cook.toml +7 -0
  8. package/data/sprites/desk.toml +4 -0
  9. package/data/sprites/dog-with-colour.toml +20 -0
  10. package/data/sprites/dog.toml +5 -0
  11. package/data/sprites/egg.toml +4 -0
  12. package/data/sprites/fly.toml +5 -0
  13. package/data/sprites/furniture.toml +5 -0
  14. package/data/sprites/gardener.toml +4 -0
  15. package/data/sprites/housekeeper.toml +6 -0
  16. package/data/sprites/key.toml +5 -0
  17. package/data/sprites/lamp.toml +4 -0
  18. package/data/sprites/letter.toml +5 -0
  19. package/data/sprites/person.toml +4 -0
  20. package/data/sprites/poodle.toml +5 -0
  21. package/data/sprites/portable.toml +6 -0
  22. package/data/sprites/portrait.toml +5 -0
  23. package/data/sprites/room.toml +5 -0
  24. package/data/sprites/spider.toml +5 -0
  25. package/package.json +1 -1
  26. package/src/adapters/corpus/sprite-template-files.mjs +52 -0
  27. package/src/adapters/toml-config.mjs +8 -0
  28. package/src/domain/game-config.mjs +90 -0
  29. package/src/domain/spider-fly-world.mjs +5 -2
  30. package/src/domain/sprite-map.mjs +25 -10
  31. package/src/domain/sprite-templates.mjs +131 -0
  32. package/src/services/adventure-viz.mjs +201 -18
  33. package/src/services/adventure.mjs +45 -3
  34. package/src/services/chat-session.mjs +9 -1
  35. package/src/services/chat.mjs +49 -27
  36. package/src/services/spider-fly-turn.mjs +11 -10
  37. package/src/services/spider-fly-viz.mjs +73 -8
  38. package/src/services/spider-fly.mjs +56 -36
  39. package/src/surfaces/web/adventure-browser-entry.mjs +57 -19
  40. package/src/surfaces/web/memory-ask-browser.bundle.js +42 -0
  41. package/src/surfaces/web/spider-fly-browser-entry.mjs +2 -1
@@ -23587,6 +23587,48 @@ ${JSON.stringify(envelope, null, 2)}`;
23587
23587
  init_core();
23588
23588
  init_hash();
23589
23589
 
23590
+ // src/domain/game-config.mjs
23591
+ var DEFAULT_GAME_CONFIG = Object.freeze({
23592
+ spiderFly: Object.freeze({
23593
+ spiderInitialMass: 15,
23594
+ spiderMassDecrementPerTurn: 0.5,
23595
+ flyInitialMass: 10,
23596
+ flyMassDecrementPerTurn: 1,
23597
+ visionRadius: 4,
23598
+ eggHatchDelayTurns: 3,
23599
+ flySpawnIntervalTurns: 3,
23600
+ eggsEatenThreshold: 2,
23601
+ webDurationTurns: 10
23602
+ }),
23603
+ guessNumber: Object.freeze({
23604
+ defaultLo: 1,
23605
+ defaultHi: 100,
23606
+ maxBound: 1e9
23607
+ }),
23608
+ planning: Object.freeze({
23609
+ maxDepth: 300
23610
+ })
23611
+ });
23612
+ var SPIDER_FLY_KEY_MAP = Object.freeze({
23613
+ spider_initial_mass: "spiderInitialMass",
23614
+ spider_mass_decrement_per_turn: "spiderMassDecrementPerTurn",
23615
+ fly_initial_mass: "flyInitialMass",
23616
+ fly_mass_decrement_per_turn: "flyMassDecrementPerTurn",
23617
+ vision_radius: "visionRadius",
23618
+ egg_hatch_delay_turns: "eggHatchDelayTurns",
23619
+ fly_spawn_interval_turns: "flySpawnIntervalTurns",
23620
+ eggs_eaten_threshold: "eggsEatenThreshold",
23621
+ web_duration_turns: "webDurationTurns"
23622
+ });
23623
+ var GUESS_NUMBER_KEY_MAP = Object.freeze({
23624
+ default_lo: "defaultLo",
23625
+ default_hi: "defaultHi",
23626
+ max_bound: "maxBound"
23627
+ });
23628
+ var PLANNING_KEY_MAP = Object.freeze({
23629
+ max_depth: "maxDepth"
23630
+ });
23631
+
23590
23632
  // src/services/spider-fly-turn.mjs
23591
23633
  init_core();
23592
23634
  var SPIDER_FLY_TOLD_RE = new RegExp(
@@ -54,6 +54,7 @@ import {
54
54
  } from "../../domain/spider-fly-world.mjs";
55
55
  import { foldSpiderFlyState, runSpiderFlyTick, startSpiderFlyGame, liveWebs, DEFAULT_VISION_RADIUS } from "../../services/spider-fly.mjs";
56
56
  import { resolveSpriteForClass, SPRITE_REGISTRY } from "../../domain/sprite-map.mjs";
57
+ import { resolveSpriteAsset } from "../../domain/sprite-templates.mjs";
57
58
 
58
59
  /** A live in-memory game the page's ticker and chat dock can both drive.
59
60
  * Returns { memoryDir, sessionId, opening, initial, taxonomyRows, tick,
@@ -149,6 +150,6 @@ export async function createSpiderFlySession({ flyCount = 1 } = {}) {
149
150
  // a spider's remaining silk-thread path from its returned direction list, and
150
151
  // computing the POV overlay's visible-cell mask, both need them.
151
152
  globalThis.tmctSpiderFly = {
152
- createSpiderFlySession, normFactTerm, resolveSpriteForClass, SPRITE_REGISTRY,
153
+ createSpiderFlySession, normFactTerm, resolveSpriteForClass, SPRITE_REGISTRY, resolveSpriteAsset,
153
154
  cellId, parseCellId, DIRECTION_DELTA, visibleCells, DEFAULT_VISION_RADIUS,
154
155
  };