MCPcopy Index your code
hub / github.com/Br3nnabee/magium-recrystallized

github.com/Br3nnabee/magium-recrystallized @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
94 symbols 153 edges 19 files 25 documented · 27%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Magium Recrystallized

A community recreation & continuation of Magium, a popular choose-your-own-adventure (CYOA) game by author Cristian Mihailescu.

Table of Contents

Introduction

Magium Recrystallized revives the highly loved narrative-driven experience, allowing players to create and explore meaningful decisions in a fantasy world. Driven by its passionate community, this version not only aims to faithfully recreate the original experience, but modernize its platform and continue the story past the 3 books originally written.

Features

  • Engaging Narrative: Experience deep, immersive storytelling with branching plotlines.
  • Community Created Content: Regular updates made by the writing team continuing the story of Magium.
  • Cross-Platform: Packaged via Tauri, supporting most desktop and mobile platforms with fast performance and low footprint.
  • Modern Stack: Built using Svelte, Typescript, and WebAssembly for a responsive and lightweight experience.

Installation

Prerequisites

  • Node.js v18+
  • Rust 2024 (with wasm32-unknown-unknown target)
  • Tauri CLI (cargo install tauri-cli)
  • Wasm Pack (cargo install wasm-pack)
  • Git

Steps

# Clone the repository
git clone https://github.com/Br3nnabee/magium-recrystallized.git

# Navigate to project directory
cd magium-recrystallized

# Install Node dependencies
npm install

# Build the Rust/WASM backend
npm run tauri build

Usage

To launch the development version of Magium Recrystallized:

# Start development server with Tauri
npm run tauri dev

To build a release version:

# Build production release
npm run tauri build

Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository.
  2. Create your Feature Branch from Dev (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the Branch (git push origin feature/Amazingfeature)
  5. Open a Pull Request.

Please follow our coding guidelines and check for open issues before starting major changes.
See the CONTRIBUTING.md file for detailed instructions and standards.

Documentation

Unfortunately, due to the complexity associated with this project and the currently sole developer focusing on simply outputting a finished project ASAP, integrated documentation is not available. That said, comments are included as much as possible, and for the wasm module decent documentation can be easily viewed via cargo doc --document-private-items --open. Once more people begin contributing, there will be a concerted effort made to improve the documentation to the point that it is highly browsable, but for the time being this will have to suffice.

License

Distributed under the AGPL 3.0 License. See LICENSE for more information.

Acknowledgments

  • Cristian Mihailescu – original creator of Magium
  • Magium Recrystallized contributors – supporting and improving the app
  • Writer Team - continuing the story of Magium
  • Magium-SDL and magium-dev - inspiration and reference for this implementation

Extension points exported contracts — how you extend this code

EdgeInfo (Interface)
(no doc)
src/lib/stores/passagestore.ts
InitOutput (Interface)
(no doc)
src/pkg/wasm_module.d.ts
StoryNode (Interface)
(no doc)
src/lib/stores/passagestore.ts
StatDelta (Interface)
(no doc)
src/lib/stores/stats.ts
DeltasStore (Interface)
(no doc)
src/lib/stores/stats.ts
StatsStore (Interface)
(no doc)
src/lib/stores/stats.ts

Core symbols most depended-on inside this repo

toVar
called by 11
tailwind.config.ts
get
called by 10
wasm_module/src/decoder.rs
getStringFromWasm0
called by 10
src/pkg/wasm_module.js
handleError
called by 6
src/pkg/wasm_module.js
getDataViewMemory0
called by 6
src/pkg/wasm_module.js
get_raw_chunk
called by 5
wasm_module/src/decoder.rs
addToExternrefTable0
called by 5
src/pkg/wasm_module.js
isLikeNone
called by 5
src/pkg/wasm_module.js

Shape

Function 43
Method 29
Class 10
Enum 6
Interface 6

Languages

TypeScript62%
Rust38%

Modules by API surface

wasm_module/src/decoder.rs30 symbols
src/pkg/wasm_module.js29 symbols
src/lib/stores/state.ts7 symbols
src/lib/stores/stats.ts6 symbols
src/lib/stores/passagestore.ts5 symbols
src/lib/stores/displaysettings.ts4 symbols
src/pkg/wasm_module.d.ts3 symbols
src/lib/wasm.ts3 symbols
wasm_module/src/wasmtable.rs1 symbols
wasm_module/src/utils.rs1 symbols
wasm_module/src/lib.rs1 symbols
tailwind.config.ts1 symbols

For agents

$ claude mcp add magium-recrystallized \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page