Solid Galaxy is a Solid-based turn-based trading game. The first MVP is deliberately small:
- a public linked-data galaxy under
www/world/ - a SimplyFlow browser UI under
www/ - OLDM-style application data names such as
schema$nameandsg$currentStation - JAQT queries for world/game data lookups
- a
storage.mjsboundary for jsfs-solid/Solid access
The current implementation can run in demo mode without a pod. The Solid login/pod storage path is included as the next integration point and should be tested against the target Solid server before treating it as stable.
Serve the repository root with any static web server, for example:
python3 -m http.server 8000Then open:
http://localhost:8000/www/Do not open www/index.html directly from the filesystem, because the app loads Turtle files from www/world/.
The no-build browser version uses published CDN bundles:
@muze-labs/simplyflow@0.10.0@muze-nl/jsfs-solid
The MVP now expects the jsfs-solid browser bundle to expose the Solid stack globals used by the app:
globalThis.solidClient
globalThis.SolidAdapter
globalThis.oldm
globalThis.jaqt
globalThis.jsfsSolidUntil the jsfs-solid export/global patch is published, www/game.mjs keeps a temporary JAQT fallback import through the import map in www/index.html. Once the patched jsfs-solid bundle is the deployed dependency, that fallback can be removed.
www/
index.html Browser entry point
app.mjs SimplyFlow app setup, commands and actions
storage.mjs jsfs-solid / Solid / OLDM boundary
game.mjs Solid Galaxy-specific rules and JAQT queries
config.mjs Prefixes, resource URLs and game constants
style.css MVP styling
ns/index.ttl Solid Galaxy ontology
world/*.ttl Public seed galaxy data
docs/
data-model.md
mvp.mdSimplyFlow command handlers receive the element first and the command value second:
commands: {
buy(_button, offerId) {
this.actions.buy(offerId)
}
}World resources are loaded through one OLDM context. The app uses:
graph.context.dataas the combined view of all world graphs loaded in that context, instead of manually dereferencing linked resources in normal app code.