@polycode-projects/the-mechanical-code-talker 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +176 -8
  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 +34 -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/domain/grammar/ace.mjs +40 -4
  46. package/src/domain/grammar/lexicon-core.json +2 -1
  47. package/src/domain/grammar/lexicon.mjs +18 -0
  48. package/src/domain/reference-pack.mjs +31 -7
  49. package/src/domain/spider-fly-world.mjs +1 -1
  50. package/src/domain/sprite-templates.mjs +8 -6
  51. package/src/services/adventure-viz.mjs +130 -47
  52. package/src/services/adventure.mjs +440 -367
  53. package/src/services/chat-page-viz.mjs +37 -9
  54. package/src/services/chat.mjs +99 -18
  55. package/src/services/code-explorer-viz.mjs +52 -14
  56. package/src/services/extract-facts.mjs +4 -7
  57. package/src/services/ingest-viz.mjs +54 -26
  58. package/src/services/ledger-viz.mjs +105 -56
  59. package/src/services/memory-panel-viz.mjs +24 -0
  60. package/src/services/mud-viz.mjs +940 -21
  61. package/src/services/plan-viz.mjs +119 -61
  62. package/src/services/research-viz.mjs +151 -57
  63. package/src/services/spider-fly-turn.mjs +1 -1
  64. package/src/services/spider-fly-viz.mjs +67 -43
  65. package/src/services/sprite-catalog-viz.mjs +175 -51
  66. package/src/services/viz-theme.mjs +15 -0
  67. package/src/surfaces/web/memory-ask-browser.bundle.js +107 -107
  68. package/src/surfaces/web/mud-browser-entry.mjs +44 -2
