🛠️ Crafting — Documentation Guide¶
🧭 Where should I start?¶
🔹 New to Crafting?¶
Start with:
👉 System Overview (README + Mental Model)
This explains: - What the Crafting system is - How the pipeline works from preflight to delivery - How Crafting integrates with Inventory, Currency, multiplayer authority, and persistence - Typical setup and usage patterns
🔹 Want to know what you can safely depend on?¶
Read:
👉 PublicAPI/
This document defines: - The supported runtime surface - Stable services, types, methods, and events - Guaranteed behaviours and lifecycle contracts - Explicitly unsupported usage
If something is not listed there, it is not supported — even if it appears public in code.
This is the contract.
🔹 Adding gameplay or extending the system?¶
Start with:
👉 Integration Surfaces/
This shows exactly where logic belongs: - validation rules - behaviour changes - inventory and currency integration - routing and authority - escrow / strong execution seams
Then use:
👉 FAQ/
The FAQ answers questions like: - Should this be a validator or a modifier? - How do I integrate inventory or currency? - How does multiplayer authority work? - When should I use escrow? - What should I avoid?
It focuses on decision-making, not API reference.
🧠 How these documents work together¶
| Document | Purpose |
|---|---|
| Overview | Explains the system |
| Public API | Defines what is supported |
| FAQ | Guides correct usage choices |
| Integration Surfaces | Shows where new logic should plug in |
| Mental Model | Explains how to think about the system |
| Guarantees Matrix | Defines behavioural contracts |
Each document serves a specific purpose.
You do not need to read everything — start with what matches your task.
🛑 Important support note¶
RevFramework Crafting is:
- Job-driven
- Adapter-based
- Deterministic when configured for it
- Authority-aware
- UI-agnostic
- Netcode-agnostic
Support is provided for:
- Behaviour defined in PublicAPI
- Usage patterns described in Overview, FAQ, and Integration Surfaces
- Guarantees listed in the Guarantees Matrix
Support is not provided for:
- Modifying
CraftingService - Depending on undocumented behaviour
- Reflecting into runtime internals
- Treating public-looking types as supported by default
- Performing gameplay mutations outside the supported extension seams
🔗 Related resources¶
-
Teaching Panels
Add debug or teachable panels (Editor / optional tooling) to visualize crafting behaviour live -
Samples
See/Samples/Crafting/for runnable examples -
MkDocs site
Mirrors this documentation for web browsing
🧠 System philosophy¶
Crafting is:
- A service-controlled execution pipeline (not a button click with side effects)
- A job-based system (not ad-hoc item spawning)
- A result-first API (explicit outcomes and failure reasons)
- A replaceable integration architecture (no lock-in to our implementations)
Every public extension seam exists for a reason.
If something feels unclear, you're likely using the wrong seam.
✅ TL;DR¶
- Want to understand Crafting → Overview
- Want to build safely → Public API
- Want to choose correctly → FAQ
- Want to extend cleanly → Integration Surfaces
If you stay within these boundaries, Crafting will behave predictably and remain supportable.