How ijdykeman/wangtiles works
This repository is a collection of Wang-tile procedural-generation experiments. The documented workflow defines colored tiles, arranges them with matching edges and randomized choices, and produces map-like images. The sampled 3D modules expose edge potentials and display helpers, while the read Gibbs samplers reference tile extraction and sphere-generation modules. The exact runtime calls between these stages are not shown, so those links are marked unverified; the unrelated voxel editor and vendored dependencies are omitted.
Main entry points: sphere_gibbs.py Sphere Gibbs · tiles_3d 3D Tile Extraction · potentials.py Edge Potentials · main.py Generation Entry
Components 12
Tile Inputs
- Tile Extraction
experimental_code/ascii_tiles/extract_tiles.py - 3D Tile Extraction
experimental_code/tiles_3d - Tile Properties
experimental_code/tiles_3d/tile_properties.py
Matching Constraints
- Edge Potentials
experimental_code/tiles_3d/potentials.py - CSP Solver
experimental_code/ascii_tiles/csp_solver.py
World Generation
- Grid Gibbs
experimental_code/tiles_3d - Sphere Geometry
experimental_code/tiles_3d/create_sphere.py - Sphere Gibbs
experimental_code/tiles_3d/sphere_gibbs.py - Generation Entry
experimental_code/tileset_generation/main.py
Presentation
- World Display
experimental_code/tiles_3d/display.py - Tileset Output
experimental_code/tiles_3d/output_tileset_vox.py
Other components
- Tile Author
Connections 11
- Tile Author → Tile Extraction: defines tiles
- Tile Author → 3D Tile Extraction: defines tiles
- Tile Extraction → CSP Solver: supplies tiles
experimental_code/ascii_tiles/csp_solver.py - 3D Tile Extraction → Edge Potentials: supplies tiles
experimental_code/tiles_3d/create_sphere.py - Tile Properties → Edge Potentials: describes tiles
- Edge Potentials → Sphere Gibbs: constrains sampling
- Sphere Geometry → Sphere Gibbs: defines geometry
- 3D Tile Extraction → Sphere Gibbs: provides tiles
- Sphere Gibbs → World Display: renders result
- Generation Entry → Tile Properties: uses properties
experimental_code/tileset_generation/main.py - Generation Entry → Tileset Output: writes tileset