@polycode-projects/the-mechanical-code-talker 4.0.0 → 4.1.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 (108) hide show
  1. package/README.md +178 -9
  2. package/corpus/reference/index.json.gz +0 -0
  3. package/corpus/reference/manifest.json +8 -8
  4. package/corpus/reference/shards/ref-00.jsonl.gz +0 -0
  5. package/corpus/sprites/src/sprite-facts.jsonl +401 -0
  6. package/corpus/worlds/index.json.gz +0 -0
  7. package/corpus/worlds/manifest.json +49 -9
  8. package/corpus/worlds/shards/greyvale-museum.jsonl.gz +0 -0
  9. package/corpus/worlds/shards/lantern-cottage.jsonl.gz +0 -0
  10. package/corpus/worlds/shards/mud-hollow.jsonl.gz +0 -0
  11. package/corpus/worlds/shards/mud-warren.jsonl.gz +0 -0
  12. package/corpus/worlds/shards/spider-fly.jsonl.gz +0 -0
  13. package/corpus/worlds/src/greyvale-museum.jsonl +136 -0
  14. package/corpus/worlds/src/lantern-cottage.jsonl +60 -0
  15. package/corpus/worlds/src/mud-hollow.jsonl +82 -0
  16. package/corpus/worlds/src/mud-warren.jsonl +124 -0
  17. package/corpus/worlds/src/spider-fly.jsonl +1 -1
  18. package/data/sprites/animal-icon.toml +11 -5
  19. package/data/sprites/book-icon.toml +9 -5
  20. package/data/sprites/cabinet-icon.toml +10 -5
  21. package/data/sprites/cellar-icon.toml +16 -6
  22. package/data/sprites/container-icon.toml +7 -3
  23. package/data/sprites/desk-icon.toml +8 -5
  24. package/data/sprites/dog-icon.toml +8 -5
  25. package/data/sprites/dog-with-colour-icon.toml +13 -12
  26. package/data/sprites/drawing-room-icon.toml +14 -5
  27. package/data/sprites/egg-icon.toml +6 -3
  28. package/data/sprites/fly-icon.toml +10 -5
  29. package/data/sprites/furniture-icon.toml +5 -3
  30. package/data/sprites/garden-icon.toml +10 -3
  31. package/data/sprites/key-icon.toml +3 -1
  32. package/data/sprites/kitchen-icon.toml +15 -6
  33. package/data/sprites/lamp-icon.toml +9 -4
  34. package/data/sprites/letter-icon.toml +7 -4
  35. package/data/sprites/library-icon.toml +14 -3
  36. package/data/sprites/pan-icon.toml +7 -3
  37. package/data/sprites/person-icon.toml +6 -2
  38. package/data/sprites/poodle-icon.toml +1 -1
  39. package/data/sprites/portable-icon.toml +6 -4
  40. package/data/sprites/portrait-icon.toml +7 -4
  41. package/data/sprites/room-icon.toml +11 -2
  42. package/data/sprites/spider-icon.toml +9 -3
  43. package/data/sprites/study-icon.toml +10 -2
  44. package/package.json +5 -4
  45. package/src/adapters/memory/core.mjs +20 -0
  46. package/src/domain/ask-vocab.mjs +71 -0
  47. package/src/domain/ask.mjs +168 -0
  48. package/src/domain/game-config.mjs +11 -0
  49. package/src/domain/grammar/ace.mjs +40 -4
  50. package/src/domain/grammar/lexicon-core.json +2 -1
  51. package/src/domain/grammar/lexicon.mjs +18 -0
  52. package/src/domain/mud-facts.mjs +15 -0
  53. package/src/domain/reference-pack.mjs +31 -7
  54. package/src/domain/router/drive.mjs +35 -9
  55. package/src/domain/router/registry.mjs +24 -4
  56. package/src/domain/router/resolver.mjs +102 -40
  57. package/src/domain/scene-compose.mjs +117 -0
  58. package/src/domain/spider-fly-world.mjs +37 -1
  59. package/src/domain/sprite-facts.mjs +0 -0
  60. package/src/domain/sprite-request.mjs +156 -0
  61. package/src/domain/sprite-templates.mjs +169 -20
  62. package/src/services/adventure-editor.mjs +8 -14
  63. package/src/services/adventure-viz.mjs +209 -157
  64. package/src/services/adventure.mjs +526 -391
  65. package/src/services/chat-page-viz.mjs +69 -25
  66. package/src/services/chat.mjs +200 -51
  67. package/src/services/code-explorer-viz.mjs +102 -62
  68. package/src/services/extract-facts.mjs +4 -7
  69. package/src/services/ingest-viz.mjs +68 -82
  70. package/src/services/ledger-viz.mjs +136 -67
  71. package/src/services/memory-panel-viz.mjs +62 -0
  72. package/src/services/mud-editor.mjs +10 -15
  73. package/src/services/mud-turn.mjs +6 -6
  74. package/src/services/mud-viz.mjs +1016 -208
  75. package/src/services/p2p-room.mjs +90 -23
  76. package/src/services/plan-pddl.mjs +3 -1
  77. package/src/services/plan-viz.mjs +123 -64
  78. package/src/services/research-viz.mjs +160 -108
  79. package/src/services/spider-fly-turn.mjs +15 -23
  80. package/src/services/spider-fly-viz.mjs +146 -161
  81. package/src/services/spider-fly.mjs +69 -11
  82. package/src/services/sprite-catalog-viz.mjs +414 -240
  83. package/src/services/viz-boot.mjs +71 -0
  84. package/src/services/viz-room-graph.mjs +203 -0
  85. package/src/services/viz-theme.mjs +90 -1
  86. package/src/services/viz-ticker.mjs +22 -0
  87. package/src/surfaces/web/adventure-browser-entry.mjs +49 -33
  88. package/src/surfaces/web/chat-browser-entry.mjs +30 -105
  89. package/src/surfaces/web/code-explorer-browser-entry.mjs +168 -24
  90. package/src/surfaces/web/ingest-browser-entry.mjs +3 -13
  91. package/src/surfaces/web/ledger-browser-entry.mjs +7 -47
  92. package/src/surfaces/web/memory-ask-browser.bundle.js +127 -124
  93. package/src/surfaces/web/memory-stats.mjs +11 -0
  94. package/src/surfaces/web/mud-browser-entry.mjs +71 -29
  95. package/src/surfaces/web/plan-browser-entry.mjs +22 -40
  96. package/src/surfaces/web/research-browser-entry.mjs +26 -41
  97. package/src/surfaces/web/spider-fly-browser-entry.mjs +45 -28
  98. package/src/surfaces/web/sprites-browser-entry.mjs +14 -27
  99. package/src/surfaces/web/turn-session.mjs +120 -0
  100. package/src/tools/definitions.mjs +30 -0
  101. package/src/tools/handlers/index.mjs +6 -3
  102. package/src/tools/handlers/kit.mjs +19 -2
  103. package/src/tools/handlers/tmct-ask.mjs +11 -6
  104. package/src/tools/handlers/tmct-ingest.mjs +5 -1
  105. package/src/tools/handlers/tmct-related.mjs +4 -4
  106. package/src/tools/handlers/tmct-sprite.mjs +147 -0
  107. package/src/tools/memory-fallthrough.mjs +9 -2
  108. package/src/tools/server.mjs +25 -1
