Skip to main content

cuqueclicker_lib/game/tree/
mod.rs

1//! Infinite procedural upgrade tree.
2//!
3//! Every node in the tree is a pure function of `(TREE_SEED, lot_x, lot_y)`.
4//! Save state stores only the set of bought lot coordinates plus a pan
5//! position; everything else (geometry, effects, names, costs, edges) is
6//! regenerated on demand from the seed.
7//!
8//! The seed is a FNV-1a 64-bit hash of the literal string `"DEADBEEF_BANANA"`
9//! — same value for every player, every install, forever. The tree itself is
10//! the meta-game.
11
12pub mod aggregate;
13pub mod coord;
14pub mod naming;
15pub mod node;
16pub mod noise;
17pub mod primitive;
18pub mod rng;
19pub mod seed;
20pub mod state;
21
22pub use aggregate::{FingererTreeContrib, TreeAggregate};
23pub use coord::TreeCoord;
24pub use node::{
25    LOT_H, LOT_W, NodeSpec, Rarity, anchor_of, diagonal_route_via, edge_exists, neighbors_of,
26    node_at,
27};
28pub use primitive::{Op, Primitive, Target};
29pub use seed::{TREE_SEED, TREE_SEED_LITERAL};
30pub use state::UpgradeTreeState;