Free & open source, built for every frontend stack. Star Exhuma on GitHub
ExhumaBeta
DocsComponentsBlog
Ship your first component in seconds
Copy-paste, framework-native — no lock-in. 13 ecosystems supported.
Install
Exhumav0.1.0

Universal tactile interaction engines and layout architecture adapted natively across 13 frontend ecosystems. Free, open-source under MIT.

Zero Runtime Wrappers · 100% Offline CLI
Product
  • Docs
  • Components
  • Ecosystems
  • Blog
Developers
  • CLI Reference
  • Theming & Dark Mode
  • Lifecycle & Memory Safety
  • Installation
Community
  • GitHub
  • npm
MIT License © 2026·A Fleect Artifact.
⌘KSearch
⌘⌥TTheme
// DOCS·Journal·Performance

60 FPS Spring Physics on the GPU Compositor

The mathematics and DOM lifecycle engineering behind Exhuma 3D Tilt Card: achieving silky-smooth kinetic responses with zero React layout thrashing.

  • 8 min read
  • October 2026
  • Authored by Fleect
  • Performance
  • Spring Physics
  • Math
// 01·SECTION 01

The Layout Thrashing Trap

Most naïve 3D tilt implementations trigger requestAnimationFrame loops that continuously query getBoundingClientRect() during mouse movements. Reading element geometries immediately before writing inline styles causes forced synchronous layout calculations—commonly called layout thrashing—which instantly drops frame rates from 60 FPS down to 24 FPS.

// 02·SECTION 02

The 3D Perspective Mathematical Model

Exhuma calculates normalized pointer vectors relative to the center origin of the target container. Given pointer coordinates (x, y) and element boundaries (W, H), the rotation matrices are defined with zero trigonometric overhead:

physics.ts
typescript
// Normalized rotational physics calculation
const centerX = rect.width / 2;
const centerY = rect.height / 2;
const rotateX = ((y - centerY) / centerY) * -maxTilt;
const rotateY = ((x - centerX) / centerX) * maxTilt;

// Apply single GPU-composited 3D matrix transform
element.style.transform = `perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale3d(1.04, 1.04, 1.04)`;
// 03·SECTION 03

Direct GPU Compositor Scheduling

By isolating transforms strictly to transform and opacity with will-change: transform and transform-style: preserve-3d, modern browser rendering engines bypass the paint and reflow stages entirely, computing rotations directly on the GPU rasterization pipeline.

// 04·SECTION 04

Honoring Accessibility & Reduced Motion

Performance without accessibility is a failure of craft. Exhuma components automatically detect window.matchMedia("(prefers-reduced-motion: reduce)"). When enabled by the user in their operating system, all rotational transforms collapse into a gentle, non-disorienting tactile opacity cue.

Guarantee
WCAG 2.1 Compliance
Exhuma guarantees that vestibular disorder triggers are completely neutralized whenever prefers-reduced-motion is detected.
Why Copy-Paste Headless Architecture Wins Over Monolithic NPMDeterministic Teardown: Zero Memory Leaks Across 13 Frameworks
On This Page
The Layout Thrashing TrapThe 3D Perspective Mathematical ModelDirect GPU Compositor SchedulingHonoring Accessibility & Reduced Motion