Binary file
@@ -2,9 +2,9 @@
2
2
  "version": 1,
3
3
  "generated": "by scripts/build-worlds-pack.mjs from corpus/worlds/src/",
4
4
  "counts": {
5
- "worlds": 3,
6
- "facts": 654,
7
- "rules": 40
5
+ "worlds": 7,
6
+ "facts": 976,
7
+ "rules": 116
8
8
  },
9
9
  "budgets": {
10
10
  "sourceBytesPerWorld": 131072,
@@ -17,37 +17,77 @@
17
17
  "bytes": 11754,
18
18
  "sha256": "18e58700a59ae3876dd4f949ede7fa17e19f3a8c2dc8ae4644dbddf98c138524"
19
19
  },
20
+ {
21
+ "file": "src/greyvale-museum.jsonl",
22
+ "bytes": 15843,
23
+ "sha256": "a0b63dad7dcb88a5a61d4798cb4b7c2568736aec3d520677ee4db6e908ffe04d"
24
+ },
25
+ {
26
+ "file": "src/lantern-cottage.jsonl",
27
+ "bytes": 7664,
28
+ "sha256": "3f60f029be8940f64e14a10a6123be0582545ea0f7a391554b50ea3ffbda3f4f"
29
+ },
20
30
  {
21
31
  "file": "src/mud-garden.jsonl",
22
32
  "bytes": 11802,
23
33
  "sha256": "7aac1b1b3460126b6aeed2f83d71f566636cf18935e81396a6e9e7f126750418"
24
34
  },
35
+ {
36
+ "file": "src/mud-hollow.jsonl",
37
+ "bytes": 9781,
38
+ "sha256": "53840da79db127a213108ed4f9f0fb344aaab68aa30af0a8df620096b29c9456"
39
+ },
40
+ {
41
+ "file": "src/mud-warren.jsonl",
42
+ "bytes": 14345,
43
+ "sha256": "338f8c63ae94e62f9c4fa06e090569b248c3afdd404d3034fc43c8e0dc9d9e39"
44
+ },
25
45
  {
26
46
  "file": "src/spider-fly.jsonl",
27
- "bytes": 53693,
28
- "sha256": "879c45652d0636c27f937e809e9883d0039b20fdc11032ac2040894d08c6a0a4"
47
+ "bytes": 53690,
48
+ "sha256": "24a6f5b609a65079b15fe9448154cd0fae9a37b3de5d4db278a9037b1332ff68"
29
49
  }
30
50
  ],
