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
# Runtime and Reloads
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
Reload is transactional at the content-snapshot level. VoxelCore does not clear the live registry and then hope replacement content succeeds.
9
10
## Startup
11
12
Startup performs, in order:
13
14
1. configuration generation/migration;
15
2. platform adapter selection;
16
3. content-directory creation and deterministic load;
17
4. inheritance compilation;
18
5. render-allocation load/reconciliation;
19
6. validation of every compiled definition through the selected platform item adapter;
20
7. persistence of validated allocations;
21
8. publication of content revision `1`;
22
9. `ItemManager`/`PackManager` construction;
23
10. command registration;
24
11. `VOXELCORE_READY` logging.
25
26
A load or platform-validation failure disables the plugin before publishing a usable runtime.
27
28
## Reload
29
30
```mermaid
31
flowchart TD
32
A[Active revision N] --> B[Load candidate files]
33
B --> C[Compile candidate registry]
34
C --> D[Reconcile candidate allocations]
35
D --> E[Platform preflight]
36
E -->|success| F[Persist allocation state]
37
F --> G[Atomically publish revision N+1]
38
B -->|failure| H[Discard candidate]
39
C -->|failure| H
40
D -->|failure| H
41
E -->|failure| H
42
H --> I[Revision N remains active]
43
```
44
45
`ContentRuntime` publishes immutable `ContentSnapshot` objects. `ItemManager` resolves through the active runtime, so existing manager references observe the new snapshot after successful publication.
46
47
## Allocation persistence
48
49
`render-allocations.yml` is persisted only after candidate definitions are validated for the active platform. Tombstones preserve removed numeric allocations and structured keys remain reserved, avoiding silent re-use.
50
51
Do not casually delete `render-allocations.yml` on a live content set; doing so discards allocation history and can change rendering identifiers.