This project kind of started when Nicolas Daniel and I did our first public VJ performance in Montreal in 2018. We had a lot of different projects, all with their own setup and I built a quick visualizer that would take a local url and render it in a iframe. It worked but it was a pain in the ass to use (10 projects to start on localhost with different ports and to reference in the visualiser). Also no transitions between scenes were possible. This stuck in my head.
In 2019, I moved to Paris and went to GROW where I saw incredible talks by 1024 architecture , Etienne Jacob and Damien Seguin . They had one thing in common, they built their own tools to fit their needs. I went home and decided to start working on a tool that could mix two THREE.js scenes and render a mix between the two in a single fragment shader. As my goal was to play with it live, I built a GUI, a MIDI controller and some basic sound detection so it could react to a microphone or a song played in the browser.
At the beginning of 2020, I had a pretty good prototype but then the pandemic started. As the world stopped and I just started freelancing, I took a lot of contract work at the same time and got really busy for a few months. I tried to get back to Fragment when my schedule cleared a bit but it felt slow (it was indeed), live events seemed to be a thing of the past and I learned a ton of stuff quickly on my different contracts. The whole codebase felt wrong.
After some time off, I decided to focus on what I’ve been doing for the whole year: websites. With Philippe Neveu we decided to work together on his new website as he was, like me but one year later, coming back from Montreal and starting as a freelancer.
I was able to open source some parts of it , and I really liked thinking again larger on API designs. As it was interactive, we experimented a few things for the WebGL experience on the homepage with different inputs like the mouse or a webcam, but I really lacked having a playground environment to rapidly test a few ideas. Went back to Fragment: yeah still buggy and slow.
In 2021 I did a big project in WebGL. As we knew we were gonna spend some time on it, we created a playground environment with a GUI ready-to-use on top of Tweakpane and I added some kind of hot shader reloading I set up a few months before for Philippe’s portfolio.
This was great but it lacked a few things: we sometimes needed to try out ideas on Canvas2D before going back to our main WebGL scene and I found the GUI library too verbose.
Didn’t it tried to build a GUI library before? Fragment came back into my head, this time as a sketching environment. Problem is: the current project is terribly slow, hard to use and badly architected.
But maybe I could rewrite everything ?