mxgmn/WaveFunctionCollapse

Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics

View on GitHub ↗Jump to charts ↓Open shareable report →

mxgmn/WaveFunctionCollapse has 25k+ stars and 1k+ forks on GitHub, is written in C#, and was last pushed on Oct 15, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 2nd, 2026
Created on September 30th, 2016
Open Issues & Pull Requests: 10 (+0)
GitHub issues: Enabled
Number of forks: 1,368
Total Stargazers: 25,402 (+0)
Total Subscribers: 487 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.5 hours
Mean response time: 47.0 days
90th percentile: 70.9 days
Tracked items: 12

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 546 days
Stale 30+ days: 6
Stale 90+ days: 6

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Wave Function Collapse is a procedural generation algorithm that creates bitmap and tilemap output by learning patterns from a single example image.

The tool solves the problem of generating new content that matches the style and structure of a reference image without requiring manual rule definition. It works by analyzing the input image to extract small tile patterns and their valid adjacencies, then uses a constraint-satisfaction approach inspired by quantum mechanics to synthesize new images. The algorithm iteratively assigns tiles to output positions while respecting the learned constraints, backtracking when conflicts arise to explore alternative valid configurations.

Developers should choose this tool when they need to generate game levels, textures, or other tilemap-based content that maintains visual coherence with a reference design. It suits projects where hand-crafting every variation is impractical but where the output should feel consistent with a particular aesthetic or structural style. The approach works well for small to medium-sized outputs and is particularly effective for stylized or abstract content where exact realism is not required. The tool is less suitable for generating large, highly detailed images or content requiring specific semantic meaning beyond pattern matching.

Development on the project shows active engagement with the core algorithm and exploration of variations. The codebase includes multiple implementations addressing different aspects of the generation problem, suggesting iterative refinement of the approach. Documentation and examples are maintained to support users in understanding how to apply the tool to their own images. The project demonstrates sustained interest in the underlying technique through continued updates and clarifications to the implementation.