TAYNIUM / SHEET — SIMULATION ENGINEERING & TECHNOLOGY — LINCOLNSHIRE, UK
Side Project · Simulation

A physics-based crop-handling simulator, built in the open.

Crop Physics Simulator is a browser-based 3D tool for sketching conveyor and elevator layouts and watching individual crop bodies flow through them under real-time physics — built to sanity-check equipment geometry and throughput before anything gets fabricated.

THE STORY

Why I built it

A lot of my day-to-day engineering work involves crop-handling machinery — conveyors, elevators, intakes, collection points — and one problem keeps coming back: it's genuinely hard to picture how a full handling line will actually behave before it's built. Belt speeds, incline angles, transfer points and throughput all interact in ways that are easy to get subtly wrong on paper, and expensive to get wrong on the shop floor.

So I started building a tool to close that gap myself: a browser-based 3D scene where you can place conveyors, elevators and crop spawners, configure them properly — tonnes per hour, belt speed, incline — and watch individual crop bodies actually flow through the machinery under real-time physics, rather than just looking at a static CAD layout.

It's deliberately an engineering approximation for visualisation and rough validation, not a certified discrete-element-method simulation — the goal is a fast, honest sanity check of geometry, belt speeds and transfer points early in a design, not a replacement for proper DEM analysis on anything safety-critical.

It's also become a useful proving ground in its own right: a real-time physics engine, a parametric 3D rendering layer and a schema-driven properties system all have to work together cleanly, which is exactly the kind of cross-disciplinary problem — mechanical understanding translated into working software — that Taynium exists to solve.

HOW IT WORKS

Built on a real physics engine, not a fake one

Every crop body is a rigid body simulated in real time — conveyor belts stay geometrically static and drive motion through injected contact-surface velocity, so throughput and belt speed are dynamic outcomes, not scripted animation.

01

TypeScript + React 19

Strict-mode TypeScript throughout, with a Vite build and a Zustand store driving the scene, element library and properties panel.

02

three.js via React Three Fiber

The 3D viewport, parametric conveyor meshes, camera and metric grid (1 unit = 1 m) are all built on R3F and drei.

03

Rapier physics (WebAssembly)

A fixed-timestep Rapier world drives every crop body, with pooled instanced rigid bodies so hundreds of crops can be simulated at once.

CURRENT STATUS

A working build, still in progress

This is an active side project, developed and documented in the open with the same discipline as a client engagement — versioned architecture decisions, a public roadmap and an honest known-issues list.

SHIPPED
  • Interactive 3D scene, camera and metric grid
  • Element placement, selection, rotation, duplication
  • Parametric conveyor rendering & live physics
  • Schema-driven properties editor
  • Throughput-driven crop spawning
  • Versioned save/load of layouts (JSON)
IN PROGRESS
  • Floor despawn and crop lifecycle refinement
  • Bucket elevators
  • Live scene statistics (throughput, spilled mass)
  • Performance optimisation at higher crop counts
  • Testing and release preparation
Try it yourself

Launch the simulator

Runs entirely in your browser — nothing to install. Needs a modern desktop browser with WebGL2 and WebAssembly support (Chrome, Edge, Firefox, or Safari 16+); it's a physics-heavy 3D scene, so a desktop or laptop will run it far better than a phone.

Get in touch

Have a similar simulation or automation problem?

Describe the current process and what a better outcome would look like.