Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Limits

These are Cinnabar sandbox and API limits. Counts apply per mod unless stated otherwise. Bytes count UTF-8 or encoded data, not characters. Fuel measures guest execution; host imports have separate allowances. Handle errors and spread work across callbacks.

Event handlers

ConstantValueScope
mod_api::ACTION_FILTER_FUEL200000Independent fuel for one synchronous action-filter call.
mod_api::HANDLER_CALL_FUEL50000Fuel for one handler call; a handler is skipped when its event family’s remaining allowance is smaller.
mod_api::TOTAL_SOUND_HANDLER_FUEL400000Guest fuel shared by all sound handlers per audio frame.
mod_api::MAX_HANDLED_SOUNDS256New playback requests offered per audio frame; excess requests play unhandled.
mod_api::MAX_SOUND_NAME_BYTES128Bytes in one offered sound-definition name.
mod_api::TOTAL_TELEPORT_HANDLER_FUEL400000Guest fuel shared by all teleport handlers per frame.

Execution and packages

ConstantValueScope
mod_host::FRAME_FUEL1000000Fuel for one personal-mod frame.
mod_api::TOTAL_MOD_FRAME_FUEL2000000Frame fuel shared by all local mods, including actual world-entry use.
mod_host::WORLD_ENTRY_FRAME_FUEL4000000One frame callback per observed world session, subject to shared admission.
server_experience::runtime::CALLBACK_FUEL10000000Ordinary event and client-part callback fuel.
server_experience::runtime::LOAD_FUEL100000000Personal-mod init and data-changed fuel.
mod_host::MEMORY_BYTES16777216Linear memory per personal mod.
mod_api::MAX_LOADED_MODS256Concurrent local mods.
mod_host::MAX_COMPONENT_BYTES4194304Executable component bytes.
mod_host::MAX_COMPONENT_SOURCE_BYTES21233966Component envelope including embedded resources.
mod_host::package::MAX_PACKAGE_BYTES16777216Indexed directory package bytes.
mod_host::MAX_LABEL_BYTES256Plain label bytes.
mod_api::MAX_SETTINGS_BYTES16384Settings JSON bytes.

After the host observes a new world session, each personal mod may run one frame callback with WORLD_ENTRY_FRAME_FUEL. Across all local mods, only one such callback is admitted per game update. It needs a full FRAME_FUEL reservation for admission and receives the full world-entry allowance. Its actual fuel use is charged to the shared frame pool; unused reservation fuel is refunded, and use beyond the pool reduces later frames’ capacity. If the extra slot is busy, ordinary callbacks can continue and the mod keeps its pending allowance. A temporary missing world, dimension change, guest recovery or hot replacement does not renew a used allowance.

The guest’s budget.remaining-fuel reports its cumulative invocation allowance across suspension. Elapsed time only schedules suspendible frames; fuel is their only execution fault limit. Host-call limits, validation, events, loading and synchronous decision-handler instances keep their separate limits. Fuel does not guarantee a wall-clock duration.

Controls and presentation

ConstantValueScope
mod_api::MAX_SELECTED_SLOT_READS8Selected-slot reads per callback, apart from the player-state read allowance.
mod_api::MAX_INPUT_BINDINGS_PER_READ16Physical binding entries copied per read.
mod_api::MAX_INPUT_BINDINGS128Physical binding entries per settings snapshot.
mod_api::MAX_INPUT_ACTION_BYTES32Bytes per stable binding action name.
mod_api::MAX_CONTROL_KEYS64Physical keys per held/admitted/pressed list, selection or reservation. Held and admitted lists truncate independently in physical-name order; above the cap, chord resolution can differ from the host gate.
mod_api::MAX_CONTROL_KEY_BYTES32Bytes per physical key name.
ui::mod_panel::MAX_PANEL_BYTES327680Whole personal panel JSON bytes.
ui::mod_panel::MAX_PANEL_BUNDLE_BYTES8388608Panel bundle bytes.
ui::mod_panel::MAX_PANEL_PATCH_BYTES32768Panel patch bytes.
ui::mod_panel::MAX_PANEL_CONTROLS512Controls per panel.
ui::mod_panel::MAX_PANEL_EVENTS64Panel input events per batch.
ui::mod_panel::MAX_SURFACE_BINDINGS256Scalar surface bindings.
ui::mod_panel::MAX_SURFACE_PATCH_BYTES65536Surface patch bytes.
mod_api::presentation::MAX_ANNOTATIONS128Actor annotations.
mod_api::presentation::MAX_ANNOTATION_SPANS4Spans per annotation surface.
mod_api::presentation::MAX_ANNOTATION_SPAN_BYTES32Bytes per annotation span.
mod_api::presentation::MAX_ACTOR_TINTS64Actor tints.
mod_api::presentation::MAX_TOOLTIP_LINES256Retained tooltip lines.
mod_api::presentation::MAX_ITEM_TOOLTIP_LINES8Extra tooltip lines shown for one item.
mod_api::presentation::MAX_TOOLTIP_LINE_BYTES96Bytes per tooltip line.
mod_api::presentation::MAX_CHAT_ACTIONS32Retained chat actions.
mod_api::presentation::MAX_CHAT_ACTION_TEXT_BYTES96Bytes per chat span.
mod_api::presentation::MAX_CHAT_ACTION_ID_BYTES48Bytes per chat action ID.

