Skip to content

Make UUID changes immutable & add network splitting#36

Merged
mjarduk merged 3 commits into
mainfrom
core-overhaul
Jun 5, 2026
Merged

Make UUID changes immutable & add network splitting#36
mjarduk merged 3 commits into
mainfrom
core-overhaul

Conversation

@mjarduk
Copy link
Copy Markdown
Collaborator

@mjarduk mjarduk commented May 27, 2026

Closes #34.

mjarduk added 2 commits May 27, 2026 13:46
Starting the core overhaul branch, I've chosen to first refactor the network
graph, after noticing the lifecycle problem with nodes being created with
temporary UUIDs, loaded later, and then being renamed.

Network node IDs are now assigned before construction and no longer mutate after
the node enters a network. Component items now receive their persisted node ID
before creating their node. Block entities use a small lazy holder
(LazyNetworkNode) to bridge Minecraft's loading bullshit with this new approach.

These changes also remove Network.rename() and the node load hook redundant,
since persistence is handled outside the graph. Removed them accordingly.

OpenOS launches fine.
@mjarduk mjarduk linked an issue May 27, 2026 that may be closed by this pull request
3 tasks
@mjarduk mjarduk marked this pull request as draft May 27, 2026 20:12
@mjarduk
Copy link
Copy Markdown
Collaborator Author

mjarduk commented Jun 3, 2026

Admittedly, I didn't think much about UUID collisions, but I'm going to roll with it for this pull for now. I'll fix it in a different PR.

@mjarduk mjarduk marked this pull request as ready for review June 3, 2026 08:31
@mjarduk
Copy link
Copy Markdown
Collaborator Author

mjarduk commented Jun 3, 2026

Itz lying!!! I've yet to outline the architecture, as well as move the computer out.

Replace separate machine/code registries with a unified MachineBuilder, move Lua
machine setup behind LuaMachineArchitecture, and simplify EEPROM default code
loading through EepromItem.

Last change on this branch, the next one will attempt to make a split between the
Core API & the Core itself, making the boundaries clear-er as well as,
hopefully, reducing the OOP-for-the-sake-of-OOP bloat
@mjarduk mjarduk requested a review from JasonTheKitten June 3, 2026 15:50
@mjarduk mjarduk self-assigned this Jun 3, 2026
@mjarduk mjarduk mentioned this pull request Jun 3, 2026
3 tasks
@mjarduk mjarduk changed the title Core overhaul Make UUID changes immutable & add network splitting Jun 5, 2026
@mjarduk mjarduk merged commit ff474fb into main Jun 5, 2026
2 checks passed
@mjarduk mjarduk deleted the core-overhaul branch June 5, 2026 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Architectural overhaul

2 participants