@@ -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"}}
@@ -0,0 +1,124 @@
1
+ {"world":"mud-warren","kind":"meta","opening":"a deep warren under a beech wood, four galleries wide, with a fox earth off the north gallery and an owl on the stump above. Food is thin down here. Say \"look\" to look around and \"go down\" to drop into the warren. 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-warren","kind":"fact","subject":"clearing","predicate":"rdf:type","object":"room"}
3
+ {"world":"mud-warren","kind":"fact","subject":"clearing","predicate":"mgx:is-origin","object":"true"}
4
+ {"world":"mud-warren","kind":"fact","subject":"stump","predicate":"rdf:type","object":"room"}
5
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"rdf:type","object":"room"}
6
+ {"world":"mud-warren","kind":"fact","subject":"north-gallery","predicate":"rdf:type","object":"room"}
7
+ {"world":"mud-warren","kind":"fact","subject":"south-gallery","predicate":"rdf:type","object":"room"}
8
+ {"world":"mud-warren","kind":"fact","subject":"east-run","predicate":"rdf:type","object":"room"}
9
+ {"world":"mud-warren","kind":"fact","subject":"west-run","predicate":"rdf:type","object":"room"}
10
+ {"world":"mud-warren","kind":"fact","subject":"fox-earth","predicate":"rdf:type","object":"room"}
11
+ {"world":"mud-warren","kind":"fact","subject":"clearing","predicate":"mgx:has-exit-north","object":"stump"}
12
+ {"world":"mud-warren","kind":"fact","subject":"stump","predicate":"mgx:has-exit-south","object":"clearing"}
13
+ {"world":"mud-warren","kind":"fact","subject":"clearing","predicate":"mgx:has-exit-down","object":"warren-mouth"}
14
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"mgx:has-exit-up","object":"clearing"}
15
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"mgx:has-exit-north","object":"north-gallery"}
16
+ {"world":"mud-warren","kind":"fact","subject":"north-gallery","predicate":"mgx:has-exit-south","object":"warren-mouth"}
17
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"mgx:has-exit-south","object":"south-gallery"}
18
+ {"world":"mud-warren","kind":"fact","subject":"south-gallery","predicate":"mgx:has-exit-north","object":"warren-mouth"}
19
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"mgx:has-exit-east","object":"east-run"}
20
+ {"world":"mud-warren","kind":"fact","subject":"east-run","predicate":"mgx:has-exit-west","object":"warren-mouth"}
21
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"mgx:has-exit-west","object":"west-run"}
22
+ {"world":"mud-warren","kind":"fact","subject":"west-run","predicate":"mgx:has-exit-east","object":"warren-mouth"}
23
+ {"world":"mud-warren","kind":"fact","subject":"north-gallery","predicate":"mgx:has-exit-east","object":"fox-earth"}
24
+ {"world":"mud-warren","kind":"fact","subject":"fox-earth","predicate":"mgx:has-exit-west","object":"north-gallery"}
25
+ {"world":"mud-warren","kind":"fact","subject":"mole-1","predicate":"rdf:type","object":"adventurer"}
26
+ {"world":"mud-warren","kind":"fact","subject":"vole-1","predicate":"rdf:type","object":"adventurer"}
27
+ {"world":"mud-warren","kind":"fact","subject":"badger-2","predicate":"rdf:type","object":"adventurer"}
28
+ {"world":"mud-warren","kind":"fact","subject":"groundhog-1","predicate":"rdf:type","object":"adventurer"}
29
+ {"world":"mud-warren","kind":"fact","subject":"meerkat-1","predicate":"rdf:type","object":"adventurer"}
30
+ {"world":"mud-warren","kind":"fact","subject":"mole-1","predicate":"mgx:currently-in","object":"clearing"}
31
+ {"world":"mud-warren","kind":"fact","subject":"vole-1","predicate":"mgx:currently-in","object":"clearing"}
32
+ {"world":"mud-warren","kind":"fact","subject":"badger-2","predicate":"mgx:currently-in","object":"warren-mouth"}
33
+ {"world":"mud-warren","kind":"fact","subject":"groundhog-1","predicate":"mgx:currently-in","object":"warren-mouth"}
34
+ {"world":"mud-warren","kind":"fact","subject":"meerkat-1","predicate":"mgx:currently-in","object":"south-gallery"}
35
+ {"world":"mud-warren","kind":"fact","subject":"mole-1","predicate":"mgx:hasMass","object":"8"}
36
+ {"world":"mud-warren","kind":"fact","subject":"vole-1","predicate":"mgx:hasMass","object":"6"}
37
+ {"world":"mud-warren","kind":"fact","subject":"badger-2","predicate":"mgx:hasMass","object":"12"}
38
+ {"world":"mud-warren","kind":"fact","subject":"groundhog-1","predicate":"mgx:hasMass","object":"9"}
39
+ {"world":"mud-warren","kind":"fact","subject":"meerkat-1","predicate":"mgx:hasMass","object":"9"}
40
+ {"world":"mud-warren","kind":"fact","subject":"predator","predicate":"rdfs:subClassOf","object":"animal"}
41
+ {"world":"mud-warren","kind":"fact","subject":"fox","predicate":"rdfs:subClassOf","object":"predator"}
42
+ {"world":"mud-warren","kind":"fact","subject":"owl","predicate":"rdfs:subClassOf","object":"predator"}
43
+ {"world":"mud-warren","kind":"fact","subject":"fox-1","predicate":"rdf:type","object":"fox"}
44
+ {"world":"mud-warren","kind":"fact","subject":"fox-1","predicate":"mgx:currently-in","object":"fox-earth"}
45
+ {"world":"mud-warren","kind":"fact","subject":"fox-1","predicate":"mgx:is-predator","object":"true"}
46
+ {"world":"mud-warren","kind":"fact","subject":"fox-1","predicate":"mgx:hasMass","object":"40"}
47
+ {"world":"mud-warren","kind":"fact","subject":"owl-1","predicate":"rdf:type","object":"owl"}
48
+ {"world":"mud-warren","kind":"fact","subject":"owl-1","predicate":"mgx:currently-in","object":"stump"}
49
+ {"world":"mud-warren","kind":"fact","subject":"owl-1","predicate":"mgx:is-predator","object":"true"}
50
+ {"world":"mud-warren","kind":"fact","subject":"owl-1","predicate":"mgx:hasMass","object":"14"}
51
+ {"world":"mud-warren","kind":"fact","subject":"food","predicate":"rdfs:subClassOf","object":"portable"}
52
+ {"world":"mud-warren","kind":"fact","subject":"carrot","predicate":"rdfs:subClassOf","object":"food"}
53
+ {"world":"mud-warren","kind":"fact","subject":"lettuce","predicate":"rdfs:subClassOf","object":"food"}
54
+ {"world":"mud-warren","kind":"fact","subject":"tomato","predicate":"rdfs:subClassOf","object":"food"}
55
+ {"world":"mud-warren","kind":"fact","subject":"carrot","predicate":"rdf:type","object":"carrot"}
56
+ {"world":"mud-warren","kind":"fact","subject":"carrot","predicate":"mgx:located-in","object":"west-run"}
57
+ {"world":"mud-warren","kind":"fact","subject":"carrot","predicate":"mgx:hasMass","object":"3"}
58
+ {"world":"mud-warren","kind":"fact","subject":"lettuce","predicate":"rdf:type","object":"lettuce"}
59
+ {"world":"mud-warren","kind":"fact","subject":"lettuce","predicate":"mgx:located-in","object":"south-gallery"}
60
+ {"world":"mud-warren","kind":"fact","subject":"lettuce","predicate":"mgx:hasMass","object":"2"}
61
+ {"world":"mud-warren","kind":"fact","subject":"tomato","predicate":"rdf:type","object":"tomato"}
62
+ {"world":"mud-warren","kind":"fact","subject":"tomato","predicate":"mgx:located-in","object":"east-run"}
63
+ {"world":"mud-warren","kind":"fact","subject":"tomato","predicate":"mgx:hasMass","object":"2"}
64
+ {"world":"mud-warren","kind":"fact","subject":"root","predicate":"rdfs:subClassOf","object":"food"}
65
+ {"world":"mud-warren","kind":"fact","subject":"root","predicate":"mgx:hasMass","object":"2"}
66
+ {"world":"mud-warren","kind":"fact","subject":"worm","predicate":"rdfs:subClassOf","object":"food"}
67
+ {"world":"mud-warren","kind":"fact","subject":"worm","predicate":"mgx:hasMass","object":"2"}
68
+ {"world":"mud-warren","kind":"fact","subject":"mouse","predicate":"rdfs:subClassOf","object":"animal"}
69
+ {"world":"mud-warren","kind":"fact","subject":"mouse","predicate":"mgx:hasMass","object":"4"}
70
+ {"world":"mud-warren","kind":"fact","subject":"den","predicate":"rdfs:subClassOf","object":"underground-space"}
71
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawns","object":"root"}
72
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawns","object":"worm"}
73
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:den-spawns","object":"root"}
74
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:den-spawns","object":"worm"}
75
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:den-resident","object":"mouse"}
76
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:dig-spawn-max","object":"1"}
77
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:den-chance-in","object":"8"}
78
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"mgx:den-resident-chance-in","object":"2"}
79
+ {"world":"mud-warren","kind":"fact","subject":"clearing","predicate":"mgx:dig-reach","object":"10"}
80
+ {"world":"mud-warren","kind":"fact","subject":"mole-1","predicate":"mgx:mass-drain-per-turn","object":"0.10"}
81
+ {"world":"mud-warren","kind":"fact","subject":"vole-1","predicate":"mgx:mass-drain-per-turn","object":"0.09"}
82
+ {"world":"mud-warren","kind":"fact","subject":"badger-2","predicate":"mgx:mass-drain-per-turn","object":"0.14"}
83
+ {"world":"mud-warren","kind":"fact","subject":"groundhog-1","predicate":"mgx:mass-drain-per-turn","object":"0.11"}
84
+ {"world":"mud-warren","kind":"fact","subject":"meerkat-1","predicate":"mgx:mass-drain-per-turn","object":"0.09"}
85
+ {"world":"mud-warren","kind":"fact","subject":"stone","predicate":"rdf:type","object":"portable"}
86
+ {"world":"mud-warren","kind":"fact","subject":"stone","predicate":"mgx:located-in","object":"clearing"}
87
+ {"world":"mud-warren","kind":"fact","subject":"seed","predicate":"rdf:type","object":"portable"}
88
+ {"world":"mud-warren","kind":"fact","subject":"seed","predicate":"mgx:located-in","object":"stump"}
89
+ {"world":"mud-warren","kind":"fact","subject":"basket","predicate":"rdf:type","object":"furniture"}
90
+ {"world":"mud-warren","kind":"fact","subject":"basket","predicate":"mgx:fixed-in","object":"warren-mouth"}
91
+ {"world":"mud-warren","kind":"fact","subject":"basket","predicate":"mgx:is-container","object":"true"}
92
+ {"world":"mud-warren","kind":"fact","subject":"basket","predicate":"mgx:is-open","object":"true"}
93
+ {"world":"mud-warren","kind":"fact","subject":"room","predicate":"rdfs:subClassOf","object":"space"}
94
+ {"world":"mud-warren","kind":"fact","subject":"clearing","predicate":"rdf:type","object":"outdoor-space"}
95
+ {"world":"mud-warren","kind":"fact","subject":"stump","predicate":"rdf:type","object":"outdoor-space"}
96
+ {"world":"mud-warren","kind":"fact","subject":"warren-mouth","predicate":"rdf:type","object":"underground-space"}
97
+ {"world":"mud-warren","kind":"fact","subject":"north-gallery","predicate":"rdf:type","object":"underground-space"}
98
+ {"world":"mud-warren","kind":"fact","subject":"south-gallery","predicate":"rdf:type","object":"underground-space"}
99
+ {"world":"mud-warren","kind":"fact","subject":"east-run","predicate":"rdf:type","object":"underground-space"}
100
+ {"world":"mud-warren","kind":"fact","subject":"west-run","predicate":"rdf:type","object":"underground-space"}
101
+ {"world":"mud-warren","kind":"fact","subject":"fox-earth","predicate":"rdf:type","object":"underground-space"}
102
+ {"world":"mud-warren","kind":"fact","subject":"outdoor-space","predicate":"rdfs:subClassOf","object":"space"}
103
+ {"world":"mud-warren","kind":"fact","subject":"underground-space","predicate":"rdfs:subClassOf","object":"space"}
104
+ {"world":"mud-warren","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"room"}}
105
+ {"world":"mud-warren","kind":"rule","name":"go","ruleKind":"action-signature","slots":{"subjectClass":"person","targetClass":"room"}}
106
+ {"world":"mud-warren","kind":"rule","name":"go","ruleKind":"action-effect","slots":{"predicate":"currently-in","subjectRole":"subject","objectRole":"target"}}
107
+ {"world":"mud-warren","kind":"rule","name":"take","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"adventurer"}}
108
+ {"world":"mud-warren","kind":"rule","name":"take","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
109
+ {"world":"mud-warren","kind":"rule","name":"drop","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"room"}}
110
+ {"world":"mud-warren","kind":"rule","name":"drop","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
111
+ {"world":"mud-warren","kind":"rule","name":"give","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"person"}}
112
+ {"world":"mud-warren","kind":"rule","name":"give","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
113
+ {"world":"mud-warren","kind":"rule","name":"open","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
114
+ {"world":"mud-warren","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"stands-locked-in","role":"target","scope":"any","negate":"true"}}
115
+ {"world":"mud-warren","kind":"rule","name":"open","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true","negate":"true"}}
116
+ {"world":"mud-warren","kind":"rule","name":"open","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"true"}}
117
+ {"world":"mud-warren","kind":"rule","name":"close","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
118
+ {"world":"mud-warren","kind":"rule","name":"close","ruleKind":"action-precond","slots":{"shape":"fact-value","predicate":"is-open","role":"target","scope":"any","value":"true"}}
119
+ {"world":"mud-warren","kind":"rule","name":"close","ruleKind":"action-effect","slots":{"predicate":"is-open","subjectRole":"target","value":"false"}}
120
+ {"world":"mud-warren","kind":"rule","name":"unlock","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"furniture"}}
121
+ {"world":"mud-warren","kind":"rule","name":"dig","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"room"}}
122
+ {"world":"mud-warren","kind":"rule","name":"eat","ruleKind":"action-signature","slots":{"subjectClass":"adventurer","targetClass":"food"}}
123
+ {"world":"mud-warren","kind":"rule","name":"put","ruleKind":"action-signature","slots":{"subjectClass":"portable","targetClass":"furniture"}}
124
+ {"world":"mud-warren","kind":"rule","name":"put","ruleKind":"action-effect","slots":{"predicate":"located-in","subjectRole":"subject","objectRole":"target"}}
@@ -1,4 +1,4 @@
1
- {"world":"spider-fly","kind":"meta","opening":"a spider waits in its web; a fly drifts in from the edge of the board. Neither is yours to move — watch, or address one by name in chat."}
1
+ {"world":"spider-fly","kind":"meta","opening":"a spider waits in its web; a fly drifts in from the edge of the board. Neither is yours to move. Watch, or address one by name in chat."}
2
2
  {"world":"spider-fly","kind":"fact","subject":"cell-1-1","predicate":"rdf:type","object":"cell"}
3
3
  {"world":"spider-fly","kind":"fact","subject":"cell-1-1","predicate":"mgx:has-exit-south","object":"cell-1-2"}
4
4
  {"world":"spider-fly","kind":"fact","subject":"cell-1-1","predicate":"mgx:has-exit-east","object":"cell-2-1"}
@@ -1,13 +1,19 @@
1
- # animal — the deliberately plainest shape in the set: an unadorned
2
- # four-legged blob, so an unregistered species reads as "some animal"
3
- # rather than suggesting one the taxonomy never named. The declared root
4
- # fallback for the spider-and-fly world.
1
+ # animal — the deliberately plainest shape in the set: still an unadorned
2
+ # four-legged body, so an unregistered species reads as "some animal"
3
+ # rather than suggesting one the taxonomy never named. Small ears and a
4
+ # tail give it a quadruped-mammal silhouette instead of a bare blob, but
5
+ # no fixed markings or colour ever get added — that specificity belongs
6
+ # to the species that actually earns it (badger, dog, poodle). The
7
+ # declared root fallback for the spider-and-fly world.
5
8
  classes = ["animal"]
6
9
  svg = """
7
10
  <svg viewBox="0 0 24 24" aria-hidden="true">
8
11
  <ellipse cx="12" cy="13" rx="7" ry="4.4" fill="currentColor"/>
12
+ <path d="M20.4 12.6 C22.4 12 23 14 21.6 14.8 Z" fill="currentColor"/>
9
13
  <circle cx="12" cy="7" r="3.4" fill="currentColor"/>
10
- <g stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
14
+ <path d="M9 4.4 L8 2.2 L10.4 3.6 Z" fill="currentColor"/>
15
+ <path d="M15 4.4 L16 2.2 L13.6 3.6 Z" fill="currentColor"/>
16
+ <g stroke="currentColor" stroke-width="1.8" stroke-linecap="round">
11
17
  <line x1="7" y1="17" x2="7" y2="21"/>
12
18
  <line x1="17" y1="17" x2="17" y2="21"/>
13
19
  </g>
@@ -1,12 +1,16 @@
1
- # book — the library's default portable: a closed hardback seen spine-on, the
2
- # cover boards and a page block, so a taken book reads as its own thing rather
3
- # than the generic portable box.
1
+ # book — the library's default portable: a closed hardback seen spine-on. The
2
+ # fore-edge shows a visible page block (paper is always lighter than a cover)
3
+ # and a ribbon marks a place — a wax-red fixed accent, since a bookmark
4
+ # ribbon's colour is its own trim rather than something a theme should own —
5
+ # so a taken book reads as its own thing rather than the generic portable box.
4
6
  classes = ["book"]
5
7
  svg = """
6
8
  <svg viewBox="0 0 24 24" aria-hidden="true">
7
9
  <path d="M6 3 H18 A1 1 0 0 1 19 4 V20 A1 1 0 0 1 18 21 H6 Z" fill="currentColor"/>
8
- <rect x="6" y="3" width="1.8" height="18" fill="currentColor" opacity="0.4"/>
10
+ <rect x="17.1" y="3.6" width="1.6" height="16.8" rx="0.3" fill="color-mix(in srgb, currentColor 34%, white)"/>
11
+ <rect x="6" y="3" width="1.8" height="18" fill="color-mix(in srgb, currentColor 78%, black)"/>
9
12
  <path d="M9.4 3 V21" stroke="currentColor" stroke-width="0.5" opacity="0.35"/>
10
- <path d="M11 7.5 H17 M11 10 H17 M11 12.5 H15" stroke="#000000" stroke-width="0.5" opacity="0.3"/>
13
+ <path d="M11 8 H15 M11 10.6 H15" stroke="color-mix(in srgb, currentColor 60%, black)" stroke-width="0.6"/>
14
+ <path d="M16.8 3 V11 L15.9 9.8 L15 11 V3 Z" fill="#8a2e2e"/>
11
15
  </svg>
12
16
  """