feat: Performance optimizations and UI improvements - Added dormant state tracking for static particles - Fixed settings menu particle spawn overlap - Optimized particle batch processing - Added brush cursor visualization - Improved UI interaction zones - Enhanced gas particle effects - Added glow toggle functionality disabled by default due to performance impact - Fixed particle rendering issues - Debug Overlay Disabled by default - FPS counter added semi seperate from Debug Overlay, Turn this one off when using Debug Overlay - Improved particle rendering performance Performance improvements focus on reducing unnecessary calculations for static particles while maintaining core simulation mechanics. UI changes prevent unwanted particle spawning during menu interactions.
Falling Sand Simulation Concept in Python
mostly a concept in python for falling sand simulation i guess the goal is to make a python version of the powder toy which is a falling sand sim the code is not finished yet, but i will update it as i go.
Main Features:
-
Particle Physics
- Gravity and wind effects
- Temperature dynamics
- State transitions (melting, freezing, evaporation)
-
Particle Interactions
- Collision detection
- Chemical reactions (e.g., water + sand = mud)
- Heat transfer between particles
-
Special Effects
- Fire propagation
- Smoke generation
- Liquid spreading
-
Optimization Features
- Spatial partitioning grid
- Dormant particle tracking
- Batch processing """
Current Features
| Working | Partial | Not Working/Implemented |
|---|---|---|
| Gravity | Gas | Zoom |
| Liquid/Solid | Liquid | Pause |
| Particle Data | Fire/Flame | Pressure |
| Brush Sizes | Particle Basic Interactions | explosiveness |
| Debugging Info | Particle Heat interactions | conductiveness |
| Menus and Buttons | Ambient Heat | |
| Wind | ||
| Core Physics and Interactions | ||
| Core Rendering System |
Controls
| Key | Action |
|---|---|
| Z | Zoom window |
| ESC | Exit Program |
| C | Clear Screen |
| Space | Pause Simulation |
| Mouse 1 {Left} | Spawn Particle with brush size |
| Mouse 3 {Right} | Erase Particles at cursor |
| Mouse 2 {Middle} | Spawn Particle at cursor |
| Mouse Wheel Up/Down | Change Brush size |
Description
Languages
Python
100%