- Scaffold project structure, npm metadata, and documentation
- Migrate runtime codebase to strict TypeScript with shared type definitions
- Implement core algorithms (A*, Dijkstra, Perlin, Quadtree, AABB, data/search utilities)
- Add steering behaviours and SAT collision module
- Provide Vitest coverage for representative algorithms
- Ship runnable TypeScript examples (A*, steering, SAT)
- Configure ESLint, Prettier, and CI workflow integration
- Implement Simplex noise generator with tests
- Implement Worley noise generator with tests
- Add boids flocking simulation and unit coverage
- Implement behaviour tree foundation with tests/examples
- Add circle-ray intersection helper
- Implement swept AABB collision checks
- Document new modules in
docs/index.d.tsand examples folder - Achieve >80% coverage across new modules
- Implement reciprocal velocity obstacles (RVO) crowd steering with tests and example
- Add Jump Point Search optimisation for uniform grids
- Implement flow-field pathfinding for multi-unit navigation
- Provide navigation mesh (navmesh) helper for irregular terrain
- Introduce request deduplication helper
- Ship virtual scrolling utilities
- Add diff/patch helpers for nested JSON structures
- Create benchmarking scripts to compare algorithm variants
- Expand CI to include coverage gating and bundle size checks
- Procedural generators:
- Wave Function Collapse tile solver with options + example
- Cellular automata cave/organic generator utilities
- Poisson disk sampling for even point distribution
- Voronoi diagram helpers for biome/territory generation
- Diamond-square terrain height map generator
- L-system generator for foliage and organic structures
- Dungeon generation suite (BSP subdivision, rooms & corridors variants)
- Maze algorithms pack (Recursive backtracking ✅, Prim's ✅, Kruskal's ✅, Wilson's ✅, Aldous–Broder ✅, Recursive Division ✅)
- Gameplay systems & utilities:
- Fixed-timestep game loop utility with interpolation helpers
- Delta-time manager for frame-independent timing
- Object pool helper for reusable entities
- Weighted random selector (alias method)
- Fisher–Yates shuffle implementation
- Bresenham line / raster traversal helpers
- Real-time systems:
- 2D camera system (smooth follow, dead zones, screen shake)
- Particle system with configurable emitters
- Sprite animation controller (frame timing, events)
- Tween/lerp utility for smooth interpolation
- Platformer physics helper (gravity, coyote time, jump buffering)
- Top-down movement helper (8-direction)
- Tile map renderer helpers (chunking, layering, collision tags)
- Shadowcasting field-of-view utilities and minimap helpers
- Systems for gameplay loops
- Inventory system primitives (stacking, filtering, persistence hooks)
- Combat resolution helpers (cooldowns, damage formulas, status effects)
- Quest/dialog state machine utilities
- 2D lighting helpers (falloff, blending stubs)
- Wave spawner utilities for encounter pacing
- Sound manager stubs (channel limiting, priority)
- Input manager abstraction (keyboard/mouse/pad remapping)
- Save/load serialization helpers (slots, integrity checks)
- Screen transition utilities (fades, wipes, letterboxing)
- AI & behaviour expansions
- Finite state machine (FSM) toolkit
- Genetic algorithm utilities
- Influence map computation helpers
- Search & string algorithms
- Knuth–Morris–Pratt (KMP) substring search
- Rabin–Karp multiple pattern matching
- Boyer–Moore fast substring search
- Suffix array construction utilities
- Longest common subsequence (LCS) enhancements and diff helpers
- Aho–Corasick multi-pattern automaton Data pipelines & utilities
- Flatten/unflatten helpers for nested structures
- Pagination utilities for client-side paging
- Advanced diff tooling (tree diff, selective patches) Visual & simulation tools
- Color manipulation helpers (RGB/HSL conversion, blending)
- Force-directed graph layout
- Marching squares contour extraction
- Marching cubes isosurface generation Graph algorithms
- Minimum spanning tree (Kruskal)
- Strongly connected components (Tarjan/Kosaraju)
- Maximum flow (Dinic preferred; Edmonds–Karp fallback) Spatial & collision expansion
- Octree partitioning for 3D space
- Circle collision helpers
- Raycasting utilities
- Bounding volume hierarchy (BVH) builder Data structures
- Binary heap priority queue
- Disjoint set union (union-find)
- Bloom filter probabilistic membership
- Skip list sorted structure
- Segment tree range query helper Compression & encoding
- Run-length encoding (RLE)
- Huffman coding utilities
- LZ77 dictionary compression helper
- Base64 encode/decode utilities Geometric & numeric utilities
- Closest pair of points solver for geometry toolkit
- Align Fold barrier scope with the paper and define shared constraint interfaces in
src/physics/fold - Barrier primitives (each item: runtime module +
docs/index.d.tsentry + Vitest coverage + runnable example when feasible)- Cubic barrier potential (energy, gradient, Hessian evaluation)
- Stiffness design principle for frozen barrier stiffness
- Contact barrier with extended direction handling
- Pin constraint barrier using cubic barrier formulation
- Wall constraint barrier for plane collisions
- Triangle strain-limiting barrier driven by deformation singular values
- Integrator and solver
- Inexact Newton integrator with beta accumulation
- Constraint-only line search with extended direction scaling
- Semi-implicit freeze schedule for barrier stiffness updates
- Error-reduction pass leveraging beta-delta time refinement
- Linear solver pipeline (PCG with 3x3 block-Jacobi preconditioner)
- Contact and friction infrastructure
- Friction potential tied to contact force magnitude
- Matrix assembly with cached contact index tables
- Gap evaluators for point/triangle, edge/edge, and wall constraints
- SPD enforcement pass for elasticity Hessian blocks
These items offer the largest context and correctness savings for LLM users. Prioritize when bandwidth is limited:
-
Aho–Corasick automaton (string search)
- Deterministic trie with failure links; long to hand-roll; great for lexing and multi‑pattern filters.
-
Dinic maximum flow (graph)
- Level graph + blocking flow; reusable for min‑cut, image segmentation, bipartite matching.
-
Suffix Automaton or Ukkonen Suffix Tree (string index)
- Advanced indexing primitive enabling substring queries and LCS; compact but intricate to implement.
-
Delaunay Triangulation (Bowyer–Watson) + KD‑Tree (geometry)
- Robust triangulation and fast nearest neighbour queries are both lengthy and widely reused.
-
BVH (SAH) builder (spatial)
- Non‑trivial tree construction with cost heuristics; useful for ray queries and collision.
-
Polygon clipping (Greiner–Hormann / Weiler–Atherton)
- Complex boolean operations for polygons (union/intersect/diff); many edge cases.
- Publish to npm with semver automation and changelog management
- Provide comprehensive documentation site (e.g., VitePress) with interactive demos
- Offer ESM + CJS build outputs and tree-shaking test cases
- Establish regression test suite with snapshot examples for deterministic algorithms
- TypeScript migration with strict compiler settings
- Added steering behaviours and SAT collision detection
- Set up Vitest suites and GitHub Actions CI pipeline
- Authored usage examples to accelerate onboarding
- Procedural generation enhancements (Worley refinements, Worley-based effects, upcoming Worley variants like Worley F1/F2)
- Behavioural AI additions (crowd steering via RVO, flow-field integration, behaviour tree decorators)
- Procedural & systems expansion (Wave Function Collapse, dungeon suite, L-systems, diamond-square, full game systems toolkit)
- Advanced collision utilities (swept volumes with rotation, broad-phase acceleration structures) Note: tasks will move to the completed section once merged via the standard branch + PR workflow.