java-topology/whitepaper/gumyum/dots/mc-gameloop.dot
russell@unturf.com db29a08762 undefect. CWE-407 — 92 sites, 42 ecosystems
B&W print-friendly diagrams + tinkerpop-0001 + wave-3 proof sections.
Squash of 94 local commits onto remote master.
2026-03-26 19:48:18 -04:00

94 lines
3.4 KiB
Text

digraph mc_gameloop {
graph [
bgcolor="white"
fontname="Helvetica"
fontsize=10
rankdir=TB
pad=0.4
splines=curved
nodesep=0.4
ranksep=0.6
label="Minecraft Server Tick — Known Slow Paths (20 TPS target)"
labelloc=t
labeljust=l
fontsize=11
fontcolor="black"
]
node [
fontname="Helvetica"
fontsize=8
style=filled
fillcolor="white"
color="black"
penwidth=0.8
margin="0.12,0.06"
]
edge [
color="black"
penwidth=0.5
arrowsize=0.4
fontname="Helvetica"
fontsize=7
fontcolor="black"
]
// Server tick root — double border to show it's the entry point
tick [label="MinecraftServer.tick()\n50ms budget / tick" shape=box penwidth=1.5]
// Major subsystems — normal border
world [label="ServerLevel.tick()" shape=box]
chunks [label="ServerChunkCache\n.tick()" shape=box]
ents [label="Entity tick loop" shape=box]
blocks [label="Block tick\n(random + scheduled)" shape=box]
redst [label="Redstone\npropagation" shape=box]
tick -> world
tick -> chunks
world -> ents
world -> blocks
world -> redst
// Tag loading (startup/reload) — dashed = not-on-tick-path
reload [label="TagLoader\n(world load / /reload)" shape=box style="filled,dashed"]
// Defective node — thick border marks confirmed defect
ds [label="[!] minecraft-0001\nDependencySorter.isCyclic\nO(E^D) — no visited set\nExponential on diamond deps" shape=box penwidth=2.0 style="filled,dashed"]
reload -> ds [penwidth=1.5 label="called per edge"]
// Piston (block tick path) — thin border = bounded/LOW
piston [label="PistonStructureResolver\n.resolve()" shape=box]
ps [label="minecraft-0002\ntoPush.contains()\nO(P\u00b2) bounded<=12" shape=box style="filled,dashed" penwidth=0.5]
blocks -> piston
piston -> ps [penwidth=0.5 label="per activation"]
// Entity AI — normal
ai [label="GoalSelector.tick()\nBrain.tick()" shape=box]
path [label="PathNavigation\nPathFinder" shape=box]
ents -> ai
ai -> path
path_q [label="? scan pending\nA* open set structure" shape=box style="filled,dashed" penwidth=0.5]
path -> path_q [style=dashed penwidth=0.5 label="under investigation"]
// Redstone — medium border = MEDIUM defect
expredst [label="[!] minecraft-0003\nExperimentalRedstoneWireEvaluator\nDeque.contains() O(N) in BFS\nMEDIUM — flag-gated" shape=box penwidth=1.2 style="filled,dashed"]
redst -> expredst [penwidth=0.8 label="experimental flag" style=dashed]
// DefaultRedstoneWireEvaluator — CLEAN
defredst [label="DefaultRedstoneWireEvaluator\nCLEAN — separate Set+Deque" shape=box penwidth=0.5]
redst -> defredst [penwidth=0.5 label="default path"]
// Chunk
chunkmap [label="ChunkMap\ndependency tracking" shape=box]
chunks -> chunkmap
// Legend — shape-based encoding
subgraph cluster_legend {
label="Key"
fontsize=8
color="black"
penwidth=0.5
style=dotted
l1 [label="[!] thick border = confirmed defect" shape=plaintext fontsize=8 fontcolor="black"]
l2 [label="thin border = bounded / LOW / CLEAN" shape=plaintext fontsize=8 fontcolor="black"]
l3 [label="dashed box = deferred / flag-gated / not-on-tick-path" shape=plaintext fontsize=8 fontcolor="black"]
}
}