Imagine the modern version of Quantum Brush - Matvei#71
Conversation
|
Feel free to ask any questions or make a suggestion on how we could improve it. I really enjoyed working on that project |
|
Hello @1vei , I can only see |
f88b804 to
adeda00
Compare
adeda00 to
d21e8df
Compare
|
Whoops, I've automated the cross-platform distribution and the .github/workflows/build-installers.yml CI/CD pipeline will automatically use PyInstaller to bundle the Python backend into native standalone executables and package them via electron-builder. I've created installers for all three platforms. You can download the installers from the Releases page of my fork: Also i added an issue number to the PR description, |
Closes #50
Hi @artreadcode,
I've modernized Quantum Brush into a native desktop application. I focused on ensuring that all the core features were fully preserved. I attached a GIF demonstrating an interface in action. I've also added some UX UI improvements - like undoing and redoing actions, moving layers, adding keyboard shortcuts and some general quality of life changes. I still see a lot of room for improvement and I would really like to contribute in the future. I am really pasionate about art and quantum concepts and software, which is why i took on this project, here's some info about what i did:
Stack & Architecture
Frontend: React 19, Vite, Zustand (state), Konva (canvas).
Desktop: Electron natively wraps the app.
Backend: A lightweight Express server acts as a bridge to the existing Python scripts (
apply_[effect.py](https://effect.py/)).Quantum Execution: Original Python environment (scripts run via
child_process.spawn).Main Menu: Create new projects, open existing ones, and import images.
Canvas & Drawing: Fully responsive canvas (images scale proportionally), drawing lines and dots.
Effect Pipeline: Choose a brush/effect, apply it to the stroke, and view the result.
Layers: Review applied strokes and work with any layer.
Quality of Life: Keyboard shortcuts (Ctrl+Z, Ctrl+S, space+drag to pan, bracket keys for brush size).
Robust Installer:
To build a standalone
.exefor Windows:cd modern npm run distOnce complete, the setup executable will be located at:
modern/dist-electron/Quantum Brush Setup 1.0.0.exeNew Brush: Wheeler's (Delayed Choice Quantum) Eraser
I've also added a new quantum brush based on one of my favorite concepts in quantum mechanics: Wheeler's Delayed Choice experiment, that challenges our understanding of causality by visualizing how a choice made in the future determines whether a particle acted as a wave or a particle in the past.
The brush splits the stroke into a simulated double-slit experiment. It evolves the wave function, and then, at a user-defined delayed point (
delayed_choice_position), it decides whether to "measure the path" or "measure the interference".These probabilities are mapped to the canvas, visualizing how delayed observation retroactively affects the brush stroke's texture.
GIF Demo

Screenshot of the interface

AI Disclosure
Disclosure: I used an LLM to help brainstorm the initial architecture and structure, but all code, UI design, and testing were manually written, verified, and executed locally by me.