Blame

e23584 Dan Alexander 2026-09-14 10:46:55
Add company wiki standards and VoxelCore docs This change establishes the shared company knowledge structure, governance, engineering, security, and incident/change standards. It also adds the VoxelHorizons product tree with a complete VoxelCore documentation set covering architecture, operations, authoring, version support, resource pack compilation, runtime reloads, and testing/release workflows.
1
# Architecture
2
3
4
> **Documentation baseline:** VoxelCore `main` at `452b569` ยท 14 September 2026.
5
> **Repository:** [https://github.com/VoxelHorizons/VoxelCore](https://github.com/VoxelHorizons/VoxelCore)
6
7
8
VoxelCore separates **authoring**, **compiled definitions**, **render allocation**, **runtime publication** and **platform adaptation**. That separation is the central design decision of the current rebuild.
9
10
```mermaid
11
flowchart TD
12
A[Content pack files] --> B[ContentPackDiscovery]
13
B --> C[ContentLoader + ItemDefinitionParser]
14
C --> D[ItemInheritanceResolver]
15
D --> E[ItemDefinitionCompiler]
16
E --> F[Immutable ItemDefinitionRegistry]
17
F --> G[RenderAllocationRegistry reconcile]
18
G --> H[Platform preflight validation]
19
H --> I[Atomic ContentSnapshot]
20
I --> J[ItemManager]
21
J --> K[VersionAdapter / ItemPlatformAdapter]
22
K --> L[Minecraft ItemStack]
23
F --> M[JavaPackCompiler]
24
G --> M
25
M --> N[Deterministic resource-pack ZIP]
26
```
27
28
## Stable identity
29
30
`ContentID` is the gameplay identity. It is namespaced, normalised and independent of:
31
32
- model path;
33
- numeric Custom Model Data;
34
- structured Custom Model Data indices;
35
- generated pack files.
36
37
That allows rendering schemes to change across Minecraft generations without changing the identity consumed by gameplay code.
38
39
## Immutable publication
40
41
Authored YAML is not retained as mutable runtime truth. The loader compiles it into immutable definitions, reconciles render allocations, validates them against the active platform, then publishes a complete `ContentSnapshot` through the runtime. Reload creates a candidate snapshot separately and only replaces current state after validation succeeds.
42
43
## Adapter boundary
44
45
Common code depends on `VersionAdapter`/`ItemPlatformAdapter` rather than embedding all server-version details in item definitions. Version modules provide their implementation through `PlatformProvider` service registration.
46
47
## Pack compiler boundary
48
49
`voxelcore-pack` consumes the same definitions and render allocation authority used by runtime item creation. This avoids a class of bugs where generated assets and server-side item metadata allocate different render identifiers.
50
51
## Current module shape
52
53
See [[Products/Voxel-Horizons/VoxelCore/Module-Reference]]. The current repository has common, pack, plugin and six version/distribution modules, including exact Minecraft/Paper 26.2 support.