3D & Graphics Dev Lab
Experiments, techniques and code from real 3D graphics development. WebGL, real-time engines, 3D pipelines and everything in between.
AO Lightmapper — BabylonJS / ThreeJS
Ambient Occlusion lightmap baker running in the browser. Uses BabylonJS and Three.js render-to-texture to compute per-mesh AO maps without any server-side processing.
BabylonJS Character Controller V2
Full character controller in BabylonJS — keyboard + gamepad input, blend tree animations, collision, camera follow. Drop-in reusable system.
Steampunk Parallax — Gyroscope & Face Tracking
AI-generated steampunk cityscape split into 5 parallax depth layers. Face tracking via webcam on desktop, gyroscope on mobile. Zeppelins, steam particles, and embers animate independently on each plane.
FBX to GLB Batch Converter & Optimizer
NodeJS tool to batch-convert FBX files to optimized GLB. Wraps fbx2gltf + gltf-transform to compress geometry, textures and animations in one pass.
TICO — Scroll-Driven 3D Navigation with BabylonJS
A BabylonJS demo where scrolling drives a camera through a 3DsMax-authored animation exported to GLB. No CSS tricks — pure 3D timeline scrubbing.
BabylonJS Point-to-Navigate Character (PTN)
Click anywhere on the ground to move — point-to-navigate character controller in BabylonJS. Pathfinding via Recast, smooth rotation, blend animations.
Combining Animations on ReadyPlayerMe Characters — BabylonJS
How to layer and blend multiple AnimationGroups on a ReadyPlayerMe avatar in BabylonJS. Walk cycle + upper body wave + facial expression, all simultaneously.
ReadyPlayerMe Talking Character — BabylonJS
Driving lip sync and talking animations on a ReadyPlayerMe avatar in BabylonJS. Procedural jaw animation driven by audio amplitude + idle expression blending.
Character Navigation Demo (OLD) — BabylonJS 6
Third-person character controller in BabylonJS 6. Click-to-move on a navmesh, root motion from GLB animations, smooth rotation toward movement direction.
WiFi Manager for MicroPython (Pico W / ESP32)
Drop-in WiFi manager script for MicroPython microcontrollers. Captive portal AP mode when no network saved — connect, select SSID, save credentials to flash.
CryptoDash — Raspberry Pi Pico W
Real-time cryptocurrency dashboard on Raspberry Pi Pico W. Pulls live prices from Binance API over WiFi, renders on a 2.8" TFT display using MicroPython.
CryptoDash — Python Desktop (Raspberry Pi)
Full-screen cryptocurrency dashboard in Python for Raspberry Pi with touchscreen. Binance API live prices, touch-optimized UI with PyQt5, portrait or landscape layout.
ToDo List — Minimal Web App
Clean, responsive ToDo List app. Vanilla HTML/CSS/JS — no framework, no build step. LocalStorage persistence, priority levels, filter by status.
Invoicer — Quick Invoice Generator
Mini web app to generate clean invoices fast. Built with Cursor + AI assistance. Fill in client details, line items, export to PDF — no account needed.
Turbo Mailer — Bulk Email Tool
Vue app for sending bulk email campaigns. Upload CSV of recipients, write template with variable substitution, send via SMTP. Tracks sent / failed per session.
Tube Reply — YouTube Comment Assistant
Vue app that helps generate replies to YouTube comments. Paste a comment, get AI-suggested responses in different tones. Built with Vue 3 + OpenAI API.
Behind the lab
Viseni Design Studio
This lab is the open-source arm of Viseni — a studio specializing in 3D, WebGL, VR/AR, interactive tech, and web development.