31
51
  "files": [
32
52
  {
33
53
  "file": "index.json.gz",
34
- "bytes": 80,
35
- "sha256": "7778b3a2652c20a9c12176ccdba95953eb271b99d1218e20898be17ed0317a71"
54
+ "bytes": 129,
55
+ "sha256": "5d1c22bceb0bb39bb740ed4714c4fc295ae7f3969a11b695be6541bdbcefa988"
36
56
  },
37
57
  {
38
58
  "file": "shards/ashcombe-hall.jsonl.gz",
39
59
  "bytes": 1292,
40
60
  "sha256": "a8e61a93ebf992a8b87221c5a9a9f53bf92b7798cee86fb9d6915a1844d960dd"
41
61
  },
62
+ {
63
+ "file": "shards/greyvale-museum.jsonl.gz",
64
+ "bytes": 1532,
65
+ "sha256": "ae3546db053dd0d4e5ee0b02d3be2128cfa645a5218d3b2b102589495b027cfd"
66
+ },
67
+ {
68
+ "file": "shards/lantern-cottage.jsonl.gz",
69
+ "bytes": 1022,
70
+ "sha256": "73e6e0ed2b1298fe4fcf0ff83446c610cd594e0417762a0a83c30358429e90aa"
71
+ },
42
72
  {
43
73
  "file": "shards/mud-garden.jsonl.gz",
44
74
  "bytes": 1243,
45
75
  "sha256": "8f99eca74bd41b7f893bfca7f49cd4df8ebc53b6f61e3d9bc82ea1350cd23e83"
46
76
  },
77
+ {
78
+ "file": "shards/mud-hollow.jsonl.gz",
79
+ "bytes": 1087,
80
+ "sha256": "1fbaaa95e508b2ccb9367c21df0e88a9d7b1cb442f5e8f53489af3edc2bd7071"
81
+ },
82
+ {
83
+ "file": "shards/mud-warren.jsonl.gz",
84
+ "bytes": 1421,
85
+ "sha256": "2926532520ec5888865c1c636595add035afed1e424427371e5a86a743293189"
86
+ },
47
87
  {
48
88
  "file": "shards/spider-fly.jsonl.gz",
49
- "bytes": 3156,
50
- "sha256": "3e55614801471186b06a9514d5534ac14050663ec00e27dc0618eb97319d516f"
89
+ "bytes": 3148,
90
+ "sha256": "671db4f8820ef591cdb49887e05b066ca39e891635123b0c8b56d7a7802c3128"
51
91
  }
52
92
  ]
53
93
  }
