diff --git a/etc/architecture/overview.md b/etc/architecture/overview.md index 2e7ece7b..e4616bfb 100644 --- a/etc/architecture/overview.md +++ b/etc/architecture/overview.md @@ -15,39 +15,39 @@ Dojo.js is organized as a set of focused packages that cooperate to index, query ```mermaid flowchart LR - subgraph OnChain + subgraph "On Chain" World[Dojo World Contracts] end - subgraph Indexer & Messaging - ToriiIndexer[Torii Service\nHTTP/WebSocket/gRPC] + subgraph "Indexer & Messaging" + ToriiIndexer["Torii Service
HTTP / WebSocket / gRPC"] end - subgraph CoreClient - CoreProvider[@dojoengine/core\nRpcProvider & World ABI] - ToriiWasm[@dojoengine/torii-wasm\n+ torii-client shim] - GrpcClient[@dojoengine/grpc\nToriiGrpcClient] - Internal[@dojoengine/internal\nSchema & Query Toolkit] - SDK[@dojoengine/sdk\ninit/createSDK] + subgraph "Core Client" + CoreProvider["@dojoengine/core
RPC Provider & World ABI"] + ToriiWasm["@dojoengine/torii-wasm
+ torii-client shim"] + GrpcClient["@dojoengine/grpc
ToriiGrpcClient"] + Internal["@dojoengine/internal
Schema & Query Toolkit"] + SDK["@dojoengine/sdk
init/createSDK"] end - subgraph App Integrations - StatePkg[@dojoengine/state\nZustand & RECS stores] - ReactPkg[@dojoengine/react\nHooks & RX bindings] - Burner[@dojoengine/create-burner\nLocal wallets] - Predeployed[@dojoengine/predeployed-connector\nInjected connector] - UtilsPkg[@dojoengine/utils] + subgraph "App Integrations" + StatePkg["@dojoengine/state
Zustand & RECS stores"] + ReactPkg["@dojoengine/react
Hooks & RX bindings"] + Burner["@dojoengine/create-burner
Local wallets"] + Predeployed["@dojoengine/predeployed-connector
Injected connector"] + UtilsPkg["@dojoengine/utils"] end - subgraph Tooling - Scaffolder[@dojoengine/create-dojo\nCLI scaffolds] + subgraph "Tooling" + Scaffolder["@dojoengine/create-dojo
CLI scaffolds"] Examples[Examples & Templates] end - World -- events & state --> ToriiIndexer - CoreProvider -- invoke/call --> World - ToriiIndexer -- queries/subscriptions --> ToriiWasm - ToriiIndexer -- gRPC streams --> GrpcClient + World -- "events & state" --> ToriiIndexer + CoreProvider -- "invoke / call" --> World + ToriiIndexer -- "queries / subscriptions" --> ToriiWasm + ToriiIndexer -- "gRPC streams" --> GrpcClient ToriiWasm --> SDK GrpcClient --> SDK Internal --> SDK diff --git a/etc/architecture/whats-next.md b/etc/architecture/whats-next.md index 7da85135..ec1aed45 100644 --- a/etc/architecture/whats-next.md +++ b/etc/architecture/whats-next.md @@ -29,7 +29,7 @@ This roadmap captures the near-to-mid term architecture initiatives planned for 3. Provide dependency injection hooks in SDK/provider constructors and document how to supply alternative transports. - **Deliverables**: Adapter interfaces, default Starknet.js implementation, updated dependency guidelines. -## 4. TanStack/DB Integration +## 4. TanStack DB Integration - **Objective**: Leverage TanStack DB for richer client-side entity persistence, caching, and querying. - **Key Steps**: @@ -58,5 +58,6 @@ This roadmap captures the near-to-mid term architecture initiatives planned for ## Cross-Cutting Considerations +- Maintain incremental delivery via stacked `jj` changes to keep reviews focused. - Prioritise documentation and migration notes alongside each feature. - Invest in automated tests and benchmarks as new abstractions are introduced to safeguard performance and developer experience. diff --git a/etc/knowledge-base.md b/etc/knowledge-base.md index 7ced89e1..d81a3cc7 100644 --- a/etc/knowledge-base.md +++ b/etc/knowledge-base.md @@ -2,7 +2,7 @@ ## Architecture Snapshot (Main Branch) -- Reference diagram: [docs/architecture/overview.md](architecture/overview.md) +- Reference diagram: [etc/architecture/overview.md](architecture/overview.md) - Highlights: - `@dojoengine/sdk` connects Torii indexer clients, message signing, and schema parsing for app consumption. - `@dojoengine/core` offers the `DojoProvider` Starknet RPC interface for direct world contract access. @@ -10,4 +10,4 @@ - UI/state layers (`@dojoengine/state`, `@dojoengine/react`) build on the SDK for entity subscriptions and optimistic updates. - Tooling packages (`create-burner`, `predeployed-connector`, `create-dojo`) streamline wallet setup and application scaffolding. -_Last updated: 2025-09-25T13:27:58Z +_Last updated: 2025-09-25T19:22:04Z