Expand description
Shared gameplay session state for TUI, bots, and third-party clients.
Re-exports§
pub use harvest_debug::verbose as harvest_debug_verbose;pub use harvest_debug::TARGET as HARVEST_LOG_TARGET;
Modules§
- currency
- Client-side currency display from inventory stacks.
- harvest_
debug - Harvest / play-loop diagnostics.
- navigation
- Client-side pathfinding and auto-navigation toward a map target.
Macros§
- harvest_
trace - Log at
infowhenverbose(), elsedebug— always usesTARGET.
Structs§
- Asset
Bundle Index - Asset
File Entry - Asset
Sync Options - Asset
Sync Result - Attribute
Row - BotClient
- BotConfig
- BotStats
- Character
Sheet - Chat
LogEntry - One line in the always-visible chat log / active thread.
- Client
Bundle Sources - Roots assembled into one installed-client Firebase bundle.
- Client
Config - Client
KeyBindings - Client
Settings - Connect
Options - Container
Candidate - One owned container row for the withdraw/deposit container pickers.
- Context
Line - HUD line for the location / nearby panel.
- Game
Client - Game
State - GfxWindow
Prefs - Grant
Target Option - Grant
Target Picker - Active “apply grant onto…” picker (fortify oil, frost edge scroll, …).
- Inventory
Row - One row in the inventory browser tree.
- Inventory
RowView - Formatted inventory row text shared by TUI and gfx browsers.
- Loadout
Hotbar Choice - One row in the loadout hotbar picker (ability or inventory consumable).
- Local
Asset State - Move
Option - A destination the currently-picked item could be moved to.
- Move
Picker - Active “move to…” destination picker state for the selected inventory item.
- Nearby
Container - A placed chest within
CONTAINER_RANGE_M, with its contents pre-flattened for the browser (empty when locked without the matching key). - Node
Candidate - One resource-node row for the harvest picker.
- Pending
Trade Request - Inbound trade request waiting for Y/N in the chat column.
- Player
Verb State - PoolRow
- Remote
Session - Rotation
Editor State - Local rotation editor UI state (not persisted).
- Skill
Row - Social
Chat State - Speaking
Bubble - Comic “…” bubble above a speaking player (Nearby / Direct only).
- Storage
Pick Option - One selectable stack in a storage store/take/ship picker.
- Trade
NpcCandidate - One merchant row for the sell picker.
- Trade
UiState - UseWorld
Candidate - UseWorld
Probe - Whisper
Contact - Whisper
Pouch Ui - Withdraw
Line Draft - One editable withdraw line inside the
WithdrawItemssheet. - Worker
Give Option - One giveable stack in the workers-menu give picker.
- Worker
Give Picker - Give an on-person inventory stack to the selected hired worker.
- Worker
Give Target Option - Nearby hired worker choice when giving a selected inventory stack (
g). - Worker
Give Target Picker - Pick which nearby worker receives the selected inventory item.
- Worker
Route Editor State - Draft route for a hired worker.
stopsis the ordered, editable list;lodging_container_idis the bed used forRestIfNeeded. - Worker
Route Waypoint - One outbound travel waypoint for a harvest loop route.
- Worker
Route Withdraw Item - One withdraw line for a
WithdrawFromeditor stop. - Worker
Take Picker - Take an item from a hired worker back into the employer’s inventory.
- Worker
Teach Option - One teachable blueprint in the workers-menu teach picker.
- Worker
Teach Picker - Teach a known blueprint to the selected hired worker.
Enums§
- Asset
Sync Kind - Outcome of
sync_assetsfor logging / HUD toasts. - Audio
Cue - Soft UI tones (synthesized; .wav hooks come later).
- Auth
Credential - How the client authenticates to the game gateway. Uses default serde enum encoding (postcard-compatible; not internally tagged).
- Bank
UiMode - Bank teller panel focus (action list vs amount / transfer prompts).
- Character
Sheet Tab - Chat
Thread Kind - Where chat input will send.
- Equip
Paperdoll Row - Inventory
Browser Line - One line in the sectioned inventory browser (headers are non-selectable).
- Inventory
Section - Broad section of the inventory browser a row belongs to (drives the grouped “Worn” / “On you” / “Nearby chest” headers in the UI).
- Inventory
Tab - Top-level inventory browser tab (
bmenu). - Ledger
Period - Move
Option Kind - Rotation
Editor Mode - Rotation editor overlay mode (
plans/26§C2.5). - Route
Editor Click - Mouse actions produced by the gfx overlay and applied on the net thread.
- Route
Editor Sheet - Which sheet (sub-screen) the route editor is showing.
- Session
Event - Sheet
Sync - ShopTab
- Storage
UiMode - Town storage manager focus (action list vs item pickers vs quantity).
- UseWorld
Kind - What kind of world-use target this is (drives tint + verb).
- Withdraw
Line Mode - Tri-state of one withdraw line draft: not included, take all, take qty.
- Worker
Route Stop - One typed stop in an ordered worker route. Mirrors the sim
WorkerRouteStop.
Constants§
- ADD_
MENU - Add-menu entries in display order.
- CONTAINER_
RANGE_ M - Max distance (m) a placed chest can be browsed/moved-into from the inventory
UI. Mirrors
flatland_sim::interaction::CONTAINER_INTERACTION_RADIUS_Mso the client only ever shows chests the server will actually let you use — this is what makes a chest disappear from the menu as soon as you walk away. - DEFAULT_
API_ PORT - DEFAULT_
FIREBASE_ BUCKET - DEFAULT_
GAME_ PORT - DEFAULT_
TICK_ HZ - Default sim tick rate when the client has no settings (matches server-settings).
- LIST_
PAGE_ SIZE - Rows jumped by PageUp / PageDown in list UIs.
- USE_
WORLD_ NEARBY_ SCAN_ M - Candidates beyond this are omitted from the probe list.
- WAYPOINT_
MENU - Waypoint submenu entries in display order.
- WORKER_
GIVE_ RANGE_ M - Max distance (m) to hand an item to a hired worker.
Traits§
- Play
Connection - Gameplay session handle (remote TCP or in-process worker).
Functions§
- assets_
index_ url - body_
slot_ label - Short display label for a body slot (
plans/08§4.1) — shared by the inventory browser section headers and the move-destination picker. - build_
bundle_ index - Walk
assets/gfx/spritesand build a publish manifest (relative paths → hash). - build_
character_ sheet - build_
client_ bundle_ index - Build the installed-client asset index: sprites at the rev root plus optional paperdoll / player presentation / player art / client config trees.
- connect
- connect_
tcp - contacts_
from_ stacks - default_
api_ base_ url - default_
game_ server_ addr - default_
server_ addr - equip_
paperdoll_ rows - firebase_
download_ url - firebase_
object_ path - format_
binding_ mode - format_
binding_ ttl - Human-readable remaining time for an item status binding.
- format_
pool_ xp - format_
progress_ pct - format_
status_ bindings_ suffix - Compact suffix for inventory / paperdoll rows, e.g.
· fortify (while equipped, 58m left). - format_
xp_ band - format_
xp_ band_ compact - format_
xp_ delta - Signed delta from baseline — always enough decimals to see harvest ticks.
- format_
xp_ value - Adaptive precision so tiny harvest gains (0.08 XP) don’t display as 0.0.
- inventory_
category_ group - Category group for On-person loose items (stable order).
- list_
label_ matches - Case-insensitive substring match for list filters (name / template / label).
- load_
client_ settings - needs_
asset_ sync - node_
candidates - Harvestable resource nodes sorted by distance to the player.
- owned_
container_ candidates - Owned containers (any with storage capacity, lodging flagged) sorted by distance to the player then name — the withdraw/deposit picker rows.
- owned_
container_ candidates_ with_ occupants - Like
owned_container_candidates, but lodging rows include occupant names insummary. - owned_
lodging_ container_ ids - Owned placed lodging containers (camp beds) — used as the rest/bed target.
- owned_
lodging_ container_ ids_ with_ occupants - Lodging beds with display names that include occupant labels (
Camp bed — Elda). - owned_
storage_ template_ ids - Distinct item templates present in the employer’s owned placed containers —
candidate sell templates for
TradeWithstops. - page_
list_ index - Clamp a list selection after a page jump (
pagesis typically ±1). - pick_
lodging_ container_ at - pick_
resource_ node_ at - Nearest harvestable resource node within click range.
- pick_
storage_ container_ at - Pick any owned storage container at a click position (lodging or regular chest).
- pick_
trade_ npc_ at - Nearest trade-capable NPC within click range.
- read_
local_ state - read_
repo_ publish_ rev - Publish rev from
assets/.content-publish.jsonwhen running from a dev checkout. - resolve_
bundle_ file_ path - Resolve on-disk path for a relative key in the client asset bundle.
- resolve_
paperdoll_ dir - Paperdoll root for installed / synced clients (
rev-N/paperdoll) or repo checkout. - resolve_
sprites_ dir - Prefer the repo checkout when it is at least as new as the synced cache.
- route_
item_ template_ candidates - Item templates for deposit filters / sell stops — not limited to what is
already in a chest. Includes storage, inventory, craft outputs/inputs, harvest
node products, and any
extraseeds (existing filter selections, route craft outputs) so factory lines can be authored before the first batch is made. - self_
chat_ rgb - Local player’s chat color (mint) — distinct from hashed peer colors.
- should_
prefer_ repo_ assets - True when this process should use the git checkout sprites instead of Firebase.
- speaker_
chat_ rgb - Stable pastel from entity id (same color in CHAT log and world bubble).
- summarize_
contents - Summarize container contents as
oak_log ×12 · lumber ×4(or(empty)). - sync_
assets - synced_
rev_ dir - Active synced rev directory (
~/.flatland3/assets/rev-Norcurrent). - trade_
npc_ candidates - Trade-capable NPCs sorted by distance to the player.
- worker_
attention_ line - First non-transient worker issue for the status bar (strike, route error, etc.). Routine recovery noise (path failures → lodging) stays in the game log only.
- worker_
craft_ blueprint_ ids - Blueprint ids the route editor may assign to a
craft_at handstop. - worker_
error_ is_ hud_ noise - True for routine worker recoveries that should not paint the status bar.
Still logged when they change (see
GameState::apply_hired_workers). - worker_
error_ is_ transient - True when a worker
last_erroris transient noise (soft-skip chatter).