Skip to content

Visual Presets

Brotkrumen loads visual design profiles from presets.yml. Presets define how graph nodes, graph edges, teleports, warps, and guided-path goals are rendered.

The bundled presets are:

PresetDescription
emberWarm flame, lava, smoke, and high-contrast block-display materials.
prismBrighter end-rod, portal, witch, glass, and sea-lantern styling.

Each preset can define designs for two renderer families:

RendererPreset keyDescription
spellbookEffectparticleRenders nodes and edges through Spellbook’s effect system.
blockDisplayblock-displayRenders temporary Minecraft Block Display entities without changing real world blocks.

The default renderer is configured in config.yml:

visualizer:
defaultRenderer: 'spellbookEffect'

Node roles let different graph elements use different visuals.

RoleMeaning
DEFAULTNormal graph node.
LOCAL_TELEPORTNode involved in local teleport traversal.
INTERGRAPH_TELEPORTNode involved in inter-graph teleport traversal.
WARPManaged warp node.
GUIDED_PATH_GOALFinal goal marker for guided /bk resolve paths.

Edge roles control the visuals for normal, directed, blocked, and inter-graph connections.

RoleMeaning
DEFAULT_LOCALNormal local edge.
DIRECTED_LOCALDirected local edge.
UNDIRECTED_LOCALUndirected local edge.
BLOCKEDBlocked edge.
INTER_GRAPHInter-graph edge.
DIRECTED_INTER_GRAPHDirected inter-graph edge.
UNDIRECTED_INTER_GRAPHUndirected inter-graph edge.

Particle presets define a shape and particle for each role.

ember:
particle:
nodes:
DEFAULT:
shape:
type: cube
size: 0.45
points-per-edge: 5
particle:
type: FLAME

Common shape types include cube, sphere, line, and moving-point.

Block-display presets define a material, scale, thickness, and node clearance.

ember:
block-display:
nodes:
DEFAULT:
material: COAL_BLOCK
scale: 0.45
edges:
DEFAULT_LOCAL:
material: ORANGE_WOOL
thickness: 0.16
node-clearance: 0.8

Block-display rendering uses visualizer.viewDistance plus visualizer.spawnDistanceBuffer for entity spawn and retention range.

Use /bkeditor preset while editing a graph to store renderer-specific presets on that graph:

/bkeditor preset spellbookEffect ember
/bkeditor preset blockDisplay prism

Use /bkeditor settings preset <presetName> when you only want to change the temporary editor preview preset for the active renderer.

After editing presets.yml, reload Brotkrumen:

/bk reload

This reloads configuration, localization, visual presets, graphs, and graph networks.