Embedded assets and native payloads

ConstantValueScope
mod_api::MAX_PANEL_FONT_BYTES2097152Embedded outline font bytes.
mod_api::MAX_PANEL_ICON_GLYPHS64Private panel icon glyphs.
mod_api::MAX_MENU_LOGO_BYTES2097152Encoded menu logo bytes.
mod_api::MAX_MENU_LOGO_WIDTH4096Menu logo width in pixels.
mod_api::MAX_MENU_LOGO_HEIGHT2048Menu logo height in pixels.
mod_api::MAX_MENU_LOGO_PIXELS4194304Decoded menu logo pixels.
mod_api::MAX_MENU_TITLE_BYTES64Menu heading bytes.
mod_api::MAX_NOTICES_BYTES4194304Embedded license text bytes.
mod_api::MAX_ICON_BYTES262144Mods library icon bytes.
mod_api::MAX_ICON_SIDE256Mods library icon side in pixels.
mod_api::native_frame::MAX_BYTES65536Native frame input and camera output bytes.
mod_api::native_render::MAX_BYTES262144Native drawing output bytes.

Block geometry and clipping

ConstantValueScope
mod_api::drawing::MAX_BLOCK_CELLS2097152Retained grid cells, including retired generations.
mod_api::drawing::MAX_BLOCK_EXTENT384Grid extent per axis.
mod_api::drawing::MAX_BLOCK_PALETTE4096States in one grid palette.
mod_api::drawing::MAX_BLOCK_STATE_BYTES262144Named palette state bytes.
mod_api::drawing::MAX_BLOCK_MUTATION_BYTES16777216Grid input bytes per callback.
mod_api::drawing::MAX_BLOCK_TRIANGLES2097152Triangles across an owner’s completed grids.
mod_api::drawing::MAX_BLOCK_DRAW_TRIANGLES4194304Submitted block triangles across placements.
mod_api::drawing::MAX_BLOCK_MESH_BYTES134217728Packed mesh bytes across an owner’s grids.
mod_api::drawing::MAX_BLOCK_GPU_BYTES268435456GPU arena, sort and placement bytes for personal block drawing.
mod_api::drawing::MAX_DRAW_CLIPS8Retained clip resources.
mod_api::drawing::MAX_DRAW_CLIP_DEPTH2Mask levels in one intersected clip chain.
mod_api::drawing::MAX_CLIP_ATTACHMENT_BYTES134217728Private clip attachment bytes across personal views.

World and player observations

ConstantValueScope
mod_api::MAX_GAMEPLAY_PLAYERS128Remote player poses per gameplay snapshot.
mod_api::MAX_GAMEPLAY_MOBS64Nearby non-player poses.
mod_api::MAX_MOB_RANGE_BLOCKS64Non-player observation radius in blocks.
mod_api::MAX_OBSERVED_ACTORS16Actor observations per read.
mod_api::MAX_OBSERVED_ACTOR_BOXES8Boxes per observed actor.
mod_api::MAX_ACTOR_LIFE_READS64Actor IDs per life lookup.
mod_api::MAX_COMBAT_READ_EVENTS4Combat events per incremental read.
mod_api::MAX_COMBAT_LIFE_READS64Event sequences per combat-life lookup.
mod_api::MAX_FACT_READS128Fact reads per callback.
mod_api::MAX_PLAYER_STATE_EFFECTS32Effects per player snapshot.
mod_api::MAX_ITEM_IDENTIFIER_BYTES128Item identifier bytes.
mod_api::MAX_TERRAIN_EXTENT16Region extent per axis in blocks.
mod_api::MAX_TERRAIN_CELLS4096Cells per region query.
mod_api::MAX_TERRAIN_QUERIES4Distinct region and block-search subscriptions per frame.
mod_api::MAX_TERRAIN_DISTANCE128Terrain distance per axis from the player, in blocks.
mod_api::MAX_TERRAIN_FRAME_CELLS8192Changed cells re-sampled per frame across all mods.
mod_api::MAX_TERRAIN_BOXES4096Distinct boxes per region.
mod_api::MAX_TERRAIN_METADATA_BYTES262144Region metadata bytes.
mod_api::MAX_TERRAIN_RESPONSE_BYTES524288Lowered region bytes.
mod_api::MAX_FOUND_BLOCKS1024Positions returned by one block search.
mod_api::MAX_FOUND_BLOCK_IDENTIFIERS8Identifiers per block search.

Requests and camera

