Bearjam Blog

Cycling Particle Formations With React Three Cannon

by Tom

Here we render 144 particles and cycle the geometry of their formation, animating with the Cannon Physics library , in less lines of code…

Series: Building the Dream Builder

by Tom

Welcome to this blog post series documenting our Dream Builder project, a Department of Dreams commission, from conception to realisation…

Implementing Undo with Zustand and RFC6902

by Tom

This post covers how to write a Zustand middleware leveraging RFC6902 patches to add undo/redo functionality. Here's the code, which is…

Implementing Crop

by Tom

This post covers how to implement image cropping on 2D planes in a React Three Fiber project. Use Gesture and React Spring for gestures. If…

Understanding Basic GLSL Shader Techniques

by Tom

There are some excellent resources online for learning shaders and WebGL, namely The Book of Shaders and WebGL Fundamentals . This post…

Setting up Shaders with React Three Fiber

by Tom

This post covers the required patches on the Create React App TypeScript template in order to get React Three Fiber working with shaders…

Designing the Dream Builder

by Magda

Last summer, Civic Square announced the Dream Fund - an open call for proposals that make steps towards a collective future with the…

Low-Hanging 3D Web Fruit: A Spinner

by Tom

When you sign up to the bearjam.dev newsletter , you will see a 3D loading spinner. Here it is in isolation: We needed something to…

Two Powerful UI Patterns for Navigation Components with React and Framer Motion

by Tom

A website's navigation interface is a fundamental part of the user experience. As a web developer or designer, you'll be creating headers…

Hello! Welcome to Bearjam

by Magda

Today is the launch of our shiny new website. Launching a website is a bit like celebrating an anniversary, the first day that the venture…