diff --git a/docs/pages/brand.mdx b/docs/pages/brand.mdx index 3ae8765e..bae2de14 100644 --- a/docs/pages/brand.mdx +++ b/docs/pages/brand.mdx @@ -11,6 +11,7 @@ Right-click any image and select "Save Image As" to download. ## Core Dojo Brand The Dojo logo represents the complete framework and toolchain for building provable games and applications. +For an overview of how the tools work together, see the [Dojo Overview](/overview).
diff --git a/docs/pages/client/sdk/bevy.md b/docs/pages/client/sdk/bevy.md index 264379a4..75049187 100644 --- a/docs/pages/client/sdk/bevy.md +++ b/docs/pages/client/sdk/bevy.md @@ -243,7 +243,7 @@ fn handle_player_actions( } ``` -## Example Game +## Example Project Here's a pedagogical example showing the key concepts for a 3D game where players can spawn and move cubes: diff --git a/docs/pages/client/sdk/unity.md b/docs/pages/client/sdk/unity.md index 378deb4d..ec11cc1e 100644 --- a/docs/pages/client/sdk/unity.md +++ b/docs/pages/client/sdk/unity.md @@ -15,19 +15,19 @@ Whether you're creating a tactical RPG, a real-time strategy game, or an immersi Before diving into the exciting world of onchain games and worlds with Unity, let's explore some essential concepts: -### World Manager +### WorldManager -The **World Manager** is the central hub for organizing and controlling entities within your Dojo world in Unity. +The **WorldManager** is the central hub for organizing and controlling entities within your Dojo world in Unity. ![world-manager](/client/unity/world-manager.webp) -During initialization, the World Manager receives `WorldManagerData`, which defines essential settings like your Torii URL, RPC URL, and world address. +During initialization, the WorldManager receives `WorldManagerData`, which defines essential settings like your Torii URL, RPC URL, and world address. While these settings are initially provided, you have the flexibility to adjust them by creating different scriptable objects. ![world-manager-data](/client/unity/world-manager-data.webp) In Unity, entities are represented by `GameObject` instances. -The World Manager simplifies their management by offering methods to both add/remove entitites and access them collectively or by individual identifiers. +The WorldManager simplifies their management by offering methods to both add/remove entitites and access them collectively or by individual identifiers. ### Synchronization Master @@ -121,7 +121,7 @@ In your Unity project, navigate to the scene where you want to integrate the SDK **Default Configuration** -The World Manager operates with a default configuration called `WorldManagerDataLocalConfig`, residing in `Dojo/Runtime/Config`. +The WorldManager operates with a default configuration called `WorldManagerDataLocalConfig`, residing in `Dojo/Runtime/Config`. ![world-manager-data](/client/unity/world-manager-data.webp) diff --git a/docs/pages/client/sdk/unrealengine.md b/docs/pages/client/sdk/unrealengine.md index 0a8ffc88..edac451a 100644 --- a/docs/pages/client/sdk/unrealengine.md +++ b/docs/pages/client/sdk/unrealengine.md @@ -209,6 +209,7 @@ The format for each function is `` with a ## Updating the Plugin +The dojo.unreal plugin is built on [dojo.c](/client/sdk/c), the foundational C library that powers all Dojo SDKs. To update the plugin to a new version: 1. Build the `dojo.c` library for your platform diff --git a/docs/pages/framework/systems/architecture.md b/docs/pages/framework/systems/architecture.md index 0c12b51a..a8f6bbc9 100644 --- a/docs/pages/framework/systems/architecture.md +++ b/docs/pages/framework/systems/architecture.md @@ -225,6 +225,8 @@ mod game_coordinator { ## Permission Architecture +For comprehensive information about managing permissions, see the [Permissions](/framework/world/permissions) guide. + ### Granular Permissions Assign permissions at the finest grain possible while maintaining operational efficiency. diff --git a/docs/pages/framework/systems/index.md b/docs/pages/framework/systems/index.md index b9ba51fe..76474202 100644 --- a/docs/pages/framework/systems/index.md +++ b/docs/pages/framework/systems/index.md @@ -259,6 +259,7 @@ Systems should be designed for testability: Understanding system design philosophy is crucial for building robust Dojo applications. Explore the deeper aspects of system implementation: +- **[Entities](/framework/models/entities)** - How entities work in Dojo's ECS model - **[System Architecture](/framework/systems/architecture)** - Structural patterns and organization - **[System Coordination](/framework/systems/coordination)** - How systems interact and coordinate diff --git a/docs/pages/getting-started/development-workflow.mdx b/docs/pages/getting-started/development-workflow.mdx index c9611a54..7b463813 100644 --- a/docs/pages/getting-started/development-workflow.mdx +++ b/docs/pages/getting-started/development-workflow.mdx @@ -605,5 +605,6 @@ pkill katana && pkill torii ## Next Steps You now have a solid understanding of the Dojo development workflow! +For detailed information about each tool and its configuration options, see [Understanding the Toolchain](./understanding-the-toolchain). Ready to explore what comes next in your journey? Continue to [Next Steps](./next-steps) to discover advanced topics, deployment strategies, and community resources. diff --git a/docs/pages/getting-started/understanding-the-toolchain.mdx b/docs/pages/getting-started/understanding-the-toolchain.mdx index da7278ee..67c6775d 100644 --- a/docs/pages/getting-started/understanding-the-toolchain.mdx +++ b/docs/pages/getting-started/understanding-the-toolchain.mdx @@ -13,7 +13,7 @@ The code examples are run in the context of the `dojo-intro` repo. **What it does**: -- Provides a local blockchain environment +- Provides a local sequencer environment - Mines blocks instantly for fast development - Comes with pre-funded accounts for testing - Supports gRPC for faster network communication @@ -320,8 +320,8 @@ For more information about Saya, [see the docs](/toolchain/saya). Here's the typical development flow: 1. **Sozo** compiles your Cairo code into deployable contracts -2. **Katana** provides a local blockchain to deploy and test on -3. **Sozo** deploys your World contract to Katana +2. **Katana** provides a local sequencer to deploy and test on +3. **Sozo** deploys your World to Katana 4. **Torii** automatically indexes your World's data 5. **Saya** (optionally) generates proofs for settlement diff --git a/docs/pages/getting-started/your-first-dojo-app.mdx b/docs/pages/getting-started/your-first-dojo-app.mdx index 2dd691fb..62a0e3b7 100644 --- a/docs/pages/getting-started/your-first-dojo-app.mdx +++ b/docs/pages/getting-started/your-first-dojo-app.mdx @@ -13,7 +13,7 @@ By the end, you'll have a working game where you can spawn and move a character - The structure of a Dojo project - Basic Entity Component System (ECS) concepts - How to start the development environment -- Deploying your first world contract +- Deploying your first World - Interacting with your deployed game ## Step 1: Create Your Project @@ -204,7 +204,7 @@ ACCOUNTS SEED 2025-07-10T15:46:43.496406Z INFO rpc: RPC server started. addr=127.0.0.1:5050 ``` -Keep this running - it's your local blockchain. +Keep this running - it's your local sequencer environment. :::tip By default, Katana runs on port 5050 @@ -218,7 +218,7 @@ In a new terminal, run the following command using [Sozo](/toolchain/sozo), Dojo cd contracts && sozo build && sozo migrate ``` -_This compiles your Cairo contracts and deploys them to your local blockchain_ +_This compiles your Cairo contracts and deploys them to the local sequencer_ **Expected output:** @@ -339,9 +339,9 @@ Let's break down what you just accomplished: 1. **Defined Components**: `Position` and `Moves` store data about each player 2. **Implemented Systems**: The `spawn` and `move` functions modify component data -3. **Created a world**: Your world contract acts as the central registry for all game data, logic, and access control +3. **Created a World**: Your World acts as the central registry for all game data, logic, and access control 4. **Used the Toolchain**: - - Katana provided a local blockchain + - Katana provided a local sequencer - Sozo managed compilation and deployment - Torii indexed data and sent it to the client @@ -355,7 +355,7 @@ Let's break down what you just accomplished: ### Dojo World -Your world contract coordinates everything: +Your World coordinates everything: - Registers all models and systems - Handles permissions and authorization @@ -377,3 +377,4 @@ You've successfully: Ready to dive deeper? Continue to [Understanding the Toolchain](./understanding-the-toolchain) to learn more about the tools that make Dojo development possible. +When you're ready to explore the broader Dojo ecosystem, see [Next Steps](./next-steps) for advanced topics and deployment strategies. diff --git a/docs/pages/installation.mdx b/docs/pages/installation.mdx index 563031af..85adb1a7 100644 --- a/docs/pages/installation.mdx +++ b/docs/pages/installation.mdx @@ -261,6 +261,7 @@ sozo build ## Claude Code Skills Dojo provides official [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) skills that give Claude relevant context for working with models, systems, testing, deployment, and more. +For an overview of available skills, see the [Dojo Overview](/overview#ai-assisted-development). To install the skills, run the following in your terminal: diff --git a/docs/pages/libraries/alexandria/index.mdx b/docs/pages/libraries/alexandria/index.mdx index 8235d4b2..643a2817 100644 --- a/docs/pages/libraries/alexandria/index.mdx +++ b/docs/pages/libraries/alexandria/index.mdx @@ -17,7 +17,7 @@ _- George Bernard Shaw_ [Alexandria](https://github.com/keep-starknet-strange/alexandria) is a community maintained standard library for Cairo 1.0. It is a collection of useful algorithms and data structures implemented in Cairo. -Alexandria provides essential building blocks for Cairo and Starknet development, covering mathematics, data structures, algorithms, and utilities that complement Dojo's game development framework. +Alexandria provides essential building blocks for Cairo and Starknet development, covering mathematics, data structures, algorithms, and utilities that complement the Dojo framework. :::warning This library is built outside of the Dojo stack development. @@ -278,7 +278,7 @@ Bitcoin protocol implementations and utilities ## Integration with Dojo -Alexandria complements Dojo's game development framework by providing: +Alexandria complements the Dojo framework by providing: 1. **Mathematical Foundations**: Use `alexandria_math` for game mechanics requiring number theory, cryptography, or advanced calculations 2. **Data Management**: Leverage `alexandria_data_structures` for efficient in-memory data handling in systems diff --git a/docs/pages/libraries/origami/index.mdx b/docs/pages/libraries/origami/index.mdx index 385471ae..23927eac 100644 --- a/docs/pages/libraries/origami/index.mdx +++ b/docs/pages/libraries/origami/index.mdx @@ -11,7 +11,7 @@ _The magic of origami is in seeing a single piece of Cairo evolve into a masterp ## Origami -[Origami](https://github.com/dojoengine/origami) is a collection of essential primitives designed to facilitate the development of onchain games using the Dojo engine. +[Origami](https://github.com/dojoengine/origami) is a collection of essential primitives designed to facilitate the development of onchain games using the Dojo framework. It provides a set of powerful tools and libraries that enable game developers to create complex, engaging, and secure blockchain-based games. Each crate focuses on a specific aspect of game development, from mathematical operations and procedural generation to economic mechanisms and security primitives. diff --git a/docs/pages/overview.mdx b/docs/pages/overview.mdx index 29ec4e40..68c16231 100644 --- a/docs/pages/overview.mdx +++ b/docs/pages/overview.mdx @@ -9,7 +9,7 @@ import Dojo from "../public/dojo-logo.svg?react";

- Dojo is a cutting-edge ECS framework and toolchain for building provable + Dojo is a cutting-edge Entity-Component-System (ECS) framework and toolchain for building provable applications in Cairo, versatile enough to support everything from simple NFT services to the most complex onchain games.
@@ -61,6 +61,13 @@ Cartridge offers Slot, a managed-service execution layer that lets you easily de [Read more about Slot](https://github.com/cartridge-gg/slot) +## Autonomous Worlds + +Dojo is purpose-built for Autonomous Worlds — persistent, permissionless onchain environments governed entirely by their own rules. +Every model, system, and event lives on the blockchain, enabling players and builders to interact with a world that no single party controls. + +[Learn more about Autonomous Worlds](/theory/autonomous-worlds) + ## AI-Assisted Development Dojo provides AI skills for use with AI coding assistants. @@ -75,6 +82,8 @@ Available skills: `dojo-model`, `dojo-system`, `dojo-test`, `dojo-client`, `dojo [Browse all skills](https://github.com/dojoengine/book/tree/main/skills) +For detailed installation instructions, see the [Installation Guide](/installation#claude-code-skills). +

+