ConstantValueScope
mod_api::MAX_CAMERA_DELTA_RADIANS0.25Accumulated rotation per axis per callback, in radians.
mod_api::MAX_ENTITY_REACH_BLOCKS6Local actor attack reach in blocks.
mod_api::MAX_PACKET_DELAY_MS1000Post-login application packet delay in milliseconds.
mod_api::MAX_INVENTORY_REQUESTS4Inventory requests per callback.
mod_api::MAX_RIG_SIDE_BLOCKS2Absolute rig side offset in blocks.
mod_api::MAX_RIG_VERTICAL_BLOCKS2Absolute rig vertical offset in blocks.
mod_api::MAX_RIG_BACK_BLOCKS8Rig boom length in blocks.
mod_api::MAX_RIG_ROLL_RADIANS0.6Absolute rig roll in radians.
mod_api::MAX_RIG_FOV_DELTA_DEGREES30Absolute rig FOV delta in degrees.
mod_api::MAX_VIEW_TILT_DEGREES90Absolute view tilt per axis in degrees.
mod_api::MIN_VIEW_FOV_SCALE0.1Minimum current-frame FOV multiplier.
mod_api::MIN_VIEW_LOOK_SCALE0.05Minimum routed look multiplier.
mod_api::MAX_COMMAND_GRANTS8Granted command names.
mod_api::MAX_COMMAND_BYTES128Command request bytes.
mod_api::MAX_COMMANDS_PER_FRAME4Command requests per frame.
mod_api::MAX_COMMANDS_PER_SECOND10Command requests per second of gameplay frame time.
mod_api::MAX_CUES_PER_FRAME16Outgoing presentation cues per frame.
mod_api::MAX_CUE_NAME_BYTES32Cue name bytes.
mod_api::MAX_CUE_VALUES8Scalar values per cue.
mod_api::MAX_INCOMING_CUES64Incoming cues per callback.

Drawing, masks and shaders

ConstantValueScope
mod_api::MAX_RENDER_CALLS32Render and retained-drawing calls per callback, including refusals.
mod_api::MAX_DRAW_INSTANCES1024Retained draw instances per owner.
mod_api::MAX_DRAW_GEOMETRIES256Retained geometries per owner.
mod_api::MAX_DRAW_VERTICES65536Resident source vertices per owner.
mod_api::MAX_DRAW_INDICES196608Resident source indices per owner.
mod_api::MAX_DRAW_GEOMETRY_BYTES16777216Resident geometry bytes per owner.
mod_api::MAX_DRAW_MUTATION_BYTES1048576Shared drawing mutation and copied asset bytes per callback.
mod_api::MAX_DRAW_EXPANDED_VERTICES196608Expanded GPU vertices per owner.
mod_api::MAX_DRAW_VERTEX_WORK786432Submitted vertex work, including repeated instances.
mod_api::MAX_DRAW_GROUP_NAME_BYTES32Frame group name bytes.
mod_api::MAX_DRAW_ENTITIES16Retained actor references per owner.
mod_api::MAX_DRAW_MATERIALS8Retained materials, including retiring resources.
mod_api::MAX_MATERIAL_COMPILES_PER_CALLBACK1Material validation attempts per callback.
mod_api::MAX_MATERIAL_PIPELINE_COMPILES_PER_FRAME1Native material compilations per render frame across all mods.
mod_api::MAX_MATERIAL_EMISSION16Linear emission component.
mod_api::drawing::MAX_MASKS8Retained union masks per owner.
mod_api::drawing::MAX_MASK_ENTITIES32Actors per mask.
mod_api::drawing::MAX_MASK_VERTICES262144Actor vertices per mask, including equipment.
mod_api::drawing::MAX_MASK_ATTACHMENT_BYTES268435456Mask attachment bytes across masks and views.
mod_api::drawing::MAX_MASK_CALLS64Mask calls per callback.
mod_api::drawing::MAX_MASK_OUTLINE_RADIUS4Outline radius in physical pixels.
mod_api::drawing::MAX_MASK_GLOW_RADIUS16Glow radius in physical pixels.
mod_api::MAX_RENDER_PASSES8Retained post passes.
mod_api::MAX_SHADER_BYTES16384Shader source bytes.
mod_api::MAX_SHADER_EXPRESSIONS4096Expanded shader expressions.
mod_api::MAX_SHADER_TEXTURE_SAMPLES32Worst-case texture reads per fragment.
mod_api::MAX_SHADER_TYPE_BYTES1024Bytes in one shader value.
mod_api::MAX_PASS_PARAMS16Scalar post-pass parameters.
mod_api::MAX_PASS_COMPILES_PER_FRAME1Post-pass validations per frame callback.
mod_api::MAX_RENDER_DECALS64Decals per callback.
mod_api::MAX_RENDER_RIBBONS32Ribbons per callback; shared with lines.
mod_api::MAX_RIBBON_POINTS64Points per ribbon or line.
mod_api::MAX_RENDER_BEAMS16Beams per callback.
mod_api::MAX_RENDER_BILLBOARDS512Billboards per callback.
mod_api::MAX_BLOCK_HIGHLIGHTS1024Native full-block highlights.