Repository navigation
Releases: Boy1developer/Lempo-FX
Release list
Version 0.2.0
Lempo Particle Editor v0.2.0
Design 2D & 3D particle effects visually — and play them in GDevelop.
Trails & Ribbons · Rebuilt 2D zoom · New Lempo brand
🧩 Compatibility
| Effect format | v1.1 (v1.0 files are migrated automatically) |
| GDevelop extension | Pairs with Advanced Particle Emitter v0.2.0 |
| Platform | Windows 10/11 (64-bit), GPU with OpenGL 3.3 |
✨ Highlights
- 🎀 Trails & Ribbons — a full ribbon system with a Unity-style inspector, 27 ready-made templates, and Godot-style distance emission.
- 🎮 In-game trails — the Advanced Particle Emitter extension v0.2.0 renders exported trail effects as ribbons inside GDevelop (2D and 3D).
- 🌐 Fast preview now renders trails in 2D and 3D and hides the particle dots, exactly like the editor.
- 🔍 Rebuilt 2D zoom — world-space simulation with cursor-anchored zoom.
- 🥕 New Lempo brand (formerly Carrot Particle Editor) — new name, icon, and topbar.
🆕 Added
🎀 Trails & Ribbons
- 4 editor modes from the startup dialog (keys
2/3/4/5): 2D / 3D particles plus 2D / 3D Trails & Ribbons. TRAIL_SCHEMA(79 keys) with a foldout inspector: Trail / Shape / Color / Texture / Per-Particle / Lighting & Sorting / Tools & Motion — curve and gradient editors, drag-labels, steppers, per-section reset and copy/paste.- 27 templates across combat, magic, movement, nature, and stylized, with a template browser (search, favorites, recent, and your own saved presets).
- Emit modes:
time— classic lifetime trails.distance— fixed sections × section length, speed-independent, Godot-style (0= every-frame tick).
- Ribbon look — glow + edge + core strips, gradient colors, width curves, flicker, taper, and screen-width floor.
- Display modes — trail mode shows ribbons only; an optional hybrid mode keeps dots + ribbons.
| 2D Trails | 3D Trails |
|---|---|
![]() |
![]() |
🎮 In-game (GDevelop extension v0.2.0)
Exported trail effects render as ribbons inside GDevelop — 2D quad strips and 3D billboard strips, pooled and blend-aware, with hideParticle honored. No new objects are needed: the existing emitters gain trail support, and effects without trails render exactly as before.
🌐 Fast preview
The browser preview now draws the same ribbons (Three.js in 3D, PixiJS in 2D) and hides dots in trail mode, with 500 ms live-sync.
| 2D Fast Preview | 3D Fast Preview |
|---|---|
![]() |
![]() |
⚡ Improved
2D viewport
- Simulation moved to world space — panning never strands old particles, and zoom anchors correctly (cursor-anchored wheel, centered
Q/Ekeys). - The purple splitter bar between the settings panel and the viewport drags reliably again.
🐛 Fixed
| Issue | Cause / Fix |
|---|---|
| Templates showed orange dots | 9 templates carried a hybrid flag and the apply path didn't enforce ribbons-only. All 27 templates are now verified ribbons-only in 2D and 3D, and applying a template can never bring dots back. |
| Fast preview showed particles in trail mode | The preview ignored the trails block entirely. |
| Shortcut kept the old icon | Windows held a stale cached bitmap. The icon now lives at a fresh path (assets/lempo.ico) and every rebuild refreshes the icon cache. |
📦 Downloads
| File | Description |
|---|---|
LempoParticleEditor.exe |
Windows editor. No Python installation required. |
AdvancedParticleEmitter.json |
GDevelop extension (v0.2.0). Import it into your GDevelop project. |
Requirements: Windows 10/11 (64-bit) · GPU with OpenGL 3.3
Full changelog: v0.1.2...v0.2.0
Version 0.1.2
Carrot Particle Editor v0.1.2
A standalone Dear PyGui editor and GDevelop extension for authoring 2D/3D particle effects.
Effect format v1.1 (v1.0 files are migrated automatically).
Highlights
- Up to ~48× fewer draw calls in 3D via GPU instancing (~580 → ~12), with pixel-identical output.
- New blend modes: Screen, Lighten, and Overlay.
- Deterministic playback with a per-effect seed.
- New force fields: turbulence, vortex, attractor, and a collision plane.
Added
Editor
- Deterministic
seedfor identical replay across platforms (0keeps legacy behavior). - Force fields (all disabled by default): turbulence, Y-axis vortex, attractor, and a collision plane with bounce and friction.
- Effect format v1.1 with schema validation and automatic migration from v1.0.
- Sample effect:
sample_blend_layers.json.
Blend modes
- Screen (2D + 3D), Lighten (3D, max equation), Overlay (2D).
- Unsupported modes fall back to Normal and log a single warning.
- Per-emitter
blendingMode, selectable from the sidebar dropdown.
Setting the object's'JSON'option uses each emitter's own mode; any explicit value overrides all emitters.
Improved
3D runtime performance
- InstancedMesh batching: ~580 draw calls reduced to ~12 buckets. Output is verified pixel-identical per particle (matrix, color, alpha), including morph flips and all blend modes.
- Buckets are created lazily per shape in use; empty buckets add no draw calls.
- Leaner sampling: static tracks are skipped and colors are pre-parsed, with no visual change.
- Mesh and material pooling, shared geometries, and zero per-frame allocations in steady state.
- Automatic fallback to the classic rendering path when instancing is unavailable.
Fixed
- Extension crash on adding an object: helper definitions ran before
var Fwas initialized, causing aTypeErroron the first frame. - Export / Save / Open did nothing: Dear PyGui dialogs returned empty payloads. The editor now uses native OS file dialogs.
- 3D Subtractive blend was silently rendering as Normal because of a wrong THREE constant.
- Incorrect GL constant:
ONE_MINUS_SRC_COLORwas mapped toONE_MINUS_DST_COLOR(found by the new pixel-comparison tests).
Downloads
| File | Description |
|---|---|
CarrotParticleEditor.exe |
Windows build. No Python installation required. |
AdvancedParticleEmitter.json |
GDevelop extension. Import it into GDevelop/Carrots. Each effect uses a ParticleJSON resource plus a Models GLB resource. |
Version 0.1.1
Standalone Dear PyGui editor + GDevelop extension (AdvancedParticleEmitter.json, v0.1.1) for 2D/3D particle effects.
Custom 3D models
Upload .glb / .gltf / .obj — models render as themselves in the viewport, the fast preview, and in-game. The node picker lists only mesh-bearing nodes; rigged (skinned) models are baked to their rest pose automatically.
Shape morph
Birth → death shapes now cross-fade around the mid-segment flip instead of snapping (editor viewport + browser preview; the game runtime keeps the classic flip).
Browser fast preview
Same effect, live in three.js (3D) / pixi.js (2D) with 500ms live-sync — no network fetches.
Editor panels
Emitter zones, propagation cone, per-state colors (white = natural materials), and ready-made templates (Explosion / Fire / Rain / Snow).


2D & 3D shape lists
GDevelop setup
Import AdvancedParticleEmitter.json into your project.
Export your effect as .json from the editor and add it as a ParticleJSON resource.
If the effect uses a custom model, add the .glb as a Models GLB resource.
Add the emitter object to your scene and run.
Version 0.1.0
🥕 Carrot Particle Editor v0.1.0 — First Release
The first public release of Carrot Particle Editor and the Advanced Particle Emitter extension for GDevelop.
Highlights
- Visual particle effect editor with real-time GPU preview (OpenGL 3.3)
- 12 particle shapes shared between 2D (PixiJS) and 3D (Three.js) renderers
- Dual simulation core: Python reference + optional compiled C++ core (99/99 parity tests passing)
- Self-contained browser preview (
live_effect.html) - JSON export compatible with the GDevelop extension v1.0 format
What's included
CarrotParticleEditor.exe— standalone Windows editor (no Python required)AdvancedParticleEmitter.json— GDevelop extension
Requirements
- Windows 10/11 (64-bit)
- GPU with OpenGL 3.3 support
Known limitations
- Windows only
- Extension action/condition documentation is still in progress
Feedback
Please report bugs or suggestions via Issues.



