Skip to main content

Module tree

Module tree 

Source
Expand description

Infinite procedural upgrade tree.

Every node in the tree is a pure function of (TREE_SEED, lot_x, lot_y). Save state stores only the set of bought lot coordinates plus a pan position; everything else (geometry, effects, names, costs, edges) is regenerated on demand from the seed.

The seed is a FNV-1a 64-bit hash of the literal string "DEADBEEF_BANANA" — same value for every player, every install, forever. The tree itself is the meta-game.

Re-exports§

pub use aggregate::FingererTreeContrib;
pub use aggregate::TreeAggregate;
pub use coord::TreeCoord;
pub use node::LOT_H;
pub use node::LOT_W;
pub use node::NodeSpec;
pub use node::Rarity;
pub use node::anchor_of;
pub use node::diagonal_route_via;
pub use node::edge_exists;
pub use node::neighbors_of;
pub use node::node_at;
pub use primitive::Op;
pub use primitive::Primitive;
pub use primitive::Target;
pub use seed::TREE_SEED;
pub use seed::TREE_SEED_LITERAL;
pub use state::UpgradeTreeState;

Modules§

aggregate
Parallel-Aggregate cache for tree contributions.
coord
Lot coordinates on the infinite tree canvas.
naming
Procedural name + blurb generation.
node
Per-lot node generator.
noise
Deterministic value noise — hash-smoothed lattice sampling.
primitive
Engine primitives — the fixed vocabulary of effects the tree can produce.
rng
Position-seeded deterministic RNG for tree generation.
seed
The one true seed.
state
Persistent state for the upgrade tree.