Downloads · 30 days
0
ArifiIslam/particri
particri is a machine learning model from ArifiIslam. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Particri is a professional particle simulation and procedural rendering library designed to generate photorealistic and stylized visual particle effects with infinite styles. It combines a blazing fast C++20 physics a…
Downloads · 30 days
0
Access
Public
Updated Sep 18, 2026
Repo size
32.2 MB
Likes
0
Public
Click a slice to open those files.
.png14 MB · 44%
From the Hugging Face model README
Particri is a professional particle simulation and procedural rendering library designed to generate photorealistic and stylized visual particle effects with infinite styles. It combines a blazing fast C++20 physics and rasterization core (integrated with FastNoiseLite) with a clean, expressive Python API.
The engine is engineered from the ground up to synthesize every visual aesthetic shown below:
FastNoiseLite for 3D OpenSimplex2 and Fractal Brown Noise.Star4, Star8, Bokeh, Halo, Streak, Glitter.import particri
# Initialize golden sparkles preset
engine = particri.Presets.golden_sparkles(width=1920, height=1080, density=1.2)
# Warmup simulation for natural dispersal
engine.warmup(duration=2.0)
# Render with optical bloom
frame = engine.render(bloom=True, bloom_intensity=0.85)
# Save as transparent 32-bit RGBA PNG
particri.Exporter.save_image(frame, "golden_sparkles.png")
import particri
# Generate a unique style from any random seed
engine = particri.StyleGenerator.create(
seed=777,
width=1920,
height=1080,
palette_name="emerald", # Options: 'gold', 'cosmic', 'solar', 'emerald', 'rose', 'cyberpunk', 'diamond', or None (procedural)
motion_type="swirl", # Options: 'swirl', 'burst', 'drift', 'vortex', 'rain', 'cosmic'
)
engine.warmup(2.0)
frame = engine.render()
particri.Exporter.save_image(frame, "unique_style_777.png")
import particri
engine = particri.Presets.starburst_cluster(width=1280, height=720)
# Export MP4 video
particri.Exporter.save_video(engine, "starburst.mp4", duration=3.0, fps=60)
# Export animated GIF
particri.Exporter.save_gif(engine, "starburst.gif", duration=2.0, fps=25)
from particri import Studio
# Launch real-time studio
# Controls: [1-5] Presets | [6] New Infinite Style | [SPACE] Burst | [B] Bloom | [S] Screenshot
Studio.launch()
particri/
├── include/
│ ├── FastNoiseLite.h # FastNoiseLite C++ noise library
│ └── particri/
│ ├── math.hpp # Vec2, Vec3, Color4, Random
│ ├── particle.hpp # Particle struct, shapes, blend modes
│ ├── forces.hpp # CurlNoise, Vortex, Gravity, Drag, Attractor
│ ├── emitter.hpp # Point, Circle, Ring, Box, Line emitters
│ ├── shapes.hpp # Procedural mathematical sprite generator
│ ├── rasterizer.hpp # HDR rasterizer & blend modes
│ ├── bloom.hpp # Multi-pass optical bloom filter
│ └── system.hpp # ParticleSystem coordinator
├── src/
│ └── bindings.cpp # Pybind11 C++ module bindings
├── particri/ # Python package
│ ├── __init__.py # Top-level module exports
│ ├── core.py # ParticleEngine Python API
│ ├── presets.py # Reference image & luxury presets
│ ├── styles.py # Infinite procedural style generator
│ ├── exporter.py # PNG, WebP, MP4, GIF exporters
│ └── studio.py # Interactive real-time Pygame viewer
├── examples/ # Standalone runnable scripts
│ ├── 01_golden_sparkles.py
│ ├── 02_starburst_nova.py
│ ├── 03_cosmic_nebula.py
│ ├── 04_light_streaks.py
│ ├── 05_glitter_field.py
│ ├── 06_infinite_styles_demo.py
│ ├── 07_export_video.py
│ └── 08_reference_replica_grid.py
├── tests/
│ └── test_particri.py # Complete pytest suite
├── CMakeLists.txt
├── setup.py
└── pyproject.toml
Run the automated test suite:
pytest tests/ -v
All tests verify physics simulation, emitters, force fields, blend modes, presets, procedural style synthesis, and image exports.