Skip to content

Imagine the modern version of Quantum Brush - Matvei#71

Open
1vei wants to merge 16 commits into
moth-quantum:sourcefrom
1vei:modern-quantum-brush
Open

Imagine the modern version of Quantum Brush - Matvei#71
1vei wants to merge 16 commits into
moth-quantum:sourcefrom
1vei:modern-quantum-brush

Conversation

@1vei

@1vei 1vei commented Jun 18, 2026

Copy link
Copy Markdown

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 .exe for Windows:

cd modern
npm run dist

Once complete, the setup executable will be located at:
modern/dist-electron/Quantum Brush Setup 1.0.0.exe

New 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".

  • If which_path is chosen, the interference pattern is destroyed (particle behavior).
  • If interference is chosen, the wave pattern is restored.
    These probabilities are mapped to the canvas, visualizing how delayed observation retroactively affects the brush stroke's texture.

GIF Demo
DemoQuantumBrush

Screenshot of the interface
QuantumBrushScreenshot

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.

@1vei

1vei commented Jun 18, 2026

Copy link
Copy Markdown
Author

Feel free to ask any questions or make a suggestion on how we could improve it. I really enjoyed working on that project

@artreadcode

Copy link
Copy Markdown
Collaborator

Hello @1vei , I can only see .bat for activation, thus I cannot test your submission on my local machine.
Quantum Brush is a universal application that supports Windows, Mac and Linux. Is your work working on Mac and others? If so, can you show me the instructions to test out your work?

@1vei 1vei force-pushed the modern-quantum-brush branch 7 times, most recently from f88b804 to adeda00 Compare June 18, 2026 14:49
@1vei 1vei force-pushed the modern-quantum-brush branch from adeda00 to d21e8df Compare June 18, 2026 14:57
@1vei

1vei commented Jun 18, 2026

Copy link
Copy Markdown
Author

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:
https://github.com/1vei/QuantumBrush/releases

Also i added an issue number to the PR description,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants