@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
JSON
{
"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
}
}
]
}