-
-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
21 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Project Structure | ||
|
||
## Overview | ||
|
||
Pumpkin is split into multiple crates, thus having a set project structure between contributors is essential. | ||
|
||
## Pumpkin-Core | ||
|
||
The core crate has some special rules that only apply to it: | ||
|
||
- It may not depend on any other pumpkin crate | ||
- There may not be any files directly under src/, except for the mod.rs file (this is to help with organisation) | ||
|
||
## Other crate rules | ||
|
||
- [`pumpkin-protocol`](/pumpkin-protocol/) - contains definitions for packet types **and** their serialization (be it through serde, or manually implementing `ClientPacket`/`ServerPacket`), only the `pumpkin` crate may depend on this | ||
- `pumpkin-macros` - similarly to `pumpkin-core`, it may not depend on any other pumpkin crate |