@@ -0,0 +1,136 @@
1
+ {"world":"greyvale-museum","kind":"meta","opening":"the adventure begins. You are in the foyer of the Greyvale Museum, closed for the night. The founder's gold sits in the vault below, behind a cabinet, behind a desk, behind a portrait. Say \"look\" to look around, \"go north\" (or south, east, west, up, down) to move, and \"stop playing\" to end the game."}
2
+ {"world":"greyvale-museum","kind":"fact","subject":"player","predicate":"rdf:type","object":"adventurer"}
3
+ {"world":"greyvale-museum","kind":"fact","subject":"foyer","predicate":"rdf:type","object":"room"}
4
+ {"world":"greyvale-museum","kind":"fact","subject":"gallery","predicate":"rdf:type","object":"room"}
5
+ {"world":"greyvale-museum","kind":"fact","subject":"library","predicate":"rdf:type","object":"room"}
6
+ {"world":"greyvale-museum","kind":"fact","subject":"study","predicate":"rdf:type","object":"room"}
7
+ {"world":"greyvale-museum","kind":"fact","subject":"office","predicate":"rdf:type","object":"room"}
8
+ {"world":"greyvale-museum","kind":"fact","subject":"kitchen","predicate":"rdf:type","object":"room"}
9
+ {"world":"greyvale-museum","kind":"fact","subject":"garden","predicate":"rdf:type","object":"room"}
10
+ {"world":"greyvale-museum","kind":"fact","subject":"cellar","predicate":"rdf:type","object":"room"}
11
+ {"world":"greyvale-museum","kind":"fact","subject":"vault","predicate":"rdf:type","object":"room"}
12
+ {"world":"greyvale-museum","kind":"fact","subject":"foyer","predicate":"mgx:has-exit-north","object":"gallery"}
13
+ {"world":"greyvale-museum","kind":"fact","subject":"gallery","predicate":"mgx:has-exit-south","object":"foyer"}
14
+ {"world":"greyvale-museum","kind":"fact","subject":"gallery","predicate":"mgx:has-exit-north","object":"library"}
15
+ {"world":"greyvale-museum","kind":"fact","subject":"library","predicate":"mgx:has-exit-south","object":"gallery"}
16
+ {"world":"greyvale-museum","kind":"fact","subject":"gallery","predicate":"mgx:has-exit-east","object":"study"}
17
+ {"world":"greyvale-museum","kind":"fact","subject":"study","predicate":"mgx:has-exit-west","object":"gallery"}
18
+ {"world":"greyvale-museum","kind":"fact","subject":"library","predicate":"mgx:has-exit-east","object":"office"}
19
+ {"world":"greyvale-museum","kind":"fact","subject":"office","predicate":"mgx:has-exit-west","object":"library"}
20
+ {"world":"greyvale-museum","kind":"fact","subject":"foyer","predicate":"mgx:has-exit-east","object":"kitchen"}
21
+ {"world":"greyvale-museum","kind":"fact","subject":"kitchen","predicate":"mgx:has-exit-west","object":"foyer"}
22
+ {"world":"greyvale-museum","kind":"fact","subject":"kitchen","predicate":"mgx:has-exit-east","object":"garden"}
23
+ {"world":"greyvale-museum","kind":"fact","subject":"garden","predicate":"mgx:has-exit-west","object":"kitchen"}
24
+ {"world":"greyvale-museum","kind":"fact","subject":"foyer","predicate":"mgx:has-exit-down","object":"cellar"}
25
+ {"world":"greyvale-museum","kind":"fact","subject":"cellar","predicate":"mgx:has-exit-up","object":"foyer"}
26
+ {"world":"greyvale-museum","kind":"fact","subject":"cellar","predicate":"mgx:has-exit-north","object":"vault"}
27
+ {"world":"greyvale-museum","kind":"fact","subject":"vault","predicate":"mgx:has-exit-south","object":"cellar"}
28
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"rdf:type","object":"person"}
29
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"rdf:type","object":"person"}
30
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"rdf:type","object":"person"}
31
+ {"world":"greyvale-museum","kind":"fact","subject":"cook","predicate":"rdf:type","object":"person"}
32
+ {"world":"greyvale-museum","kind":"fact","subject":"gardener","predicate":"rdf:type","object":"person"}
33
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"rdf:type","object":"person"}
34
+ {"world":"greyvale-museum","kind":"fact","subject":"portrait","predicate":"rdf:type","object":"furniture"}
35
+ {"world":"greyvale-museum","kind":"fact","subject":"desk","predicate":"rdf:type","object":"furniture"}
36
+ {"world":"greyvale-museum","kind":"fact","subject":"cabinet","predicate":"rdf:type","object":"furniture"}
37
+ {"world":"greyvale-museum","kind":"fact","subject":"table","predicate":"rdf:type","object":"furniture"}
38
+ {"world":"greyvale-museum","kind":"fact","subject":"ring","predicate":"rdf:type","object":"portable"}
39
+ {"world":"greyvale-museum","kind":"fact","subject":"key","predicate":"rdf:type","object":"portable"}
40
+ {"world":"greyvale-museum","kind":"fact","subject":"gold","predicate":"rdf:type","object":"portable"}
41
+ {"world":"greyvale-museum","kind":"fact","subject":"lamp","predicate":"rdf:type","object":"portable"}
42
+ {"world":"greyvale-museum","kind":"fact","subject":"letter","predicate":"rdf:type","object":"portable"}
43
+ {"world":"greyvale-museum","kind":"fact","subject":"player","predicate":"mgx:currently-in","object":"foyer"}
44
+ {"world":"greyvale-museum","kind":"fact","subject":"portrait","predicate":"mgx:fixed-in","object":"gallery"}
45
+ {"world":"greyvale-museum","kind":"fact","subject":"portrait","predicate":"mgx:is-container","object":"true"}
46
+ {"world":"greyvale-museum","kind":"fact","subject":"ring","predicate":"mgx:hidden-in","object":"portrait"}
47
+ {"world":"greyvale-museum","kind":"fact","subject":"desk","predicate":"mgx:stands-locked-in","object":"office"}
48
+ {"world":"greyvale-museum","kind":"fact","subject":"desk","predicate":"mgx:is-container","object":"true"}
49
+ {"world":"greyvale-museum","kind":"fact","subject":"desk","predicate":"mgx:unlocks-with","object":"ring"}
50
+ {"world":"greyvale-museum","kind":"fact","subject":"key","predicate":"mgx:hidden-in","object":"desk"}
51
+ {"world":"greyvale-museum","kind":"fact","subject":"cabinet","predicate":"mgx:stands-locked-in","object":"vault"}
52
+ {"world":"greyvale-museum","kind":"fact","subject":"cabinet","predicate":"mgx:is-container","object":"true"}
53
+ {"world":"greyvale-museum","kind":"fact","subject":"cabinet","predicate":"mgx:unlocks-with","object":"key"}
54
+ {"world":"greyvale-museum","kind":"fact","subject":"gold","predicate":"mgx:hidden-in","object":"cabinet"}
55
+ {"world":"greyvale-museum","kind":"fact","subject":"gold","predicate":"mgx:is-objective","object":"true"}
56
+ {"world":"greyvale-museum","kind":"fact","subject":"table","predicate":"mgx:fixed-in","object":"study"}
57
+ {"world":"greyvale-museum","kind":"fact","subject":"lamp","predicate":"mgx:located-in","object":"study"}
58
+ {"world":"greyvale-museum","kind":"fact","subject":"lamp","predicate":"mgx:on-top-of","object":"table"}
59
+ {"world":"greyvale-museum","kind":"fact","subject":"letter","predicate":"mgx:located-in","object":"library"}
60
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:currently-in","object":"foyer"}
61
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:currently-in","object":"cellar"}
62
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"mgx:currently-in","object":"library"}
63
+ {"world":"greyvale-museum","kind":"fact","subject":"cook","predicate":"mgx:currently-in","object":"kitchen"}
64
+ {"world":"greyvale-museum","kind":"fact","subject":"gardener","predicate":"mgx:currently-in","object":"garden"}
65
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:currently-in","object":"gallery"}
66
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:is-npc","object":"true"}
67
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:is-npc","object":"true"}
68
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"mgx:is-npc","object":"true"}
69
+ {"world":"greyvale-museum","kind":"fact","subject":"cook","predicate":"mgx:is-npc","object":"true"}
70
+ {"world":"greyvale-museum","kind":"fact","subject":"gardener","predicate":"mgx:is-npc","object":"true"}
71
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:is-npc","object":"true"}
72
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:acts-on-turn","object":"4"}
73
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:acts-toward","object":"foyer"}
74
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:acts-on-turn","object":"6"}
75
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:acts-toward","object":"vault"}
76
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:works-in","object":"foyer"}
77
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:works-in","object":"cellar"}
78
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"mgx:works-in","object":"library"}
79
+ {"world":"greyvale-museum","kind":"fact","subject":"cook","predicate":"mgx:works-in","object":"kitchen"}
80
+ {"world":"greyvale-museum","kind":"fact","subject":"gardener","predicate":"mgx:works-in","object":"garden"}
81
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:works-in","object":"gallery"}
82
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:knows-objective","object":"gold"}
83
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:knows-where","object":"officer"}
84
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:knows-where","object":"writer"}
85
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:knows-where","object":"visitor"}
86
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:knows-where","object":"key"}
87
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:knows-where","object":"cabinet"}
88
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"mgx:knows-where","object":"ring"}
89
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"mgx:knows-where","object":"desk"}
90
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:knows-where","object":"portrait"}
91
+ {"world":"greyvale-museum","kind":"fact","subject":"cook","predicate":"mgx:knows-where","object":"gardener"}
92
+ {"world":"greyvale-museum","kind":"fact","subject":"gardener","predicate":"mgx:knows-where","object":"gold"}
93
+ {"world":"greyvale-museum","kind":"fact","subject":"curator","predicate":"mgx:knows-about","object":"foyer"}
94
+ {"world":"greyvale-museum","kind":"fact","subject":"officer","predicate":"mgx:knows-about","object":"vault"}
95
+ {"world":"greyvale-museum","kind":"fact","subject":"writer","predicate":"mgx:knows-about","object":"library"}
96
+ {"world":"greyvale-museum","kind":"fact","subject":"cook","predicate":"mgx:knows-about","object":"kitchen"}
97
+ {"world":"greyvale-museum","kind":"fact","subject":"gardener","predicate":"mgx:knows-about","object":"garden"}
98
+ {"world":"greyvale-museum","kind":"fact","subject":"visitor","predicate":"mgx:knows-about","object":"gallery"}
99
+ {"world":"greyvale-museum","kind":"fact","subject":"greyvale museum","predicate":"mgx:hasA","object":"9 rooms"}
100
+ {"world":"greyvale-museum","kind":"fact","subject":"player","predicate":"mgx:hasA","object":"satchel"}
101
+ {"world":"greyvale-museum","kind":"fact","subject":"satchel","predicate":"mgx:usedFor","object":"carrying what the player takes"}
102
+ {"world":"greyvale-museum","kind":"fact","subject":"vault","predicate":"mgx:usedFor","object":"keeping what the museum will not put on show"}
103
+ {"world":"greyvale-museum","kind":"fact","subject":"garden","predicate":"mgx:hasA","object":"gravel walk"}
104
+ {"world":"greyvale-museum","kind":"fact","subject":"room","predicate":"rdfs:subClassOf","object":"space"}
105
+ {"world":"greyvale-museum","kind":"fact","subject":"outdoor-space","predicate":"rdfs:subClassOf","object":"space"}
106
+ {"world":"greyvale-museum","kind":"fact","subject":"underground-space","predicate":"rdfs:subClassOf","object":"space"}
107
+ {"world":"greyvale-museum","kind":"fact","subject":"garden","predicate":"rdf:type","object":"outdoor-space"}
108
+ {"world":"greyvale-museum","kind":"fact","subject":"cellar","predicate":"rdf:type","object":"underground-space"}
109
+ {"world":"greyvale-museum","kind":"fact","subject":"vault","predicate":"rdf:type","object":"underground-space"}
110
+ {"world":"greyvale-museum","kind":"fact","subject":"portrait","predicate":"rdfs:subClassOf","object":"painting"}
111
+ {"world":"greyvale-museum","kind":"fact","subject":"painting","predicate":"mgx:default-plane","object":"wall"}
112
+ {"world":"greyvale-museum","kind":"fact","subject":"furniture","predicate":"mgx:default-plane","object":"floor"}
113
+ {"world":"greyvale-museum","kind":"fact","subject":"portable","predicate":"mgx:default-plane","object":"floor"}
114
+ {"world":"greyvale-museum","kind":"fact","subject":"book","predicate":"rdfs:subClassOf","object":"portable"}
115
+ {"world":"greyvale-museum","kind":"fact","subject":"pan","predicate":"rdfs:subClassOf","object":"portable"}
116
+ {"world":"greyvale-museum","kind":"fact","subject":"library","predicate":"mgx:default-contains","object":"book"}
117
+ {"world":"greyvale-museum","kind":"fact","subject":"study","predicate":"mgx:default-contains","object":"book"}
118
+ {"world":"greyvale-museum","kind":"fact","subject":"kitchen","predicate":"mgx:default-contains","object":"pan"}
119
+ {"world":"greyvale-museum","kind":"fact","subject":"kitchen","predicate":"mgx:usedFor","object":"feeding the museum's staff"}
120
+ {"world":"greyvale-museum","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"room"}}
121
+ {"world":"greyvale-museum","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"person","targetClass":"room"}}
122
+ {"world":"greyvale-museum","kind":"rule","name":"go","ruleKind":"action-effect","slots":{"predicate":"currently-in","subjectRole":"subject","objectRole":"target"}}
123
+ {"world":"greyvale-museum","kind":"rule","name":"take","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"adventurer"}}
124
+ {"world":"greyvale-museum","kind":"rule","name":"take","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
125
+ {"world":"greyvale-museum","kind":"rule","name":"drop","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"room"}}
126
+ {"world":"greyvale-museum","kind":"rule","name":"drop","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
127
+ {"world":"greyvale-museum","kind":"rule","name":"give","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"person"}}
128
+ {"world":"greyvale-museum","kind":"rule","name":"give","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
129
+ {"world":"greyvale-museum","kind":"rule","name":"open","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
130
+ {"world":"greyvale-museum","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"stands-locked-in","role":"target","scope":"any","negate":"true"}}
131
+ {"world":"greyvale-museum","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true","negate":"true"}}
132
+ {"world":"greyvale-museum","kind":"rule","name":"open","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"true"}}
133
+ {"world":"greyvale-museum","kind":"rule","name":"unlock","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
134
+ {"world":"greyvale-museum","kind":"rule","name":"close","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
135
+ {"world":"greyvale-museum","kind":"rule","name":"close","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true"}}
136
+ {"world":"greyvale-museum","kind":"rule","name":"close","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"false"}}
@@ -0,0 +1,60 @@
1
+ {"world":"lantern-cottage","kind":"meta","opening":"the adventure begins. You are in the parlour of Lantern Cottage. Your grandmother's ring is somewhere in these three rooms, and she will tell you where if you find her. Say \"look\" to look around, \"go north\" (or south, east, west) to move, and \"stop playing\" to end the game."}
2
+ {"world":"lantern-cottage","kind":"fact","subject":"player","predicate":"rdf:type","object":"adventurer"}
3
+ {"world":"lantern-cottage","kind":"fact","subject":"parlour","predicate":"rdf:type","object":"room"}
4
+ {"world":"lantern-cottage","kind":"fact","subject":"bedroom","predicate":"rdf:type","object":"room"}
5
+ {"world":"lantern-cottage","kind":"fact","subject":"garden","predicate":"rdf:type","object":"room"}
6
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"rdf:type","object":"person"}
7
+ {"world":"lantern-cottage","kind":"fact","subject":"ring","predicate":"rdf:type","object":"portable"}
8
+ {"world":"lantern-cottage","kind":"fact","subject":"lamp","predicate":"rdf:type","object":"portable"}
9
+ {"world":"lantern-cottage","kind":"fact","subject":"flower","predicate":"rdf:type","object":"portable"}
10
+ {"world":"lantern-cottage","kind":"fact","subject":"basket","predicate":"rdf:type","object":"furniture"}
11
+ {"world":"lantern-cottage","kind":"fact","subject":"chair","predicate":"rdf:type","object":"furniture"}
12
+ {"world":"lantern-cottage","kind":"fact","subject":"parlour","predicate":"mgx:has-exit-north","object":"bedroom"}
13
+ {"world":"lantern-cottage","kind":"fact","subject":"bedroom","predicate":"mgx:has-exit-south","object":"parlour"}
14
+ {"world":"lantern-cottage","kind":"fact","subject":"parlour","predicate":"mgx:has-exit-east","object":"garden"}
15
+ {"world":"lantern-cottage","kind":"fact","subject":"garden","predicate":"mgx:has-exit-west","object":"parlour"}
16
+ {"world":"lantern-cottage","kind":"fact","subject":"player","predicate":"mgx:currently-in","object":"parlour"}
17
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"mgx:currently-in","object":"garden"}
18
+ {"world":"lantern-cottage","kind":"fact","subject":"chair","predicate":"mgx:fixed-in","object":"parlour"}
19
+ {"world":"lantern-cottage","kind":"fact","subject":"lamp","predicate":"mgx:located-in","object":"parlour"}
20
+ {"world":"lantern-cottage","kind":"fact","subject":"flower","predicate":"mgx:located-in","object":"garden"}
21
+ {"world":"lantern-cottage","kind":"fact","subject":"basket","predicate":"mgx:fixed-in","object":"bedroom"}
22
+ {"world":"lantern-cottage","kind":"fact","subject":"basket","predicate":"mgx:is-container","object":"true"}
23
+ {"world":"lantern-cottage","kind":"fact","subject":"ring","predicate":"mgx:hidden-in","object":"basket"}
24
+ {"world":"lantern-cottage","kind":"fact","subject":"ring","predicate":"mgx:is-objective","object":"true"}
25
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"mgx:is-npc","object":"true"}
26
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"mgx:works-in","object":"garden"}
27
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"mgx:knows-where","object":"ring"}
28
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"mgx:knows-objective","object":"ring"}
29
+ {"world":"lantern-cottage","kind":"fact","subject":"grandmother","predicate":"mgx:knows-about","object":"garden"}
30
+ {"world":"lantern-cottage","kind":"fact","subject":"lantern cottage","predicate":"mgx:hasA","object":"3 rooms"}
31
+ {"world":"lantern-cottage","kind":"fact","subject":"player","predicate":"mgx:hasA","object":"satchel"}
32
+ {"world":"lantern-cottage","kind":"fact","subject":"satchel","predicate":"mgx:usedFor","object":"carrying what the player takes"}
33
+ {"world":"lantern-cottage","kind":"fact","subject":"garden","predicate":"mgx:hasA","object":"row of lavender"}
34
+ {"world":"lantern-cottage","kind":"fact","subject":"bedroom","predicate":"mgx:usedFor","object":"keeping what the cottage does not use every day"}
35
+ {"world":"lantern-cottage","kind":"fact","subject":"room","predicate":"rdfs:subClassOf","object":"space"}
36
+ {"world":"lantern-cottage","kind":"fact","subject":"outdoor-space","predicate":"rdfs:subClassOf","object":"space"}
37
+ {"world":"lantern-cottage","kind":"fact","subject":"underground-space","predicate":"rdfs:subClassOf","object":"space"}
38
+ {"world":"lantern-cottage","kind":"fact","subject":"garden","predicate":"rdf:type","object":"outdoor-space"}
39
+ {"world":"lantern-cottage","kind":"fact","subject":"furniture","predicate":"mgx:default-plane","object":"floor"}
40
+ {"world":"lantern-cottage","kind":"fact","subject":"portable","predicate":"mgx:default-plane","object":"floor"}
41
+ {"world":"lantern-cottage","kind":"fact","subject":"lamp","predicate":"mgx:on-top-of","object":"chair"}
42
+ {"world":"lantern-cottage","kind":"fact","subject":"book","predicate":"rdfs:subClassOf","object":"portable"}
43
+ {"world":"lantern-cottage","kind":"fact","subject":"bedroom","predicate":"mgx:default-contains","object":"book"}
44
+ {"world":"lantern-cottage","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"room"}}
45
+ {"world":"lantern-cottage","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"person","targetClass":"room"}}
46
+ {"world":"lantern-cottage","kind":"rule","name":"go","ruleKind":"action-effect","slots":{"predicate":"currently-in","subjectRole":"subject","objectRole":"target"}}
47
+ {"world":"lantern-cottage","kind":"rule","name":"take","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"adventurer"}}
48
+ {"world":"lantern-cottage","kind":"rule","name":"take","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
49
+ {"world":"lantern-cottage","kind":"rule","name":"drop","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"room"}}
50
+ {"world":"lantern-cottage","kind":"rule","name":"drop","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
51
+ {"world":"lantern-cottage","kind":"rule","name":"give","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"person"}}
52
+ {"world":"lantern-cottage","kind":"rule","name":"give","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
53
+ {"world":"lantern-cottage","kind":"rule","name":"open","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
54
+ {"world":"lantern-cottage","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"stands-locked-in","role":"target","scope":"any","negate":"true"}}
55
+ {"world":"lantern-cottage","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true","negate":"true"}}
56
+ {"world":"lantern-cottage","kind":"rule","name":"open","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"true"}}
57
+ {"world":"lantern-cottage","kind":"rule","name":"unlock","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
58
+ {"world":"lantern-cottage","kind":"rule","name":"close","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
59
+ {"world":"lantern-cottage","kind":"rule","name":"close","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true"}}
60
+ {"world":"lantern-cottage","kind":"rule","name":"close","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"false"}}
@@ -0,0 +1,82 @@
1
+ {"world":"mud-hollow","kind":"meta","opening":"a mossy hollow under a hedge, with one short tunnel and a larder at the end of it. Nothing hunts here. Say \"look\" to look around and \"go down\" to drop into the tunnel. Above ground the only dig is straight down; under the soil you can dig north, south, east or west, or up to break the surface."}
2
+ {"world":"mud-hollow","kind":"fact","subject":"hollow","predicate":"rdf:type","object":"room"}
3
+ {"world":"mud-hollow","kind":"fact","subject":"hollow","predicate":"mgx:is-origin","object":"true"}
4
+ {"world":"mud-hollow","kind":"fact","subject":"tunnel-1","predicate":"rdf:type","object":"room"}
5
+ {"world":"mud-hollow","kind":"fact","subject":"larder","predicate":"rdf:type","object":"room"}
6
+ {"world":"mud-hollow","kind":"fact","subject":"hollow","predicate":"mgx:has-exit-down","object":"tunnel-1"}
7
+ {"world":"mud-hollow","kind":"fact","subject":"tunnel-1","predicate":"mgx:has-exit-up","object":"hollow"}
8
+ {"world":"mud-hollow","kind":"fact","subject":"tunnel-1","predicate":"mgx:has-exit-east","object":"larder"}
9
+ {"world":"mud-hollow","kind":"fact","subject":"larder","predicate":"mgx:has-exit-west","object":"tunnel-1"}
10
+ {"world":"mud-hollow","kind":"fact","subject":"mole-1","predicate":"rdf:type","object":"adventurer"}
11
+ {"world":"mud-hollow","kind":"fact","subject":"vole-1","predicate":"rdf:type","object":"adventurer"}
12
+ {"world":"mud-hollow","kind":"fact","subject":"mole-1","predicate":"mgx:currently-in","object":"hollow"}
13
+ {"world":"mud-hollow","kind":"fact","subject":"vole-1","predicate":"mgx:currently-in","object":"hollow"}
14
+ {"world":"mud-hollow","kind":"fact","subject":"mole-1","predicate":"mgx:hasMass","object":"8"}
15
+ {"world":"mud-hollow","kind":"fact","subject":"vole-1","predicate":"mgx:hasMass","object":"6"}
16
+ {"world":"mud-hollow","kind":"fact","subject":"food","predicate":"rdfs:subClassOf","object":"portable"}
17
+ {"world":"mud-hollow","kind":"fact","subject":"carrot","predicate":"rdfs:subClassOf","object":"food"}
18
+ {"world":"mud-hollow","kind":"fact","subject":"lettuce","predicate":"rdfs:subClassOf","object":"food"}
19
+ {"world":"mud-hollow","kind":"fact","subject":"tomato","predicate":"rdfs:subClassOf","object":"food"}
20
+ {"world":"mud-hollow","kind":"fact","subject":"carrot","predicate":"rdf:type","object":"carrot"}
21
+ {"world":"mud-hollow","kind":"fact","subject":"carrot","predicate":"mgx:located-in","object":"hollow"}
22
+ {"world":"mud-hollow","kind":"fact","subject":"carrot","predicate":"mgx:hasMass","object":"3"}
23
+ {"world":"mud-hollow","kind":"fact","subject":"lettuce","predicate":"rdf:type","object":"lettuce"}
24
+ {"world":"mud-hollow","kind":"fact","subject":"lettuce","predicate":"mgx:located-in","object":"larder"}
25
+ {"world":"mud-hollow","kind":"fact","subject":"lettuce","predicate":"mgx:hasMass","object":"2"}
26
+ {"world":"mud-hollow","kind":"fact","subject":"tomato","predicate":"rdf:type","object":"tomato"}
27
+ {"world":"mud-hollow","kind":"fact","subject":"tomato","predicate":"mgx:located-in","object":"larder"}
28
+ {"world":"mud-hollow","kind":"fact","subject":"tomato","predicate":"mgx:hasMass","object":"2"}
29
+ {"world":"mud-hollow","kind":"fact","subject":"root","predicate":"rdfs:subClassOf","object":"food"}
30
+ {"world":"mud-hollow","kind":"fact","subject":"root","predicate":"mgx:hasMass","object":"2"}
31
+ {"world":"mud-hollow","kind":"fact","subject":"worm","predicate":"rdfs:subClassOf","object":"food"}
32
+ {"world":"mud-hollow","kind":"fact","subject":"worm","predicate":"mgx:hasMass","object":"2"}
33
+ {"world":"mud-hollow","kind":"fact","subject":"mouse","predicate":"rdfs:subClassOf","object":"animal"}
34
+ {"world":"mud-hollow","kind":"fact","subject":"mouse","predicate":"mgx:hasMass","object":"4"}
35
+ {"world":"mud-hollow","kind":"fact","subject":"den","predicate":"rdfs:subClassOf","object":"underground-space"}
36
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawns","object":"root"}
37
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawns","object":"carrot"}
38
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawns","object":"worm"}
39
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-spawns","object":"carrot"}
40
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-spawns","object":"lettuce"}
41
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-spawns","object":"root"}
42
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-spawns","object":"worm"}
43
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-resident","object":"mouse"}
44
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawn-max","object":"3"}
45
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-chance-in","object":"3"}
46
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"mgx:den-resident-chance-in","object":"6"}
47
+ {"world":"mud-hollow","kind":"fact","subject":"hollow","predicate":"mgx:dig-reach","object":"3"}
48
+ {"world":"mud-hollow","kind":"fact","subject":"mole-1","predicate":"mgx:mass-drain-per-turn","object":"0.04"}
49
+ {"world":"mud-hollow","kind":"fact","subject":"vole-1","predicate":"mgx:mass-drain-per-turn","object":"0.03"}
50
+ {"world":"mud-hollow","kind":"fact","subject":"seed","predicate":"rdf:type","object":"portable"}
51
+ {"world":"mud-hollow","kind":"fact","subject":"seed","predicate":"mgx:located-in","object":"tunnel-1"}
52
+ {"world":"mud-hollow","kind":"fact","subject":"basket","predicate":"rdf:type","object":"furniture"}
53
+ {"world":"mud-hollow","kind":"fact","subject":"basket","predicate":"mgx:fixed-in","object":"larder"}
54
+ {"world":"mud-hollow","kind":"fact","subject":"basket","predicate":"mgx:is-container","object":"true"}
55
+ {"world":"mud-hollow","kind":"fact","subject":"basket","predicate":"mgx:is-open","object":"true"}
56
+ {"world":"mud-hollow","kind":"fact","subject":"room","predicate":"rdfs:subClassOf","object":"space"}
57
+ {"world":"mud-hollow","kind":"fact","subject":"hollow","predicate":"rdf:type","object":"outdoor-space"}
58
+ {"world":"mud-hollow","kind":"fact","subject":"tunnel-1","predicate":"rdf:type","object":"underground-space"}
59
+ {"world":"mud-hollow","kind":"fact","subject":"larder","predicate":"rdf:type","object":"underground-space"}
60
+ {"world":"mud-hollow","kind":"fact","subject":"outdoor-space","predicate":"rdfs:subClassOf","object":"space"}
61
+ {"world":"mud-hollow","kind":"fact","subject":"underground-space","predicate":"rdfs:subClassOf","object":"space"}
62
+ {"world":"mud-hollow","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"room"}}
63
+ {"world":"mud-hollow","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"person","targetClass":"room"}}
64
+ {"world":"mud-hollow","kind":"rule","name":"go","ruleKind":"action-effect","slots":{"predicate":"currently-in","subjectRole":"subject","objectRole":"target"}}
65
+ {"world":"mud-hollow","kind":"rule","name":"take","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"adventurer"}}
66
+ {"world":"mud-hollow","kind":"rule","name":"take","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
67
+ {"world":"mud-hollow","kind":"rule","name":"drop","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"room"}}
68
+ {"world":"mud-hollow","kind":"rule","name":"drop","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
69
+ {"world":"mud-hollow","kind":"rule","name":"give","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"person"}}
70
+ {"world":"mud-hollow","kind":"rule","name":"give","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
71
+ {"world":"mud-hollow","kind":"rule","name":"open","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
72
+ {"world":"mud-hollow","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"stands-locked-in","role":"target","scope":"any","negate":"true"}}
73
+ {"world":"mud-hollow","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true","negate":"true"}}
74
+ {"world":"mud-hollow","kind":"rule","name":"open","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"true"}}
75
+ {"world":"mud-hollow","kind":"rule","name":"close","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
76
+ {"world":"mud-hollow","kind":"rule","name":"close","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true"}}
77
+ {"world":"mud-hollow","kind":"rule","name":"close","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"false"}}
78
+ {"world":"mud-hollow","kind":"rule","name":"unlock","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
79
+ {"world":"mud-hollow","kind":"rule","name":"dig","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"room"}}
80
+ {"world":"mud-hollow","kind":"rule","name":"eat","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"food"}}
81
+ {"world":"mud-hollow","kind":"rule","name":"put","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"furniture"}}
82
+ {"world":"mud-hollow","kind":"rule","name":"put","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}