UNPKG

@fluritheme/fluri

Version:

Interactive snowfall for websites: DOM-aware snow accumulation, mouse interactions, snow physics, Canvas 2D rendering, and Christmas effects.

575 lines (574 loc) • 11.8 kB
{ "generatedAt": "2026-11-06T21:42:11.674Z", "method": "Synthetic, static DOM scene in headless Chromium. Warmup and measurement use real requestAnimationFrame callbacks; no virtual or accelerated clock. Engine timings come from getMetrics().", "caveats": [ "This is one development machine and one browser, not a cross-device guarantee or release threshold.", "Background operating-system and other development workloads are not controlled.", "The 100-element / 200-surface scenario necessarily uses 200 elements; actualElementCount records this explicitly.", "All surfaces are explicit, visible, and static; complex CSS composition and continuously mutating layouts are separate workloads.", "RAF fps measures browser callbacks. The engine cap may skip simulation/rendering callbacks; engineFrameTimeMs reports its actual frame spacing.", "No baseline regression budget has been asserted from a single run." ], "environment": { "os": "darwin", "osRelease": "25.5.0", "architecture": "arm64", "cpu": "Apple M4", "logicalCPUs": 10, "totalMemoryBytes": 17179869184, "node": "v24.14.1", "chromium": "156.0.8078.4", "headless": true, "viewport": { "width": 1280, "height": 900 }, "deviceScaleFactor": 1, "cpuThrottling": "none", "mobileEmulation": false }, "configuration": { "seed": 81624, "particleBudget": 360, "intensity": 1, "adaptive": false, "maxFPS": 60, "maxDPR": 1, "warmupFrames": 45, "sampleFrames": 90, "surfaceDiscovery": "explicit" }, "results": [ { "requestedElementCount": 100, "surfaceCount": 0, "actualElementCount": 100, "setupMs": 4.1, "rafFps": { "p50": 59.8802, "p95": 63.2911, "p5": 57.4713 }, "rafIntervalMs": { "p50": 16.7, "p95": 17.4, "min": 15.6, "max": 17.6 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.7, "min": 16.6, "max": 16.8 }, "simulationMs": { "p50": 0.1, "p95": 0.2, "min": 0, "max": 0.5 }, "renderingMs": { "p50": 0.1, "p95": 0.2, "min": 0, "max": 0.3 }, "geometryMs": { "p50": 0, "p95": 0, "min": 0, "max": 0.1 }, "particleCount": { "p50": 354, "p95": 359, "min": 315, "max": 359 }, "discoveredSurfaceCount": { "p50": 0, "p95": 0, "min": 0, "max": 0 }, "collisionChecks": { "p50": 0, "p95": 0, "min": 0, "max": 0 } }, { "requestedElementCount": 100, "surfaceCount": 50, "actualElementCount": 100, "setupMs": 4.3, "rafFps": { "p50": 59.8802, "p95": 64.5161, "p5": 54.9451 }, "rafIntervalMs": { "p50": 16.6, "p95": 18.2, "min": 15, "max": 18.6 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.8, "min": 16.5, "max": 16.8 }, "simulationMs": { "p50": 0.2, "p95": 0.6, "min": 0, "max": 1.1 }, "renderingMs": { "p50": 0.4, "p95": 0.5, "min": 0.2, "max": 0.8 }, "geometryMs": { "p50": 0.1, "p95": 1.2, "min": 0, "max": 1.4 }, "particleCount": { "p50": 373, "p95": 430, "min": 315, "max": 436 }, "discoveredSurfaceCount": { "p50": 50, "p95": 50, "min": 50, "max": 50 }, "collisionChecks": { "p50": 673, "p95": 1264, "min": 0, "max": 1500 } }, { "requestedElementCount": 100, "surfaceCount": 200, "actualElementCount": 200, "setupMs": 5.8, "rafFps": { "p50": 59.8802, "p95": 67.1141, "p5": 53.4759 }, "rafIntervalMs": { "p50": 16.7, "p95": 18.7, "min": 14.6, "max": 19.1 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.8, "min": 16.5, "max": 16.8 }, "simulationMs": { "p50": 0.3, "p95": 0.5, "min": 0, "max": 0.6 }, "renderingMs": { "p50": 0.5, "p95": 0.7, "min": 0.4, "max": 0.7 }, "geometryMs": { "p50": 0.4, "p95": 2.1, "min": 0.3, "max": 2.4 }, "particleCount": { "p50": 370, "p95": 437, "min": 317, "max": 444 }, "discoveredSurfaceCount": { "p50": 200, "p95": 200, "min": 200, "max": 200 }, "collisionChecks": { "p50": 682, "p95": 1384, "min": 0, "max": 1514 } }, { "requestedElementCount": 500, "surfaceCount": 0, "actualElementCount": 500, "setupMs": 1.6, "rafFps": { "p50": 59.8802, "p95": 62.8931, "p5": 57.1429 }, "rafIntervalMs": { "p50": 16.7, "p95": 17.5, "min": 15.5, "max": 18 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.8, "min": 16.5, "max": 16.8 }, "simulationMs": { "p50": 0.1, "p95": 0.2, "min": 0, "max": 0.3 }, "renderingMs": { "p50": 0.1, "p95": 0.2, "min": 0, "max": 0.3 }, "geometryMs": { "p50": 0, "p95": 0, "min": 0, "max": 0.1 }, "particleCount": { "p50": 354, "p95": 359, "min": 317, "max": 359 }, "discoveredSurfaceCount": { "p50": 0, "p95": 0, "min": 0, "max": 0 }, "collisionChecks": { "p50": 0, "p95": 0, "min": 0, "max": 0 } }, { "requestedElementCount": 500, "surfaceCount": 50, "actualElementCount": 500, "setupMs": 4.2, "rafFps": { "p50": 59.8802, "p95": 84.7458, "p5": 46.5116 }, "rafIntervalMs": { "p50": 16.7, "p95": 21.4, "min": 11, "max": 22.3 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.7, "min": 16.5, "max": 16.8 }, "simulationMs": { "p50": 0.2, "p95": 0.4, "min": 0, "max": 0.4 }, "renderingMs": { "p50": 0.3, "p95": 0.4, "min": 0.2, "max": 0.5 }, "geometryMs": { "p50": 0.1, "p95": 4.9, "min": 0, "max": 5.1 }, "particleCount": { "p50": 373, "p95": 430, "min": 317, "max": 436 }, "discoveredSurfaceCount": { "p50": 50, "p95": 50, "min": 50, "max": 50 }, "collisionChecks": { "p50": 675, "p95": 1341, "min": 0, "max": 1520 } }, { "requestedElementCount": 500, "surfaceCount": 200, "actualElementCount": 500, "setupMs": 6.1, "rafFps": { "p50": 59.8802, "p95": 81.3008, "p5": 47.619 }, "rafIntervalMs": { "p50": 16.7, "p95": 21, "min": 11.5, "max": 22 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.7, "min": 16.5, "max": 16.8 }, "simulationMs": { "p50": 0.2, "p95": 0.4, "min": 0, "max": 0.5 }, "renderingMs": { "p50": 0.5, "p95": 0.6, "min": 0.3, "max": 0.7 }, "geometryMs": { "p50": 0.4, "p95": 4.7, "min": 0.2, "max": 5.1 }, "particleCount": { "p50": 374, "p95": 437, "min": 317, "max": 444 }, "discoveredSurfaceCount": { "p50": 200, "p95": 200, "min": 200, "max": 200 }, "collisionChecks": { "p50": 689, "p95": 1446, "min": 0, "max": 1568 } }, { "requestedElementCount": 2000, "surfaceCount": 0, "actualElementCount": 2000, "setupMs": 2, "rafFps": { "p50": 59.8802, "p95": 62.5, "p5": 57.8035 }, "rafIntervalMs": { "p50": 16.7, "p95": 17.3, "min": 15.5, "max": 17.7 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.8, "min": 16.5, "max": 16.8 }, "simulationMs": { "p50": 0.1, "p95": 0.1, "min": 0, "max": 0.2 }, "renderingMs": { "p50": 0.2, "p95": 0.3, "min": 0, "max": 0.4 }, "geometryMs": { "p50": 0, "p95": 0, "min": 0, "max": 0.1 }, "particleCount": { "p50": 354, "p95": 359, "min": 317, "max": 359 }, "discoveredSurfaceCount": { "p50": 0, "p95": 0, "min": 0, "max": 0 }, "collisionChecks": { "p50": 0, "p95": 0, "min": 0, "max": 0 } }, { "requestedElementCount": 2000, "surfaceCount": 50, "actualElementCount": 2000, "setupMs": 7.7, "rafFps": { "p50": 60.241, "p95": 454.5455, "p5": 29.9401 }, "rafIntervalMs": { "p50": 16.6, "p95": 32.6, "min": 2, "max": 34.9 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.7, "min": 16.6, "max": 16.8 }, "simulationMs": { "p50": 0.2, "p95": 0.3, "min": 0, "max": 0.4 }, "renderingMs": { "p50": 0.3, "p95": 0.5, "min": 0.1, "max": 0.6 }, "geometryMs": { "p50": 0.1, "p95": 16.8, "min": 0, "max": 17.6 }, "particleCount": { "p50": 373, "p95": 430, "min": 317, "max": 436 }, "discoveredSurfaceCount": { "p50": 50, "p95": 50, "min": 50, "max": 50 }, "collisionChecks": { "p50": 668, "p95": 752, "min": 0, "max": 1150 } }, { "requestedElementCount": 2000, "surfaceCount": 200, "actualElementCount": 2000, "setupMs": 9.8, "rafFps": { "p50": 60.241, "p95": 294.1176, "p5": 31.25 }, "rafIntervalMs": { "p50": 16.6, "p95": 31.9, "min": 2.9, "max": 32.5 }, "engineFrameTimeMs": { "p50": 16.7, "p95": 16.7, "min": 16.6, "max": 16.8 }, "simulationMs": { "p50": 0.2, "p95": 0.3, "min": 0, "max": 0.4 }, "renderingMs": { "p50": 0.5, "p95": 0.7, "min": 0.4, "max": 0.8 }, "geometryMs": { "p50": 0.3, "p95": 15.6, "min": 0.2, "max": 15.8 }, "particleCount": { "p50": 374, "p95": 437, "min": 315, "max": 444 }, "discoveredSurfaceCount": { "p50": 200, "p95": 200, "min": 200, "max": 200 }, "collisionChecks": { "p50": 684, "p95": 854, "min": 0, "max": 1384 } } ] }