{ "schemaVersion": 1, "task": "PKG-DANMUKU-MASK-LOAD-01", "capturedAt": "2026-09-14T14:09:25.684Z", "baselineCommit": "475d38043e917b412018c6851d6a7464ef7bda67", "inputs": [ { "file": "packages/artplayer-plugin-danmuku/src/bilibili-parser.ts", "sha256": "a9d7668eda4ab10d076c319fb8847b2f4492f4499a47b003e30a8a647f1fce9f" }, { "file": "packages/artplayer-plugin-danmuku/src/bilibili.ts", "sha256": "5ab32ff4b7aff266c0b4ca0967e7be712e0eb4451fb40d544d42df46460f47d2" }, { "file": "packages/artplayer-plugin-danmuku/src/config.ts", "sha256": "a24b2e25f40bbe4bf0f326e67dee93501f756324cfae3e4a8dfc13789dd9fa82" }, { "file": "packages/artplayer-plugin-danmuku/src/danmuku.ts", "sha256": "15ccf41b7bc94fce7fd1df64ee53de251736f0ec719de7a9c007b449e96003e5" }, { "file": "packages/artplayer-plugin-danmuku/src/heatmap-geometry.ts", "sha256": "fc4a3073bdcfdeb09facf7dafce5bd10c2518ec6feb5ab6fccc008c869d01ee0" }, { "file": "packages/artplayer-plugin-danmuku/src/heatmap-sampling.ts", "sha256": "7f4074a8ec3eb985599ca5c4def096030a11733285e72e9e1ba5cf23f81108a3" }, { "file": "packages/artplayer-plugin-danmuku/src/heatmap.ts", "sha256": "032ec70f9594824fb6eedaed277e1125a6327219a8551bd22956f8a5ac162381" }, { "file": "packages/artplayer-plugin-danmuku/src/index.ts", "sha256": "4146d0a23b59e39db26966b689437c27ff137a395f4ff0c4b94f37d0628ecf87" }, { "file": "packages/artplayer-plugin-danmuku/src/input.ts", "sha256": "a9340c7031f486e22074a8def633fba47eb22c2a745fc5d6e6ddac988b9c6839" }, { "file": "packages/artplayer-plugin-danmuku/src/parser-types.ts", "sha256": "f91cf9afc4947a12a79a44f51db7117a08d833db2cb2fca025935a3ac9358046" }, { "file": "packages/artplayer-plugin-danmuku/src/placement.ts", "sha256": "84e7f059790f71f83e7039c561278a5cf016eceef2ba585a748ab47f1423f054" }, { "file": "packages/artplayer-plugin-danmuku/src/queue.ts", "sha256": "74bb239ef0d7bfa8b754930f829ee9d76f0d15b33d1b7eb0f84364a9580b8f04" }, { "file": "packages/artplayer-plugin-danmuku/src/renderer.ts", "sha256": "6ac4b1991c6cb683353a811f41b6ca025401029720cbcadaff120616ca936cdf" }, { "file": "packages/artplayer-plugin-danmuku/src/sampling-window.ts", "sha256": "e60b4aa5b17264928019527403a239e7d216eb08969098da6d0581ba3dd9fa88" }, { "file": "packages/artplayer-plugin-danmuku/src/scheduler.ts", "sha256": "774d0464007a851e0d4f6205b3d95608bd8c77e8995be2c6a1224d58b84dfda7" }, { "file": "packages/artplayer-plugin-danmuku/src/scheduling-buffer.ts", "sha256": "0a7eaf5229adcc74a8d9814fbc9a61cb3990045b3e99ac4ad9dc3f65fb9aab2e" }, { "file": "packages/artplayer-plugin-danmuku/src/setting-lifecycle.ts", "sha256": "4580ce961a4b9ca9d6a481667306204778fdd46b404fbfa232e28db97ab74db0" }, { "file": "packages/artplayer-plugin-danmuku/src/setting-send.ts", "sha256": "b6abbaf3a5e29d42cffb41de44e1ec3760fa3c3223e1b0476e9c8a57f94fd650" }, { "file": "packages/artplayer-plugin-danmuku/src/setting-slider.ts", "sha256": "f06dd34babc0d369cc741d1eb98638aa90a516f59b317fa97a7a0cb2f343cb1d" }, { "file": "packages/artplayer-plugin-danmuku/src/setting-style.ts", "sha256": "47a9a52fee7b9565febb91f8db0f7027d9e77ea5c5dff9220c8425803cca5057" }, { "file": "packages/artplayer-plugin-danmuku/src/setting-template.ts", "sha256": "136609371f91b057d7c589fc32ae7510a0359edc794628c6f1ace33ac6a10406" }, { "file": "packages/artplayer-plugin-danmuku/src/setting-types.ts", "sha256": "a09efe0f780940838e75ea0428a3e775bd75145799120e1b2f5ad38e9f8d08dd" }, { "file": "packages/artplayer-plugin-danmuku/src/setting.ts", "sha256": "9273fd8869364efb12fb90e9f45674fb0d5f9e49675acb2c2500850f0386ee5a" }, { "file": "packages/artplayer-plugin-danmuku/src/types.ts", "sha256": "745fadee438b3bd232f759063e4d78059d52663b9c0be66af0c6a33676d51f86" }, { "file": "packages/artplayer-plugin-danmuku/src/worker-assets.d.ts", "sha256": "3582ccd87626600d9d29c6fa82f812012ea389bc03b39e4edcb4345d02372751" }, { "file": "packages/artplayer-plugin-danmuku/src/worker-client.ts", "sha256": "252b048c67123d296c277d5c1e92ff0f36d919e4c47588497e2da3ca7b4ca881" }, { "file": "packages/artplayer-plugin-danmuku/src/worker-types.ts", "sha256": "6595241341a2ed7c0d01120addadf42dcca306fa1282098084d5d0b6c4e32608" }, { "file": "packages/artplayer-plugin-danmuku/src/worker.ts", "sha256": "39c134fcc5d785fccd8d0743b2353c6a45965e886191b7d4c7cf2131b299ca18" }, { "file": "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, { "file": "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, { "file": "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.mjs", "sha256": "c53e46d853a00fc63589ddf712d83a8a60a35666af1a33c95a16423944152c63" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/config.ts", "sha256": "ef81ea4699dc350df7868e8fb15eed12d8ac3d916910a62de7fb65d88695feac" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/controller.ts", "sha256": "2c625dbe3f206dd1a524cef1f1e1e5cc5d724349b1ca4c6f30763e3d7d53ec51" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/index.ts", "sha256": "c091f991319b57f0f0414bdb7f6b104d46ceb9973e39928e3c566c7bbddba799" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/output.ts", "sha256": "f3ed5d9858f531485f927797990a4f8c2273143b765a9df4918da5cc12613141" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/sdk-ambient.d.ts", "sha256": "487f8e905d0394f0157514a363b4e8019579bc17965ef1fd8c466526c241d319" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/sdk.ts", "sha256": "ebb1df555357c5674352ac3f17774a1d2823d1c7aa524a9a4d044ea27a1287c3" }, { "file": "packages/artplayer-plugin-danmuku-mask/src/types.ts", "sha256": "feafe5c03b70dc11d286ac853986fe5d4b8127a265faa2523ac0b85a305347dc" }, { "file": "packages/artplayer-plugin-danmuku-mask/dist/artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, { "file": "packages/artplayer-plugin-danmuku-mask/dist/artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, { "file": "packages/artplayer-plugin-danmuku-mask/dist/artplayer-plugin-danmuku-mask.mjs", "sha256": "51936576383129170125b33d2983858e0841ea507368970f6d154bc9d78583b1" } ], "reports": [ { "file": "refactor/.cache/danmuku-mask-load-profile-first-report/report.json", "sha256": "d5e784cd07e6a5496323ccea61b7f4d250cdb60115ed67829fe08c2bcd0741d9", "stats": { "startTime": "2026-09-14T13:36:18.592Z", "duration": 31675.031000000003, "expected": 0, "skipped": 0, "unexpected": 1, "flaky": 0 }, "terminal": { "scope": "source", "exitCode": 1, "signal": null, "args": [ "test", "--config=playwright.source.config.js", "test/browser/danmuku-mask-native.spec.js", "--project=chromium", "--grep", "with published core / candidate plugin", "--workers=1" ] }, "cases": [ { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "chromium", "status": "failed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "source UMD", "sha256": "e8193aa8fae3329b3a8e435fc450726d9305e258dddea043ff3114f058516a66" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "scheduled": 120, "visible": 68, "uniqueVisible": 68, "notVisible": [ "Mask load-68", "Mask load-69", "Mask load-70", "Mask load-71", "Mask load-72", "Mask load-73", "Mask load-74", "Mask load-75", "Mask load-76", "Mask load-77", "Mask load-78", "Mask load-79", "Mask load-80", "Mask load-81", "Mask load-82", "Mask load-83", "Mask load-84", "Mask load-85", "Mask load-86", "Mask load-87", "Mask load-88", "Mask load-89", "Mask load-90", "Mask load-91", "Mask load-92", "Mask load-93", "Mask load-94", "Mask load-95", "Mask load-96", "Mask load-97", "Mask load-98", "Mask load-99", "Mask load-100", "Mask load-101", "Mask load-102", "Mask load-103", "Mask load-104", "Mask load-105", "Mask load-106", "Mask load-107", "Mask load-108", "Mask load-109", "Mask load-110", "Mask load-111", "Mask load-112", "Mask load-113", "Mask load-114", "Mask load-115", "Mask load-116", "Mask load-117", "Mask load-118", "Mask load-119" ], "loaded": 120, "waiting": 112, "referenced": 9, "nodes": 10, "pooled": 1, "uniquePool": 1, "buffered": { "pending": [], "reserved": [ "Mask load-58", "Mask load-59", "Mask load-60", "Mask load-61", "Mask load-62", "Mask load-63", "Mask load-64", "Mask load-65", "Mask load-66", "Mask load-67", "Mask load-68", "Mask load-69", "Mask load-70", "Mask load-71", "Mask load-72", "Mask load-73", "Mask load-74", "Mask load-75", "Mask load-76", "Mask load-77", "Mask load-78", "Mask load-79", "Mask load-80", "Mask load-81", "Mask load-82", "Mask load-83", "Mask load-84", "Mask load-85", "Mask load-86", "Mask load-87", "Mask load-88", "Mask load-89", "Mask load-90", "Mask load-91", "Mask load-92", "Mask load-93", "Mask load-94", "Mask load-95", "Mask load-96", "Mask load-97", "Mask load-98", "Mask load-99", "Mask load-100", "Mask load-101", "Mask load-102", "Mask load-103", "Mask load-104", "Mask load-105", "Mask load-106", "Mask load-107", "Mask load-108", "Mask load-109", "Mask load-110", "Mask load-111", "Mask load-112", "Mask load-113", "Mask load-114", "Mask load-115", "Mask load-116", "Mask load-117", "Mask load-118", "Mask load-119" ] }, "frameGapsMs": { "count": 69, "median": 130.30000001192093, "p95": 141.30000001192093, "max": 146.69999998807907 }, "errors": [] } ], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 52\u001b[39m\n\u001b[31m+ Received + 0\u001b[39m\n\n\u001b[33m@@ -1,30 +1,10 @@\u001b[39m\n\u001b[2m Array [\u001b[22m\n\u001b[2m \"Mask load-0\",\u001b[22m\n\u001b[2m \"Mask load-1\",\u001b[22m\n\u001b[2m \"Mask load-10\",\u001b[22m\n\u001b[32m- \"Mask load-100\",\u001b[39m\n\u001b[32m- \"Mask load-101\",\u001b[39m\n\u001b[32m- \"Mask load-102\",\u001b[39m\n\u001b[32m- \"Mask load-103\",\u001b[39m\n\u001b[32m- \"Mask load-104\",\u001b[39m\n\u001b[32m- \"Mask load-105\",\u001b[39m\n\u001b[32m- \"Mask load-106\",\u001b[39m\n\u001b[32m- \"Mask load-107\",\u001b[39m\n\u001b[32m- \"Mask load-108\",\u001b[39m\n\u001b[32m- \"Mask load-109\",\u001b[39m\n\u001b[2m \"Mask load-11\",\u001b[22m\n\u001b[32m- \"Mask load-110\",\u001b[39m\n\u001b[32m- \"Mask load-111\",\u001b[39m\n\u001b[32m- \"Mask load-112\",\u001b[39m\n\u001b[32m- \"Mask load-113\",\u001b[39m\n\u001b[32m- \"Mask load-114\",\u001b[39m\n\u001b[32m- \"Mask load-115\",\u001b[39m\n\u001b[32m- \"Mask load-116\",\u001b[39m\n\u001b[32m- \"Mask load-117\",\u001b[39m\n\u001b[32m- \"Mask load-118\",\u001b[39m\n\u001b[32m- \"Mask load-119\",\u001b[39m\n\u001b[2m \"Mask load-12\",\u001b[22m\n\u001b[2m \"Mask load-13\",\u001b[22m\n\u001b[2m \"Mask load-14\",\u001b[22m\n\u001b[2m \"Mask load-15\",\u001b[22m\n\u001b[2m \"Mask load-16\",\u001b[22m\n\u001b[33m@@ -82,41 +62,9 @@\u001b[39m\n\u001b[2m \"Mask load-63\",\u001b[22m\n\u001b[2m \"Mask load-64\",\u001b[22m\n\u001b[2m \"Mask load-65\",\u001b[22m\n\u001b[2m \"Mask load-66\",\u001b[22m\n\u001b[2m \"Mask load-67\",\u001b[22m\n\u001b[32m- \"Mask load-68\",\u001b[39m\n\u001b[32m- \"Mask load-69\",\u001b[39m\n\u001b[2m \"Mask load-7\",\u001b[22m\n\u001b[32m- \"Mask load-70\",\u001b[39m\n\u001b[32m- \"Mask load-71\",\u001b[39m\n\u001b[32m- \"Mask load-72\",\u001b[39m\n\u001b[32m- \"Mask load-73\",\u001b[39m\n\u001b[32m- \"Mask load-74\",\u001b[39m\n\u001b[32m- \"Mask load-75\",\u001b[39m\n\u001b[32m- \"Mask load-76\",\u001b[39m\n\u001b[32m- \"Mask load-77\",\u001b[39m\n\u001b[32m- \"Mask load-78\",\u001b[39m\n\u001b[32m- \"Mask load-79\",\u001b[39m\n\u001b[2m \"Mask load-8\",\u001b[22m\n\u001b[32m- \"Mask load-80\",\u001b[39m\n\u001b[32m- \"Mask load-81\",\u001b[39m\n\u001b[32m- \"Mask load-82\",\u001b[39m\n\u001b[32m- \"Mask load-83\",\u001b[39m\n\u001b[32m- \"Mask load-84\",\u001b[39m\n\u001b[32m- \"Mask load-85\",\u001b[39m\n\u001b[32m- \"Mask load-86\",\u001b[39m\n\u001b[32m- \"Mask load-87\",\u001b[39m\n\u001b[32m- \"Mask load-88\",\u001b[39m\n\u001b[32m- \"Mask load-89\",\u001b[39m\n\u001b[2m \"Mask load-9\",\u001b[22m\n\u001b[32m- \"Mask load-90\",\u001b[39m\n\u001b[32m- \"Mask load-91\",\u001b[39m\n\u001b[32m- \"Mask load-92\",\u001b[39m\n\u001b[32m- \"Mask load-93\",\u001b[39m\n\u001b[32m- \"Mask load-94\",\u001b[39m\n\u001b[32m- \"Mask load-95\",\u001b[39m\n\u001b[32m- \"Mask load-96\",\u001b[39m\n\u001b[32m- \"Mask load-97\",\u001b[39m\n\u001b[32m- \"Mask load-98\",\u001b[39m\n\u001b[32m- \"Mask load-99\",\u001b[39m\n\u001b[2m ]\u001b[22m\n\n at ..\\helpers\\danmuku-combination-load.js:55\n\n 53 | expect(result.errors).toEqual([])\n 54 | if (requireComplete) {\n> 55 | expect(result.visible.map(row => row.id).sort()).toEqual(result.rows.map(row => row.id).sort())\n | ^\n 56 | expect(result.waiting).toBe(rate * seconds)\n 57 | expect(result.referenced).toBe(0)\n 58 | expect(result.uniquePool).toBe(result.pooled)\n at observeDanmukuLoad (D:\\github\\ArtPlayer\\test\\helpers\\danmuku-combination-load.js:55:54)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-mask-native.spec.js:276:18" ] } ] }, { "file": "refactor/.cache/danmuku-mask-load-source-first-report/report.json", "sha256": "5d23d015267640e148cddc451ea195afa5b4bfd1b353d7bfc6ddd45099c9c1f4", "stats": { "startTime": "2026-09-14T13:46:33.450Z", "duration": 216280.32400000002, "expected": 18, "skipped": 0, "unexpected": 0, "flaky": 0 }, "terminal": { "scope": "source", "exitCode": 0, "signal": null, "args": [ "test", "--config=playwright.source.config.js", "test/browser/danmuku-mask-native.spec.js", "--grep", "actual model and Danmuku", "--workers=2" ] }, "cases": [ { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / published plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 33, "uniqueVisible": 33, "notVisible": [ "Mask load-5", "Mask load-6", "Mask load-7", "Mask load-8", "Mask load-9", "Mask load-10", "Mask load-11", "Mask load-12", "Mask load-13", "Mask load-18", "Mask load-19", "Mask load-20", "Mask load-21", "Mask load-22", "Mask load-23", "Mask load-24", "Mask load-25", "Mask load-26", "Mask load-27", "Mask load-28", "Mask load-33", "Mask load-34", "Mask load-35", "Mask load-36", "Mask load-37", "Mask load-38", "Mask load-39", "Mask load-40", "Mask load-41", "Mask load-42", "Mask load-43", "Mask load-44", "Mask load-45", "Mask load-46", "Mask load-51", "Mask load-52", "Mask load-53", "Mask load-54", "Mask load-55", "Mask load-56", "Mask load-57", "Mask load-58", "Mask load-59", "Mask load-60", "Mask load-61", "Mask load-62", "Mask load-63", "Mask load-64", "Mask load-69", "Mask load-70", "Mask load-71", "Mask load-72", "Mask load-73", "Mask load-74", "Mask load-75", "Mask load-76", "Mask load-77", "Mask load-78", "Mask load-79", "Mask load-80", "Mask load-81", "Mask load-82", "Mask load-87", "Mask load-88", "Mask load-89", "Mask load-90", "Mask load-91", "Mask load-92", "Mask load-93", "Mask load-94", "Mask load-95", "Mask load-96", "Mask load-97", "Mask load-102", "Mask load-103", "Mask load-104", "Mask load-105", "Mask load-106", "Mask load-107", "Mask load-108", "Mask load-109", "Mask load-110", "Mask load-111", "Mask load-112", "Mask load-113", "Mask load-114", "Mask load-115" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 11, "pooled": 9, "uniquePool": 9, "modelOutputs": 57, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 50, "median": 174.10000002384186, "p95": 202.0999999642372, "max": 211.4000000357628 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 25, "uniquePool": 25, "modelOutputs": 54, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 47, "median": 199.5, "p95": 241.39999997615814, "max": 317.39999997615814 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / published plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 25, "uniqueVisible": 25, "notVisible": [ "Mask load-1", "Mask load-2", "Mask load-3", "Mask load-4", "Mask load-5", "Mask load-10", "Mask load-11", "Mask load-12", "Mask load-13", "Mask load-14", "Mask load-15", "Mask load-16", "Mask load-17", "Mask load-18", "Mask load-19", "Mask load-20", "Mask load-21", "Mask load-22", "Mask load-23", "Mask load-24", "Mask load-25", "Mask load-26", "Mask load-27", "Mask load-28", "Mask load-29", "Mask load-34", "Mask load-35", "Mask load-36", "Mask load-37", "Mask load-38", "Mask load-39", "Mask load-40", "Mask load-41", "Mask load-42", "Mask load-43", "Mask load-44", "Mask load-45", "Mask load-46", "Mask load-47", "Mask load-48", "Mask load-53", "Mask load-54", "Mask load-55", "Mask load-56", "Mask load-57", "Mask load-58", "Mask load-59", "Mask load-60", "Mask load-61", "Mask load-62", "Mask load-63", "Mask load-64", "Mask load-65", "Mask load-66", "Mask load-67", "Mask load-72", "Mask load-73", "Mask load-74", "Mask load-75", "Mask load-76", "Mask load-77", "Mask load-78", "Mask load-79", "Mask load-80", "Mask load-81", "Mask load-82", "Mask load-83", "Mask load-84", "Mask load-85", "Mask load-86", "Mask load-87", "Mask load-88", "Mask load-89", "Mask load-90", "Mask load-95", "Mask load-96", "Mask load-97", "Mask load-98", "Mask load-99", "Mask load-100", "Mask load-101", "Mask load-102", "Mask load-103", "Mask load-104", "Mask load-105", "Mask load-106", "Mask load-107", "Mask load-108", "Mask load-109", "Mask load-110", "Mask load-111", "Mask load-112", "Mask load-113", "Mask load-114", "Mask load-115" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 10, "pooled": 8, "uniquePool": 8, "modelOutputs": 45, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 38, "median": 233.9000000357628, "p95": 260.69999998807907, "max": 281 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 23, "uniquePool": 23, "modelOutputs": 57, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 50, "median": 174.30000001192093, "p95": 199.5, "max": 215.5 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / published plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 28, "uniqueVisible": 28, "notVisible": [ "Mask load-4", "Mask load-5", "Mask load-6", "Mask load-7", "Mask load-8", "Mask load-9", "Mask load-10", "Mask load-15", "Mask load-16", "Mask load-17", "Mask load-18", "Mask load-19", "Mask load-20", "Mask load-21", "Mask load-22", "Mask load-23", "Mask load-24", "Mask load-25", "Mask load-26", "Mask load-27", "Mask load-28", "Mask load-29", "Mask load-34", "Mask load-35", "Mask load-36", "Mask load-37", "Mask load-38", "Mask load-39", "Mask load-40", "Mask load-41", "Mask load-42", "Mask load-43", "Mask load-44", "Mask load-45", "Mask load-50", "Mask load-51", "Mask load-52", "Mask load-53", "Mask load-54", "Mask load-55", "Mask load-56", "Mask load-57", "Mask load-58", "Mask load-59", "Mask load-60", "Mask load-65", "Mask load-66", "Mask load-67", "Mask load-68", "Mask load-69", "Mask load-70", "Mask load-71", "Mask load-72", "Mask load-73", "Mask load-74", "Mask load-75", "Mask load-76", "Mask load-77", "Mask load-78", "Mask load-79", "Mask load-80", "Mask load-85", "Mask load-86", "Mask load-87", "Mask load-88", "Mask load-89", "Mask load-90", "Mask load-91", "Mask load-92", "Mask load-93", "Mask load-94", "Mask load-95", "Mask load-96", "Mask load-97", "Mask load-98", "Mask load-99", "Mask load-100", "Mask load-101", "Mask load-106", "Mask load-107", "Mask load-108", "Mask load-109", "Mask load-110", "Mask load-111", "Mask load-112", "Mask load-113", "Mask load-114", "Mask load-115", "Mask load-116", "Mask load-117", "Mask load-118", "Mask load-119" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 10, "pooled": 8, "uniquePool": 8, "modelOutputs": 53, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 46, "median": 203.19999998807907, "p95": 241.39999997615814, "max": 263.60000002384186 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 25, "uniquePool": 25, "modelOutputs": 45, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 38, "median": 235, "p95": 271.19999998807907, "max": 271.39999997615814 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / published plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 107, "uniqueVisible": 107, "notVisible": [ "Mask load-9", "Mask load-28", "Mask load-37", "Mask load-46", "Mask load-47", "Mask load-52", "Mask load-57", "Mask load-62", "Mask load-67", "Mask load-68", "Mask load-69", "Mask load-78", "Mask load-95" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 24, "uniquePool": 24, "modelOutputs": 95, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 99, "median": 84, "p95": 136, "max": 158 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 23, "uniquePool": 23, "modelOutputs": 136, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 149, "median": 66, "p95": 81, "max": 124 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / published plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 23, "uniquePool": 23, "modelOutputs": 121, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 134, "median": 72, "p95": 91, "max": 103 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 94, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 95, "median": 85, "p95": 132, "max": 151 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / published plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 24, "uniquePool": 24, "modelOutputs": 132, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 148, "median": 66, "p95": 80, "max": 108 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 122, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 133, "median": 74, "p95": 89, "max": 148 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / published plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 113, "uniqueVisible": 113, "notVisible": [ "Mask load-22", "Mask load-47", "Mask load-56", "Mask load-69", "Mask load-98", "Mask load-106", "Mask load-119" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 24, "uniquePool": 24, "modelOutputs": 48, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 46, "median": 200, "p95": 232, "max": 250 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 26, "uniquePool": 26, "modelOutputs": 44, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 42, "median": 230, "p95": 272, "max": 297 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / published plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 109, "uniqueVisible": 109, "notVisible": [ "Mask load-21", "Mask load-26", "Mask load-39", "Mask load-48", "Mask load-57", "Mask load-66", "Mask load-75", "Mask load-88", "Mask load-101", "Mask load-106", "Mask load-119" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 23, "uniquePool": 23, "modelOutputs": 48, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 46, "median": 210, "p95": 239, "max": 245 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 25, "uniquePool": 25, "modelOutputs": 45, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 42, "median": 220, "p95": 245, "max": 257 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / published plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 108, "uniqueVisible": 108, "notVisible": [ "Mask load-12", "Mask load-29", "Mask load-34", "Mask load-47", "Mask load-52", "Mask load-57", "Mask load-62", "Mask load-75", "Mask load-80", "Mask load-89", "Mask load-98", "Mask load-107" ], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 23, "uniquePool": 23, "modelOutputs": 49, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 47, "median": 205, "p95": 244, "max": 254 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "mask": { "file": "source UMD", "sha256": "2b4c117b0c2ccf52258877c697a3d83908a23fe3b5c8d698728b98de470c0045" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 26, "uniquePool": 26, "modelOutputs": 45, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 42, "median": 224, "p95": 266, "max": 283 }, "errors": [] } ], "errors": [] } ] }, { "file": "refactor/.cache/danmuku-mask-load-regression-first-report/report.json", "sha256": "604c0298d63b98efc6c33b3fcc738df9fc9c0d582c65ebae5360177afbb5dcc0", "stats": { "startTime": "2026-09-14T13:53:45.321Z", "duration": 215864.984, "expected": 72, "skipped": 0, "unexpected": 12, "flaky": 0 }, "terminal": { "scope": "source", "exitCode": 1, "signal": null, "args": [ "test", "--config=playwright.source.config.js", "test/browser/danmuku-lifetime.spec.js", "test/browser/danmuku-timing-diagnostic.spec.js", "test/browser/danmuku-dpip.spec.js", "--workers=2" ] }, "cases": [ { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP load", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 243 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 23, "settings": 1, "placeholders": 0 }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 538, "median": 16.69999998807907, "p95": 18, "max": 19.19999998807907 }, "errors": [] }, { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 538, "median": 16.600000023841858, "p95": 17.899999976158142, "max": 18.80000001192093 }, "errors": [] } ], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP load", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 1 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 538, "median": 16.69999998807907, "p95": 18, "max": 19.19999998807907 }, "errors": [] }, { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 537, "median": 16.69999998807907, "p95": 18, "max": 19.30000001192093 }, "errors": [] } ], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP load", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 243 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 23, "settings": 1, "placeholders": 0 }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 537, "median": 16.69999998807907, "p95": 18, "max": 19.200000047683716 }, "errors": [] }, { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 537, "median": 16.600000023841858, "p95": 17.80000001192093, "max": 18.799999952316284 }, "errors": [] } ], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP load", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 1 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 537, "median": 16.600000023841858, "p95": 18.100000023841858, "max": 19.19999998807907 }, "errors": [] }, { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 540, "median": 16.69999998807907, "p95": 18.100000023841858, "max": 19 }, "errors": [] } ], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP load", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 243 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 23, "settings": 1, "placeholders": 0 }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 480, "median": 17, "p95": 20, "max": 22 }, "errors": [] }, { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 478, "median": 17, "p95": 18, "max": 20 }, "errors": [] } ], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP load", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 1 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 487, "median": 17, "p95": 18, "max": 18 }, "errors": [] }, { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 480, "median": 17, "p95": 18, "max": 23 }, "errors": [] } ], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 3 } ], "errors": [], "events": [ true, false, true ], "nodes": 3, "settings": 1, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP load", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-with-published-retained-dom", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 243 } ], "errors": [], "events": [ true, false, true, false ], "nodes": 23, "settings": 1, "placeholders": 0 }, "loads": [ { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 479, "median": 17, "p95": 17, "max": 19 }, "errors": [] }, { "requiredComplete": false, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 538, "median": 17, "p95": 18, "max": 18 }, "errors": [] } ], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 2 } ], "errors": [], "events": [ true, false, true ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP load", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-playback-danmuku-and-cleanup-passed", "supported": true, "final": { "active": false, "workers": [ { "terminated": 1, "replies": 1 } ], "errors": [], "events": [ true, false, true, false ], "frame": null, "operation": null, "nodes": 0, "settings": 0, "placeholders": 0 }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 538, "median": 17, "p95": 18, "max": 21 }, "errors": [] }, { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 478, "median": 17, "p95": 18, "max": 34 }, "errors": [] } ], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: published Danmuku, heatmap and Worker survive native Document PiP load", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published: candidate Danmuku, heatmap and Worker survive native Document PiP load", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: published Danmuku, heatmap and Worker survive native Document PiP load", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "npm 5.3.0", "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP native-close", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP destroy", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "candidate: candidate Danmuku, heatmap and Worker survive native Document PiP load", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "input": "source UMD", "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "dpip": { "input": "candidate-source", "sha256": "2daf44990a250f1122ce38481f3ed8c41d2f8c65a0d5ed99ab2633e46b703db1" }, "outcome": "native-document-pip-unavailable", "supported": false, "loads": [], "errors": [] }, { "title": "published core / published plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "posts": 1, "replies": 1, "visible": [ { "wall": 2371.2999999523163, "clock": 1789394094779, "startedAt": 1789394093277, "rest": 1, "mode": 0, "time": 2.205042, "transition": "transform 1s linear" } ], "milliseconds": 12.100000023841858 } }, { "title": "published core / published plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "posts": 1, "replies": 1, "visible": [ { "wall": 2420.300000011921, "clock": 1789394097496, "startedAt": 1789394095994, "rest": 1, "mode": 1, "time": 2.229292, "transition": "" } ], "milliseconds": 11.600000023841858 } }, { "title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "failed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 0, "posts": 0, "replies": 0, "visible": [ { "wall": 867.8000000119209, "clock": 1789394098677, "startedAt": 1789394098677, "rest": 1, "mode": 0, "time": 0.705654, "transition": "transform 1s linear" } ], "milliseconds": 1013.3999999761581 } }, { "title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "failed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 1, "posts": 0, "replies": 0, "visible": [ { "wall": 909.6999999880791, "clock": 1789394103345, "startedAt": 1789394103345, "rest": 1, "mode": 1, "time": 0.70531, "transition": "" } ], "milliseconds": 1012.6000000238419 } }, { "title": "candidate core / published plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "posts": 1, "replies": 1, "visible": [ { "wall": 2401.300000011921, "clock": 1789394095246, "startedAt": 1789394093744, "rest": 1, "mode": 0, "time": 2.204208, "transition": "transform 1s linear" } ], "milliseconds": 12.599999964237213 } }, { "title": "candidate core / published plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "posts": 1, "replies": 1, "visible": [ { "wall": 2401.5, "clock": 1789394097964, "startedAt": 1789394096462, "rest": 1, "mode": 1, "time": 2.202758, "transition": "" } ], "milliseconds": 10.399999976158142 } }, { "title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "failed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 0, "posts": 0, "replies": 0, "visible": [ { "wall": 897, "clock": 1789394099130, "startedAt": 1789394099129, "rest": 1, "mode": 0, "time": 0.705605, "transition": "transform 1s linear" } ], "milliseconds": 1012.0999999642372 } }, { "title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "chromium", "status": "failed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 1, "posts": 0, "replies": 0, "visible": [ { "wall": 911.2000000476837, "clock": 1789394103880, "startedAt": 1789394103880, "rest": 1, "mode": 1, "time": 0.706199, "transition": "" } ], "milliseconds": 1011.2999999523163 } }, { "title": "published core / published plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "posts": 1, "replies": 1, "visible": [ { "wall": 2445, "clock": 1789394181659, "startedAt": 1789394180139, "rest": 1, "mode": 0, "time": 2.24406, "transition": "transform 1s linear" } ], "milliseconds": 10 } }, { "title": "published core / published plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "posts": 1, "replies": 1, "visible": [ { "wall": 2483, "clock": 1789394184527, "startedAt": 1789394183006, "rest": 1, "mode": 1, "time": 2.243918, "transition": "" } ], "milliseconds": 12 } }, { "title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "failed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 0, "posts": 0, "replies": 0, "visible": [ { "wall": 986, "clock": 1789394186376, "startedAt": 1789394186376, "rest": 1, "mode": 0, "time": 0.7184, "transition": "transform 1s linear" } ], "milliseconds": 1000 } }, { "title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "failed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 1, "posts": 0, "replies": 0, "visible": [ { "wall": 1298, "clock": 1789394193165, "startedAt": 1789394193165, "rest": 1, "mode": 1, "time": 0.701205, "transition": "" } ], "milliseconds": 1016 } }, { "title": "candidate core / published plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "posts": 1, "replies": 1, "visible": [ { "wall": 2485, "clock": 1789394183430, "startedAt": 1789394181905, "rest": 1, "mode": 0, "time": 2.248326, "transition": "transform 1s linear" } ], "milliseconds": 8 } }, { "title": "candidate core / published plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "posts": 1, "replies": 1, "visible": [ { "wall": 2291, "clock": 1789394186187, "startedAt": 1789394184675, "rest": 1, "mode": 1, "time": 1.981754, "transition": "" } ], "milliseconds": 4 } }, { "title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "failed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 0, "posts": 0, "replies": 0, "visible": [ { "wall": 716, "clock": 1789394187927, "startedAt": 1789394187927, "rest": 1, "mode": 0, "time": 0.433251, "transition": "transform 1s linear" } ], "milliseconds": 1017 } }, { "title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "firefox", "status": "failed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 1, "posts": 0, "replies": 0, "visible": [ { "wall": 1056, "clock": 1789394194399, "startedAt": 1789394194399, "rest": 1, "mode": 1, "time": 0.426073, "transition": "" } ], "milliseconds": 1015 } }, { "title": "published core / published plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "posts": 1, "replies": 1, "visible": [ { "wall": 2788, "clock": 1789394214106, "startedAt": 1789394212574, "rest": 1, "mode": 0, "time": 2.0036461, "transition": "transform 1s linear" } ], "milliseconds": 15 } }, { "title": "published core / published plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "posts": 1, "replies": 1, "visible": [ { "wall": 2800, "clock": 1789394217784, "startedAt": 1789394216257, "rest": 1, "mode": 1, "time": 2.0511669, "transition": "" } ], "milliseconds": 15 } }, { "title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "failed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 0, "posts": 0, "replies": 0, "visible": [ { "wall": 1228, "clock": 1789394219906, "startedAt": 1789394219906, "rest": 1, "mode": 0, "time": 0.4841667, "transition": "transform 1s linear" } ], "milliseconds": 1037 } }, { "title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "failed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 1, "posts": 0, "replies": 0, "visible": [ { "wall": 1171, "clock": 1789394224938, "startedAt": 1789394224937, "rest": 1, "mode": 1, "time": 0.4458125, "transition": "" } ], "milliseconds": 1035 } }, { "title": "candidate core / published plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "posts": 1, "replies": 1, "visible": [ { "wall": 2754, "clock": 1789394215509, "startedAt": 1789394213985, "rest": 1, "mode": 0, "time": 1.9758336, "transition": "transform 1s linear" } ], "milliseconds": 11 } }, { "title": "candidate core / published plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "posts": 1, "replies": 1, "visible": [ { "wall": 2807, "clock": 1789394219216, "startedAt": 1789394217693, "rest": 1, "mode": 1, "time": 2.0339586, "transition": "" } ], "milliseconds": 16 } }, { "title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "failed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 0, "posts": 0, "replies": 0, "visible": [ { "wall": 1330, "clock": 1789394221439, "startedAt": 1789394221438, "rest": 1, "mode": 0, "time": 0.5067708, "transition": "transform 1s linear" } ], "milliseconds": 1028 } }, { "title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime", "engine": "webkit", "status": "failed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoHaveLength\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected length: \u001b[32m1\u001b[39m\nReceived length: \u001b[31m0\u001b[39m\nReceived array: \u001b[31m[]\u001b[39m\n\n 71 | const evidence = await page.evaluate(() => ({ ...window.lifetimeEvidence, video: { width: window.art.video.videoWidth, time: window.art.currentTime } }))\n 72 | await testInfo.attach('danmuku-lifetime', { contentType: 'application/json', body: JSON.stringify({ core, implementation, mode, sha256: hash(code), evidence, scope: 'Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation.' }) })\n> 73 | expect(evidence.posts).toHaveLength(1)\n | ^\n 74 | expect(evidence.replies).toHaveLength(1)\n 75 | expect(evidence.visible).toHaveLength(1)\n 76 | expect(evidence.video.width).toBeGreaterThan(0)\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-lifetime.spec.js:73:32" ], "lifetime": { "mode": 1, "posts": 0, "replies": 0, "visible": [ { "wall": 1231, "clock": 1789394226679, "startedAt": 1789394226679, "rest": 1, "mode": 1, "time": 0.4972291, "transition": "" } ], "milliseconds": 1013 } }, { "title": "published: native main-thread-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [ "first", "middle" ], "visible": [ { "id": "sentinel", "time": 2.012064, "wall": 2353.800000011921 } ], "block": { "start": 948.8000000119209, "end": 1748.800000011921, "before": 0.606965, "after": 0.606965 } } }, { "title": "published: native async-visibility-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.343569, "wall": 1617.300000011921 }, { "id": "sentinel", "time": 1.991175, "wall": 2265 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.394496, "wall": 1701.5 }, { "id": "middle", "time": 1.395637, "wall": 1702.7000000476837 }, { "id": "sentinel", "time": 1.993533, "wall": 2299.300000011921 } ], "block": { "start": 898.1000000238419, "end": 1698.2000000476837, "before": 0.592163, "after": 0.592163 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.327913, "wall": 1594.2000000476837 }, { "id": "middle", "time": 1.341258, "wall": 1607.6000000238419 }, { "id": "sentinel", "time": 1.990844, "wall": 2257.300000011921 } ], "block": null } }, { "title": "published: native main-thread-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [ "first", "middle" ], "visible": [ { "id": "sentinel", "time": 2.028694, "wall": 3139 } ], "block": { "start": 1752, "end": 2552, "before": 0.65225, "after": 0.65225 } } }, { "title": "published: native async-visibility-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.419432, "wall": 1740 }, { "id": "sentinel", "time": 2.03867, "wall": 2357 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 0.831893, "wall": 2203 }, { "id": "middle", "time": 1.437669, "wall": 2218 }, { "id": "sentinel", "time": 2.043908, "wall": 2819 } ], "block": { "start": 1399, "end": 2199, "before": 0.625736, "after": 0.625736 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.38756, "wall": 1735 }, { "id": "middle", "time": 1.427841, "wall": 1751 }, { "id": "sentinel", "time": 2.034613, "wall": 2352 } ], "block": null } }, { "title": "published: native main-thread-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [ "first", "middle" ], "visible": [ { "id": "sentinel", "time": 2.0014586, "wall": 3101 } ], "block": { "start": 1679, "end": 2479, "before": 0.580375, "after": 1.3795002 } } }, { "title": "published: native async-visibility-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.3969585, "wall": 2502 }, { "id": "sentinel", "time": 2.0127919, "wall": 3118 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.4963751, "wall": 2762 }, { "id": "middle", "time": 1.4977085, "wall": 2764 }, { "id": "sentinel", "time": 2.0543128, "wall": 3320 } ], "block": { "start": 1958, "end": 2758, "before": 0.6924167, "after": 1.4916043 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.2358959, "wall": 2270 }, { "id": "middle", "time": 1.2380418, "wall": 2272 }, { "id": "sentinel", "time": 1.8778544, "wall": 2912 } ], "block": null } } ] }, { "file": "refactor/.cache/danmuku-mask-load-lifetime-source-report/report.json", "sha256": "6a85ceda64ff8a83b181294b2d4bea51631ced590b7ee2eecd7409fc0edfd55a", "stats": { "startTime": "2026-09-14T13:59:21.207Z", "duration": 114364.625, "expected": 60, "skipped": 0, "unexpected": 0, "flaky": 0 }, "terminal": { "scope": "source", "exitCode": 0, "signal": null, "args": [ "test", "--config=playwright.source.config.js", "test/browser/danmuku-lifetime.spec.js", "test/browser/danmuku-timing-diagnostic.spec.js", "--workers=2" ] }, "cases": [ { "title": "published core / published plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2482.899999976158, "clock": 1789394367185, "startedAt": 1789394365684, "rest": 1, "mode": 0, "time": 2.203614, "transition": "transform 1s linear" } ], "milliseconds": 12.400000035762787 } }, { "title": "published core / published plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2355.900000035763, "clock": 1789394369819, "startedAt": 1789394368317, "rest": 1, "mode": 0, "time": 2.188676, "transition": "transform 1s linear" } ], "milliseconds": 12.800000011920929 } }, { "title": "published core / published plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2374, "clock": 1789394372470, "startedAt": 1789394370968, "rest": 1, "mode": 1, "time": 2.200467, "transition": "" } ], "milliseconds": 10.600000023841858 } }, { "title": "published core / published plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2382.5, "clock": 1789394375119, "startedAt": 1789394373616, "rest": 1, "mode": 1, "time": 2.20383, "transition": "" } ], "milliseconds": 12 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2355.099999964237, "clock": 1789394377736, "startedAt": 1789394377735, "rest": 1, "mode": 0, "time": 2.187922, "transition": "transform 1s linear" } ], "milliseconds": 1011.3000000119209 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 873.8000000119209, "clock": 1789394379901, "startedAt": 1789394379901, "rest": 1, "mode": 0, "time": 0.702597, "transition": "transform 1s linear" } ], "milliseconds": 1014.0999999642372 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2385.300000011921, "clock": 1789394384051, "startedAt": 1789394384051, "rest": 1, "mode": 1, "time": 2.203971, "transition": "" } ], "milliseconds": 1012.6999999880791 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 867.8000000119209, "clock": 1789394386183, "startedAt": 1789394386183, "rest": 1, "mode": 1, "time": 0.704219, "transition": "" } ], "milliseconds": 1013.4000000357628 } }, { "title": "candidate core / published plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2450.599999964237, "clock": 1789394367152, "startedAt": 1789394365650, "rest": 1, "mode": 0, "time": 2.201702, "transition": "transform 1s linear" } ], "milliseconds": 12.600000023841858 } }, { "title": "candidate core / published plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2389.600000023842, "clock": 1789394369835, "startedAt": 1789394368333, "rest": 1, "mode": 0, "time": 2.18602, "transition": "transform 1s linear" } ], "milliseconds": 13 } }, { "title": "candidate core / published plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2379.699999988079, "clock": 1789394372486, "startedAt": 1789394370983, "rest": 1, "mode": 1, "time": 2.191283, "transition": "" } ], "milliseconds": 12.399999976158142 } }, { "title": "candidate core / published plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2366.300000011921, "clock": 1789394375119, "startedAt": 1789394373616, "rest": 1, "mode": 1, "time": 2.189864, "transition": "" } ], "milliseconds": 12 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2379.099999964237, "clock": 1789394377817, "startedAt": 1789394377817, "rest": 1, "mode": 0, "time": 2.18826, "transition": "transform 1s linear" } ], "milliseconds": 1013.1999999880791 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 889, "clock": 1789394380034, "startedAt": 1789394380034, "rest": 1, "mode": 0, "time": 0.70351, "transition": "transform 1s linear" } ], "milliseconds": 1012.5 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2392.7999999523163, "clock": 1789394384203, "startedAt": 1789394384203, "rest": 1, "mode": 1, "time": 2.206952, "transition": "" } ], "milliseconds": 1010.5 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 862.6999999880791, "clock": 1789394386384, "startedAt": 1789394386384, "rest": 1, "mode": 1, "time": 0.691262, "transition": "" } ], "milliseconds": 1012 } }, { "title": "published core / published plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2644, "clock": 1789394400601, "startedAt": 1789394399087, "rest": 1, "mode": 0, "time": 1.9605, "transition": "transform 1s linear" } ], "milliseconds": 16 } }, { "title": "published core / published plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2196, "clock": 1789394403354, "startedAt": 1789394401852, "rest": 1, "mode": 0, "time": 1.955069, "transition": "transform 1s linear" } ], "milliseconds": 15 } }, { "title": "published core / published plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2444, "clock": 1789394406241, "startedAt": 1789394404722, "rest": 1, "mode": 1, "time": 2.243891, "transition": "" } ], "milliseconds": 14 } }, { "title": "published core / published plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2179, "clock": 1789394408857, "startedAt": 1789394407352, "rest": 1, "mode": 1, "time": 1.955533, "transition": "" } ], "milliseconds": 16 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2189, "clock": 1789394411460, "startedAt": 1789394411460, "rest": 1, "mode": 0, "time": 1.96054, "transition": "transform 1s linear" } ], "milliseconds": 1000 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 703, "clock": 1789394413680, "startedAt": 1789394413679, "rest": 1, "mode": 0, "time": 0.461703, "transition": "transform 1s linear" } ], "milliseconds": 1001 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2183, "clock": 1789394417766, "startedAt": 1789394417766, "rest": 1, "mode": 1, "time": 1.96302, "transition": "" } ], "milliseconds": 1016 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 972, "clock": 1789394420168, "startedAt": 1789394420168, "rest": 1, "mode": 1, "time": 0.709233, "transition": "" } ], "milliseconds": 1016 } }, { "title": "candidate core / published plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2933, "clock": 1789394401373, "startedAt": 1789394399850, "rest": 1, "mode": 0, "time": 2.243319, "transition": "transform 1s linear" } ], "milliseconds": 11 } }, { "title": "candidate core / published plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2200, "clock": 1789394404073, "startedAt": 1789394402570, "rest": 1, "mode": 0, "time": 1.965394, "transition": "transform 1s linear" } ], "milliseconds": 15 } }, { "title": "candidate core / published plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2240, "clock": 1789394406807, "startedAt": 1789394405305, "rest": 1, "mode": 1, "time": 1.956197, "transition": "" } ], "milliseconds": 14 } }, { "title": "candidate core / published plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2577, "clock": 1789394409842, "startedAt": 1789394408340, "rest": 1, "mode": 1, "time": 2.205942, "transition": "" } ], "milliseconds": 16 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2441, "clock": 1789394412700, "startedAt": 1789394412699, "rest": 1, "mode": 0, "time": 2.210655, "transition": "transform 1s linear" } ], "milliseconds": 1011 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 756, "clock": 1789394414947, "startedAt": 1789394414947, "rest": 1, "mode": 0, "time": 0.459169, "transition": "transform 1s linear" } ], "milliseconds": 1014 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2200, "clock": 1789394419101, "startedAt": 1789394419100, "rest": 1, "mode": 1, "time": 1.961936, "transition": "" } ], "milliseconds": 1015 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 746, "clock": 1789394421335, "startedAt": 1789394421335, "rest": 1, "mode": 1, "time": 0.466008, "transition": "" } ], "milliseconds": 1016 } }, { "title": "published core / published plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2755, "clock": 1789394434909, "startedAt": 1789394433378, "rest": 1, "mode": 0, "time": 2.0510628, "transition": "transform 1s linear" } ], "milliseconds": 32 } }, { "title": "published core / published plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2689, "clock": 1789394438498, "startedAt": 1789394436982, "rest": 1, "mode": 0, "time": 1.9610003, "transition": "transform 1s linear" } ], "milliseconds": 1 } }, { "title": "published core / published plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2799, "clock": 1789394442190, "startedAt": 1789394440672, "rest": 1, "mode": 1, "time": 1.9715211, "transition": "" } ], "milliseconds": 0 } }, { "title": "published core / published plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "published", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2727, "clock": 1789394445914, "startedAt": 1789394444384, "rest": 1, "mode": 1, "time": 1.9859586, "transition": "" } ], "milliseconds": 0 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2758, "clock": 1789394449496, "startedAt": 1789394449495, "rest": 1, "mode": 0, "time": 2.0180628, "transition": "transform 1s linear" } ], "milliseconds": 1022 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1245, "clock": 1789394452679, "startedAt": 1789394452679, "rest": 1, "mode": 0, "time": 0.5315833, "transition": "transform 1s linear" } ], "milliseconds": 1027 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2808, "clock": 1789394457902, "startedAt": 1789394457902, "rest": 1, "mode": 1, "time": 2.0041669, "transition": "" } ], "milliseconds": 1008 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1362, "clock": 1789394461234, "startedAt": 1789394461234, "rest": 1, "mode": 1, "time": 0.51675, "transition": "" } ], "milliseconds": 1039 } }, { "title": "candidate core / published plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2692, "clock": 1789394435998, "startedAt": 1789394434467, "rest": 1, "mode": 0, "time": 1.9698753, "transition": "transform 1s linear" } ], "milliseconds": 1 } }, { "title": "candidate core / published plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2763, "clock": 1789394439678, "startedAt": 1789394438148, "rest": 1, "mode": 0, "time": 2.0398336, "transition": "transform 1s linear" } ], "milliseconds": 1 } }, { "title": "candidate core / published plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2760, "clock": 1789394443430, "startedAt": 1789394441903, "rest": 1, "mode": 1, "time": 1.9728961, "transition": "" } ], "milliseconds": 15 } }, { "title": "candidate core / published plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2856, "clock": 1789394447195, "startedAt": 1789394445656, "rest": 1, "mode": 1, "time": 2.0771877, "transition": "" } ], "milliseconds": 22 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2716, "clock": 1789394450836, "startedAt": 1789394450836, "rest": 1, "mode": 0, "time": 1.9487919, "transition": "transform 1s linear" } ], "milliseconds": 1011 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1295, "clock": 1789394454015, "startedAt": 1789394454015, "rest": 1, "mode": 0, "time": 0.508, "transition": "transform 1s linear" } ], "milliseconds": 1007 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2843, "clock": 1789394459346, "startedAt": 1789394459345, "rest": 1, "mode": 1, "time": 2.0774169, "transition": "" } ], "milliseconds": 1010 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1268, "clock": 1789394462565, "startedAt": 1789394462565, "rest": 1, "mode": 1, "time": 0.45725, "transition": "" } ], "milliseconds": 1023 } }, { "title": "published: native main-thread-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [ "first", "middle" ], "visible": [ { "id": "sentinel", "time": 1.97828, "wall": 2224 } ], "block": { "start": 820.4000000357628, "end": 1620.4000000357628, "before": 0.574163, "after": 0.574163 } } }, { "title": "published: native async-visibility-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.343189, "wall": 1586.199999988079 }, { "id": "sentinel", "time": 1.989891, "wall": 2231.600000023842 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.398505, "wall": 1647.8999999761581 }, { "id": "middle", "time": 1.398999, "wall": 1648.3999999761581 }, { "id": "sentinel", "time": 1.995921, "wall": 2246.699999988079 } ], "block": { "start": 844.6999999880791, "end": 1644.699999988079, "before": 0.593939, "after": 0.593939 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.329595, "wall": 1589.1000000238419 }, { "id": "middle", "time": 1.341154, "wall": 1600.6000000238419 }, { "id": "sentinel", "time": 1.975832, "wall": 2234.600000023842 } ], "block": null } }, { "title": "published: native main-thread-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.459028, "wall": 1752 }, { "id": "sentinel", "time": 2.042845, "wall": 2350 } ], "block": { "start": 946, "end": 1746, "before": 0.646898, "after": 0.646898 } } }, { "title": "published: native async-visibility-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.375426, "wall": 1711 }, { "id": "sentinel", "time": 2.037338, "wall": 2345 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 0.560575, "wall": 1556 }, { "id": "middle", "time": 1.207514, "wall": 1570 }, { "id": "sentinel", "time": 1.792499, "wall": 2155 } ], "block": { "start": 751, "end": 1551, "before": 0.399281, "after": 0.399281 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.383974, "wall": 1710 }, { "id": "middle", "time": 1.424321, "wall": 1723 }, { "id": "sentinel", "time": 2.037914, "wall": 2342 } ], "block": null } }, { "title": "published: native main-thread-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [ "first", "middle" ], "visible": [ { "id": "sentinel", "time": 1.8921461, "wall": 2960 } ], "block": { "start": 1563, "end": 2363, "before": 0.4955, "after": 1.2948543 } } }, { "title": "published: native async-visibility-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "published", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [ "middle" ], "visible": [ { "id": "first", "time": 1.3766877, "wall": 2387 }, { "id": "sentinel", "time": 2.0171461, "wall": 3027 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.2627918, "wall": 2261 }, { "id": "middle", "time": 1.264146, "wall": 2263 }, { "id": "sentinel", "time": 1.8714585, "wall": 2870 } ], "block": { "start": 1458, "end": 2258, "before": 0.45975, "after": 1.2591251 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "d52ad0fc2b33e1d17e00ea1fee77a143a6b5b4b955a2a2f0e4abe885add17be6" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.2296251, "wall": 2237 }, { "id": "middle", "time": 1.2309584, "wall": 2238 }, { "id": "sentinel", "time": 1.8862502, "wall": 2894 } ], "block": null } } ] }, { "file": "refactor/.cache/danmuku-mask-load-main-report/report.json", "sha256": "64a7eeb695a6f7ec692d32a97e2b7f0cf28daad76639883a6b0f84bac502d92b", "stats": { "startTime": "2026-09-14T14:02:55.892Z", "duration": 162430.24699999997, "expected": 39, "skipped": 0, "unexpected": 0, "flaky": 0 }, "terminal": { "scope": "source", "exitCode": 0, "signal": null, "args": [ "test", "--config=playwright.source.config.js", "test/browser/danmuku-mask-native.spec.js", "test/browser/danmuku-lifetime.spec.js", "test/browser/danmuku-timing-diagnostic.spec.js", "--grep", "candidate plugin|candidate: native", "--workers=2" ] }, "cases": [ { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2474, "clock": 1789394581711, "startedAt": 1789394581711, "rest": 1, "mode": 0, "time": 2.231078, "transition": "transform 1s linear" } ], "milliseconds": 1013.2999999523163 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 906.0999999642372, "clock": 1789394584012, "startedAt": 1789394584011, "rest": 1, "mode": 0, "time": 0.705054, "transition": "transform 1s linear" } ], "milliseconds": 1012.6000000238419 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2401.900000035763, "clock": 1789394588245, "startedAt": 1789394588244, "rest": 1, "mode": 1, "time": 2.205956, "transition": "" } ], "milliseconds": 1012 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 904.2999999523163, "clock": 1789394590462, "startedAt": 1789394590461, "rest": 1, "mode": 1, "time": 0.720509, "transition": "" } ], "milliseconds": 1010.3000000119209 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2518.2000000476837, "clock": 1789394581745, "startedAt": 1789394581745, "rest": 1, "mode": 0, "time": 2.233452, "transition": "transform 1s linear" } ], "milliseconds": 1011.6999999880791 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 919.3999999761581, "clock": 1789394584026, "startedAt": 1789394584026, "rest": 1, "mode": 0, "time": 0.703905, "transition": "transform 1s linear" } ], "milliseconds": 1012.8999999761581 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2449.599999964237, "clock": 1789394588295, "startedAt": 1789394588294, "rest": 1, "mode": 1, "time": 2.221731, "transition": "" } ], "milliseconds": 1011.2000000476837 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 914.3000000119209, "clock": 1789394590512, "startedAt": 1789394590511, "rest": 1, "mode": 1, "time": 0.72249, "transition": "" } ], "milliseconds": 1011.5999999642372 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 3114, "clock": 1789394634241, "startedAt": 1789394634241, "rest": 1, "mode": 0, "time": 1.987105, "transition": "transform 1s linear" } ], "milliseconds": 1010 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 915, "clock": 1789394637465, "startedAt": 1789394637465, "rest": 1, "mode": 0, "time": 0.440157, "transition": "transform 1s linear" } ], "milliseconds": 1015 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2543, "clock": 1789394642520, "startedAt": 1789394642518, "rest": 1, "mode": 1, "time": 2.015557, "transition": "" } ], "milliseconds": 1014 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 819, "clock": 1789394645103, "startedAt": 1789394645103, "rest": 1, "mode": 1, "time": 0.473211, "transition": "" } ], "milliseconds": 1016 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2878, "clock": 1789394649427, "startedAt": 1789394649427, "rest": 1, "mode": 0, "time": 2.000464, "transition": "transform 1s linear" } ], "milliseconds": 1011 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 789, "clock": 1789394651908, "startedAt": 1789394651908, "rest": 1, "mode": 0, "time": 0.473868, "transition": "transform 1s linear" } ], "milliseconds": 1016 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2531, "clock": 1789394656564, "startedAt": 1789394656563, "rest": 1, "mode": 1, "time": 2.243999, "transition": "" } ], "milliseconds": 1017 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 776, "clock": 1789394658880, "startedAt": 1789394658880, "rest": 1, "mode": 1, "time": 0.43513, "transition": "" } ], "milliseconds": 1004 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2745, "clock": 1789394688205, "startedAt": 1789394688204, "rest": 1, "mode": 0, "time": 1.9678961, "transition": "transform 1s linear" } ], "milliseconds": 1014 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1393, "clock": 1789394691543, "startedAt": 1789394691543, "rest": 1, "mode": 0, "time": 0.5358958, "transition": "transform 1s linear" } ], "milliseconds": 1005 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2769, "clock": 1789394696861, "startedAt": 1789394696860, "rest": 1, "mode": 1, "time": 1.9850211, "transition": "" } ], "milliseconds": 1028 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1267, "clock": 1789394700217, "startedAt": 1789394700216, "rest": 1, "mode": 1, "time": 0.4604166, "transition": "" } ], "milliseconds": 1011 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2825, "clock": 1789394691708, "startedAt": 1789394691707, "rest": 1, "mode": 0, "time": 2.0502503, "transition": "transform 1s linear" } ], "milliseconds": 1008 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1413, "clock": 1789394695330, "startedAt": 1789394695330, "rest": 1, "mode": 0, "time": 0.5041666, "transition": "transform 1s linear" } ], "milliseconds": 1038 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 3001, "clock": 1789394700985, "startedAt": 1789394700985, "rest": 1, "mode": 1, "time": 2.0896878, "transition": "" } ], "milliseconds": 1023 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1275, "clock": 1789394704195, "startedAt": 1789394704194, "rest": 1, "mode": 1, "time": 0.4685, "transition": "" } ], "milliseconds": 1040 } }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 23, "uniquePool": 23, "modelOutputs": 47, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 40, "median": 205.19999998807907, "p95": 257.0999999642372, "max": 258 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 23, "uniquePool": 23, "modelOutputs": 59, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 52, "median": 159.60000002384186, "p95": 183.69999998807907, "max": 203.80000001192093 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 54, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 47, "median": 209, "p95": 239.80000001192093, "max": 245.30000001192093 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 25, "uniquePool": 25, "modelOutputs": 96, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 102, "median": 85, "p95": 109, "max": 121 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 133, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 147, "median": 65, "p95": 83, "max": 95 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 135, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 151, "median": 65, "p95": 79, "max": 139 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 26, "uniquePool": 26, "modelOutputs": 44, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 41, "median": 228, "p95": 261, "max": 272 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 25, "uniquePool": 25, "modelOutputs": 41, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 39, "median": 218, "p95": 249, "max": 262 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 27, "pooled": 27, "uniquePool": 27, "modelOutputs": 47, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 45, "median": 205, "p95": 267, "max": 283 }, "errors": [] } ], "errors": [] }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.398051, "wall": 1708.9000000357628 }, { "id": "middle", "time": 1.403065, "wall": 1713.9000000357628 }, { "id": "sentinel", "time": 1.988426, "wall": 2298.600000023842 } ], "block": { "start": 897.5, "end": 1698.300000011921, "before": 0.587733, "after": 0.587733 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.40844, "wall": 1857.300000011921 }, { "id": "middle", "time": 1.420969, "wall": 1869.800000011921 }, { "id": "sentinel", "time": 2.054373, "wall": 2502.2000000476837 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.206997, "wall": 1549 }, { "id": "middle", "time": 1.206997, "wall": 1550 }, { "id": "sentinel", "time": 1.812523, "wall": 2161 } ], "block": { "start": 742, "end": 1542, "before": 0.395369, "after": 0.395369 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.37695, "wall": 1738 }, { "id": "middle", "time": 1.418613, "wall": 1755 }, { "id": "sentinel", "time": 2.041611, "wall": 2389 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.4087918, "wall": 2466 }, { "id": "middle", "time": 1.409771, "wall": 2467 }, { "id": "sentinel", "time": 1.9920836, "wall": 3049 } ], "block": { "start": 1662, "end": 2462, "before": 0.6052292, "after": 1.4047918 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.2285001, "wall": 2299 }, { "id": "middle", "time": 1.2298751, "wall": 2301 }, { "id": "sentinel", "time": 1.8693127, "wall": 2940 } ], "block": null } } ] }, { "file": "refactor/.cache/danmuku-mask-load-legacy-report/report.json", "sha256": "fb3914ae85ea01cf8c44419bd07becb0efb95292bd381bb1ceab16605d865143", "stats": { "startTime": "2026-09-14T14:06:16.413Z", "duration": 160025.805, "expected": 39, "skipped": 0, "unexpected": 0, "flaky": 0 }, "terminal": { "scope": "source", "exitCode": 0, "signal": null, "args": [ "test", "--config=playwright.source.config.js", "test/browser/danmuku-mask-native.spec.js", "test/browser/danmuku-lifetime.spec.js", "test/browser/danmuku-timing-diagnostic.spec.js", "--grep", "candidate plugin|candidate: native", "--workers=2" ] }, "cases": [ { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2430.5, "clock": 1789394781839, "startedAt": 1789394781838, "rest": 1, "mode": 0, "time": 2.221044, "transition": "transform 1s linear" } ], "milliseconds": 1010.5 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 857.5, "clock": 1789394784006, "startedAt": 1789394784006, "rest": 1, "mode": 0, "time": 0.692651, "transition": "transform 1s linear" } ], "milliseconds": 1008.8000000119209 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2381.899999976158, "clock": 1789394788188, "startedAt": 1789394788187, "rest": 1, "mode": 1, "time": 2.206405, "transition": "" } ], "milliseconds": 1010.8000000119209 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 838.6000000238419, "clock": 1789394790302, "startedAt": 1789394790302, "rest": 1, "mode": 1, "time": 0.689288, "transition": "" } ], "milliseconds": 1013.8999999761581 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2429.100000023842, "clock": 1789394781839, "startedAt": 1789394781838, "rest": 1, "mode": 0, "time": 2.206245, "transition": "transform 1s linear" } ], "milliseconds": 1010.3999999761581 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 889, "clock": 1789394784038, "startedAt": 1789394784038, "rest": 1, "mode": 0, "time": 0.707267, "transition": "transform 1s linear" } ], "milliseconds": 1010.8000000119209 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2371.899999976158, "clock": 1789394788188, "startedAt": 1789394788187, "rest": 1, "mode": 1, "time": 2.205698, "transition": "" } ], "milliseconds": 1010.3999999761581 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 870.8000000119209, "clock": 1789394790334, "startedAt": 1789394790334, "rest": 1, "mode": 1, "time": 0.701355, "transition": "" } ], "milliseconds": 1013.4000000357628 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 3018, "clock": 1789394829880, "startedAt": 1789394829879, "rest": 1, "mode": 0, "time": 2.095038, "transition": "transform 1s linear" } ], "milliseconds": 1007 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1027, "clock": 1789394833190, "startedAt": 1789394833190, "rest": 1, "mode": 0, "time": 0.469238, "transition": "transform 1s linear" } ], "milliseconds": 1004 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2587, "clock": 1789394838347, "startedAt": 1789394838345, "rest": 1, "mode": 1, "time": 2.020655, "transition": "" } ], "milliseconds": 1014 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1084, "clock": 1789394841164, "startedAt": 1789394841163, "rest": 1, "mode": 1, "time": 0.709648, "transition": "" } ], "milliseconds": 1015 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2937, "clock": 1789394845641, "startedAt": 1789394845641, "rest": 1, "mode": 0, "time": 2.211111, "transition": "transform 1s linear" } ], "milliseconds": 1009 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1061, "clock": 1789394848369, "startedAt": 1789394848369, "rest": 1, "mode": 0, "time": 0.717075, "transition": "transform 1s linear" } ], "milliseconds": 1015 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2550, "clock": 1789394852892, "startedAt": 1789394852892, "rest": 1, "mode": 1, "time": 2.242626, "transition": "" } ], "milliseconds": 1013 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 964, "clock": 1789394855291, "startedAt": 1789394855291, "rest": 1, "mode": 1, "time": 0.716757, "transition": "" } ], "milliseconds": 1016 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2754, "clock": 1789394884659, "startedAt": 1789394884659, "rest": 1, "mode": 0, "time": 2.0220836, "transition": "transform 1s linear" } ], "milliseconds": 1029 } }, { "title": "published core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1268, "clock": 1789394887941, "startedAt": 1789394887941, "rest": 1, "mode": 0, "time": 0.48425, "transition": "transform 1s linear" } ], "milliseconds": 1026 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2781, "clock": 1789394893292, "startedAt": 1789394893291, "rest": 1, "mode": 1, "time": 1.9749794, "transition": "" } ], "milliseconds": 1042 } }, { "title": "published core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1330, "clock": 1789394896608, "startedAt": 1789394896607, "rest": 1, "mode": 1, "time": 0.5697083, "transition": "" } ], "milliseconds": 1001 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2955, "clock": 1789394887585, "startedAt": 1789394887585, "rest": 1, "mode": 0, "time": 2.0676877, "transition": "transform 1s linear" } ], "milliseconds": 1029 } }, { "title": "candidate core / candidate plugin / mode 0 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 0, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1382, "clock": 1789394890957, "startedAt": 1789394890957, "rest": 1, "mode": 0, "time": 0.5397916, "transition": "transform 1s linear" } ], "milliseconds": 1035 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap true: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": true, "workerPlacement": true, "posts": 1, "replies": 1, "visible": [ { "wall": 2717, "clock": 1789394895947, "startedAt": 1789394895946, "rest": 1, "mode": 1, "time": 1.9688753, "transition": "" } ], "milliseconds": 1009 } }, { "title": "candidate core / candidate plugin / mode 1 / antiOverlap false: placement preserves visible lifetime", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "lifetime": { "mode": 1, "antiOverlap": false, "workerPlacement": false, "posts": 0, "replies": 0, "visible": [ { "wall": 1278, "clock": 1789394899242, "startedAt": 1789394899241, "rest": 1, "mode": 1, "time": 0.5242083, "transition": "" } ], "milliseconds": 1058 } }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 58, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 51, "median": 172.4000000357628, "p95": 193.4000000357628, "max": 200.89999997615814 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 23, "pooled": 23, "uniquePool": 23, "modelOutputs": 57, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 50, "median": 181.39999997615814, "p95": 203.60000002384186, "max": 209.19999998807907 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 22, "pooled": 22, "uniquePool": 22, "modelOutputs": 57, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 50, "median": 173.60000002384186, "p95": 195.89999997615814, "max": 220.10000002384186 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 136, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 146, "median": 62, "p95": 80, "max": 112 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 134, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 146, "median": 64, "p95": 88, "max": 122 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 24, "pooled": 24, "uniquePool": 24, "modelOutputs": 123, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 136, "median": 69, "p95": 94, "max": 123 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with candidate core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "candidate", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 26, "pooled": 26, "uniquePool": 26, "modelOutputs": 45, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 44, "median": 214, "p95": 262, "max": 307 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 27, "pooled": 27, "uniquePool": 27, "modelOutputs": 44, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 42, "median": 218, "p95": 268, "max": 290 }, "errors": [] } ], "errors": [] }, { "title": "Mask actual model and Danmuku share the layer through pause, seek and web fullscreen with published-5.3.1-beta.1 core / candidate plugin", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "core": "published-5.3.1-beta.1", "implementation": "candidate", "coreInput": { "source": { "kind": "npm-release", "version": "5.3.1-beta.1", "integrity": "sha512-btjbQwXPl86U/Apja0WrCUF+AXLPacI60eUGAeJTx3EMuUKrVaOFrmWrIeeyMUi5aIzMSXM++tQjlSMJVnmhuQ==", "member": "package/dist/artplayer.js" }, "sha256": "e91e64228c57bb97300c709789d5557ab07b133cab307267b4a2a4df3083c861", "bytes": 159458 }, "danmuku": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.legacy.js", "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "mask": { "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.legacy.js", "sha256": "62d61dcedd3e90fa480589c2f1e3168c97635232c98ffe8c25c7918a2f3c66db" }, "loads": [ { "requiredComplete": true, "scheduled": 120, "visible": 120, "uniqueVisible": 120, "notVisible": [], "loaded": 120, "waiting": 120, "referenced": 0, "nodes": 25, "pooled": 25, "uniquePool": 25, "modelOutputs": 45, "buffered": { "pending": [], "reserved": [] }, "frameGapsMs": { "count": 42, "median": 221, "p95": 275, "max": 296 }, "errors": [] } ], "errors": [] }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.395282, "wall": 1674.699999988079 }, { "id": "middle", "time": 1.395948, "wall": 1675.300000011921 }, { "id": "sentinel", "time": 1.993299, "wall": 2272.199999988079 } ], "block": { "start": 871.3999999761581, "end": 1671.3999999761581, "before": 0.592602, "after": 0.592602 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "chromium", "status": "passed", "browser": "153.0.8010.12", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.343175, "wall": 1640.2000000476837 }, { "id": "middle", "time": 1.355748, "wall": 1652.800000011921 }, { "id": "sentinel", "time": 1.990327, "wall": 2287.7000000476837 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 0.661031, "wall": 1543 }, { "id": "middle", "time": 1.231333, "wall": 1560 }, { "id": "sentinel", "time": 1.799132, "wall": 2126 } ], "block": { "start": 740, "end": 1540, "before": 0.417298, "after": 0.417298 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "firefox", "status": "passed", "browser": "155.0", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.377991, "wall": 1761 }, { "id": "middle", "time": 1.420325, "wall": 1778 }, { "id": "sentinel", "time": 2.042912, "wall": 2395 } ], "block": null } }, { "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "timing": { "scenario": "main-thread-gap", "missing": [], "visible": [ { "id": "first", "time": 1.3846252, "wall": 2552 }, { "id": "middle", "time": 1.3857918, "wall": 2553 }, { "id": "sentinel", "time": 1.9889377, "wall": 3156 } ], "block": { "start": 1749, "end": 2549, "before": 0.5815834, "after": 1.3813335 } } }, { "title": "candidate: native async-visibility-gap records actual frame and eligibility gaps", "engine": "webkit", "status": "passed", "browser": "26.6", "platform": "win32", "implementation": "candidate", "coreInput": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "5139cabd5abf9b92684ee2dcdaa620c4db7f67c0cb1aa3f654435d739468bf9d", "bytes": 378931 }, "danmuku": { "sha256": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed" }, "loads": [], "errors": [], "timing": { "scenario": "async-visibility-gap", "missing": [], "visible": [ { "id": "first", "time": 1.4349377, "wall": 2504 }, { "id": "middle", "time": 1.4794168, "wall": 2549 }, { "id": "sentinel", "time": 2.1082711, "wall": 3177 } ], "block": null } } ] } ], "nodeTests": [ { "format": "source", "tests": 276, "file": "refactor/.cache/danmuku-mask-load-node-source.log", "sha256": "2d088dd07707cf559e335774578d4b50851b9b4aabe486c66eb6e7a46841ce27" }, { "format": "main", "tests": 276, "file": "refactor/.cache/danmuku-mask-load-node-main.log", "sha256": "83400a45dec6d98d01a6e43b849befd3885f159b0584f16e36dfe4d5f4f53f77" }, { "format": "legacy", "tests": 276, "file": "refactor/.cache/danmuku-mask-load-node-legacy.log", "sha256": "881a6a763ab1b9922185ed7a593ad7a0a4921576916ec36d8df193ffc596bb04" } ], "cpuProfile": { "file": "refactor/.cache/danmuku-mask-load-profile.cpuprofile", "sha256": "d7a74fefcecb8bf9a95272863bd0853f7dea76622a6a84a5810913fe43789bf2", "sampledMilliseconds": 9913.891000000014, "topSelfTime": [ { "name": "createImageBitmap", "line": 0, "milliseconds": 4769.288000000012 }, { "name": "", "line": 27223, "milliseconds": 1006.7760000000002 }, { "name": "createImageBitmap", "line": 0, "milliseconds": 804.0009999999997 }, { "name": "drawImage", "line": 0, "milliseconds": 659.11 }, { "name": "texImage2D", "line": 0, "milliseconds": 545.636 }, { "name": "(program)", "line": 0, "milliseconds": 425.4519999999998 }, { "name": "toDataURL", "line": 0, "milliseconds": 400.7989999999999 }, { "name": "drawImage", "line": 0, "milliseconds": 234.46600000000012 }, { "name": "getImageData", "line": 0, "milliseconds": 126.55599999999997 }, { "name": "getImageData", "line": 0, "milliseconds": 122.685 }, { "name": "u", "line": 26017, "milliseconds": 110.24799999999999 }, { "name": "makeWhiteTransparent", "line": 49092, "milliseconds": 89.25899999999994 }, { "name": "drawImage", "line": 0, "milliseconds": 80.38799999999999 }, { "name": "", "line": 26036, "milliseconds": 71.45099999999998 }, { "name": "(garbage collector)", "line": 0, "milliseconds": 64.257 }, { "name": "renderMask", "line": 49120, "milliseconds": 39.423 }, { "name": "putImageData", "line": 0, "milliseconds": 31.477 }, { "name": "(idle)", "line": 0, "milliseconds": 28.090000000000003 }, { "name": "putImageData", "line": 0, "milliseconds": 22.038999999999998 }, { "name": "setItemState", "line": 359, "milliseconds": 20.462 } ] }, "package": { "file": "refactor/.cache/danmuku-package-types-2CNqJb/report.json", "sha256": "42dfd346e7dbca962b0013eb8997bf1d0c524fc703c9f7ec4ff2cf66014f5a55", "packages": [ { "name": "artplayer", "archive": "D:\\github\\ArtPlayer\\refactor\\.cache\\danmuku-package-types-2CNqJb\\artplayer.tgz", "sha256": "d4a0cc5dcbe015e254b3bce64d505ee4e010792ab70414bcf8d0139d7c413b75", "files": { "package/ARCHITECTURE.md": "dad3ccb55f25c63e0eb3b8d5f25b21db58431c48f84a2d9eb046b2492ac6cedc", "package/README.md": "1e185e65f67fc2081b4182bbc6c4558ea05b6e3fa3acc5dd0c3ac7df1d542b09", "package/THIRD_PARTY_NOTICES": "b77b5b46b79fa0cda850b0781f78c3b1112c4ed9672fa291956fe8eff53098e7", "package/dist/artplayer.js": "9148a369636f814b03e6a1ed2a7db222a31b159f93e8a94d52c5a9dde2dfe6a6", "package/dist/artplayer.legacy.js": "9bde35a6d64234cae15300e37b03204c075ef26126058f48bb3bf97d6e002449", "package/dist/artplayer.mjs": "265bca0ad3f8373acc84333c19cdded0cbd6b309ede9e51c0bec35685c77eebd", "package/dist/i18n/ar.js": "bd0bef65f4f7dc3f8ed562904cc6fa9071ff4537fb64c1e0fc3d554141bcd3cb", "package/dist/i18n/ar.mjs": "59310b7bbeea83bbb7d73aadc5ca82a6ec269c3530d19aa741c94d5c64fc5da8", "package/dist/i18n/cs.js": "6e2c93daba24c2e48dfa206bcf4f2f2a8a02713b856e404d2e4e4ecd8309ca2f", "package/dist/i18n/cs.mjs": "c73fba18797d62d7b2581e67fe7340c35fe84510b2250ff1ecaad253d9cabbac", "package/dist/i18n/es.js": "f4133ac6ea06b69a474b33c4a1809a4066e2376bb9464a3f3aa8330f01f1944a", "package/dist/i18n/es.mjs": "1390bca3def2be115e811de337df0a0c3f63998e51359f283023246245c552a7", "package/dist/i18n/fa.js": "8d3ef2e0f0cc0ea480c2167b6fcb87cdf444e90759c3519e8daa139fec576da4", "package/dist/i18n/fa.mjs": "ab441e8a2d79043b29ceca87c783bf06874bb9d3a149c1604bc167eb481be2a9", "package/dist/i18n/fr.js": "89dc4194a6c0a962b9ce756b52c90401c1acf3b159f265f3bc0d7d6d7d987f03", "package/dist/i18n/fr.mjs": "99491878430fb7b6f2b7bf93da0588a831704b412e01116f23ba1d9d45863816", "package/dist/i18n/id.js": "4c6dc86db741bcc2857df55a9d037e82e91d375fa6fd22e0562809ff621b92db", "package/dist/i18n/id.mjs": "383e5803a6b6686c6de4e867770241de75b6f517dcca2bdedc6f2004bf6e1fb3", "package/dist/i18n/pl.js": "3a38828b1c3d719c0aca9906cf6a46c23555a8411f8d57645f0e0ce8147dc664", "package/dist/i18n/pl.mjs": "079ed96732979035297af387c64a7b99519b5a43107fb86735a654ea4fe8e9b5", "package/dist/i18n/ru.js": "62fac9dddb302eb16382e6e9301fc4b2c66f5f69d4a358a26b67026a5fa4e787", "package/dist/i18n/ru.mjs": "a893aeaee1d79409db72e324fbff200e3864f33ed168f04d91d25f7cf2efa765", "package/dist/i18n/tr.js": "1492c36b069a7d73db4f3913bd18085faff7afd8b3c158138fe264e31600e38c", "package/dist/i18n/tr.mjs": "a90478cac078836b76c2a98261907610fee07f3e4b28671b8e7dbf533778f918", "package/dist/i18n/vi.js": "c7216ef7e608a79b7e2c479a07bf310d4ab79577947ac4a62d676faaced0e9cf", "package/dist/i18n/vi.mjs": "66270fdfa0b5da396322d1769169b7df37a030ba15ac18eb30bd87b3af8074ec", "package/dist/i18n/zh-tw.js": "11c49857d6d40a5ffd224ffa59c9026e71621b345f63c5a086326db80a22371a", "package/dist/i18n/zh-tw.mjs": "a38e630cb96de96c15d824686aec750e25cf6c8ada01285a292442a81566314f", "package/package.json": "82e92699e7c29847f32ac6767ece0401290e7d7a12854722bdbcfd09b90b7954", "package/types/COMPATIBILITY.md": "a7da9e102a116104b513df4f7451247b7759bc502d3375f30bd5b14a541826e0", "package/types/README.md": "1bd9868e773610e6312fd48a1c5aa20772d29df0af40c3db66e75b7ab4a1aee0", "package/types/artplayer.d.cts": "3685065e4263abcfd9d953176e461d5b3eb990b0363b54689a7f55deba770fef", "package/types/artplayer.d.mts": "b664fec51ee5c5381f2ceab25d99d52aee56feab04a2ee7b4ea5b2145ea5fa0e", "package/types/artplayer.d.ts": "5d0162adf7ac6d0f2bb9b5cfe361f28657c4d9c540cadbf36eba3cc954ce50f8", "package/types/component.d.ts": "ae5bc1ddeaa1ee1ebbc62573e32423993727079205c64751a5a314170e588a32", "package/types/config.d.ts": "36f9a84cd436f17701a0d11d3417fc1fe0414e0c52c80083b94a85dfc329e37e", "package/types/cssVar.d.ts": "93217860fff2ebf750f606d95ddd22220a58837119e63bdf2f5f78fd7488458b", "package/types/emitter.d.ts": "7e1f9a2a8ce65feb95734f1ed52d1334e57aa388bbef2a43d8bc53a9b6f6623c", "package/types/events.d.ts": "f83624c9268a284477e8bd793fe3562a2363b72f2a44d5c64fe8c6a6cede8830", "package/types/i18n.d.ts": "f4f2f05bdfda73c74fef34767cb18ee8e11b743120b1c4598e9714d7846018e5", "package/types/icons.d.ts": "326a67ba7bdcf52862c5b2a269e540140aff98d05c7b96196485a77f84fe5960", "package/types/language.d.cts": "f7928e108cf7b7814c2d75cb0a525333e95873fca6cd6d89a740450656b9c1cd", "package/types/language.d.mts": "6619a26d604b7cccbe2f596243d87ae37cfaae33b8b52874ec071d9787446f9e", "package/types/legacy/language.d.ts": "c7abda4d506fd933c350e9030290bf9e64347a921d683a66115da1995ebe0a81", "package/types/option.d.ts": "ccf2c8ddc537dc65c9682d39f044726e23bff18f476b622512d7e6a4b949b5f6", "package/types/playback.d.ts": "58705c273df6e76a77a6575e769a9ec6c013785c25080f2551aa22415788d870", "package/types/player.d.ts": "92b00211b70ac71336e495899df972a0519dd138111846044fe4e0f967966177", "package/types/plugin.d.ts": "fc3594a41c51d8248713e33c486fb1f6a518ac5c7ce31be6988a6cd8d052c5f3", "package/types/quality.d.ts": "1ac1a48b4f74ff9ba1ce60443e1463d50d1c6a2e5d87d63dc7d2a8eb7f4c2c34", "package/types/runtime.d.cts": "7ee988dfea9a0ac71a34a656f96f7b74e78aa92547cfdfab7ff7e1139a77d4a3", "package/types/runtime.d.mts": "dcb85f59a8b7714918ced0c1d18c2bb24e8b80b56d8c594e019dcbdb5ad88b08", "package/types/runtime.d.ts": "9c6ccd39a1be293f17ae46dae8ea077053e12635ee79d73a5e3b3a559230fcff", "package/types/runtime/component.d.ts": "1b4c0cee44568649e80140fe778febfcae88af0ac85515f1cbeff78ab0c6d14f", "package/types/runtime/construction.d.ts": "7a87bedf6f7ffff0c46078aa5f1551e0077d35574e286516121f5f935e2d9ce4", "package/types/runtime/events.d.ts": "a1e2f9d387475453eaf95c2a5ee79e228636c0bb859bda3fcc46da46574a0c31", "package/types/runtime/media.d.ts": "8fc89401be7fe25542c169d07dd5675f10916ed20be8493e19695966cf3864a8", "package/types/runtime/option.d.ts": "6e334e1a76fdcc40b4665c02523bd31c3994d96078fadeb40e23422aa54c1a1d", "package/types/runtime/player.d.ts": "8ac6383502e4872e83659838844856903031a81a0adc8e8535feb78453aa042c", "package/types/runtime/plugin.d.ts": "8528f2b17843149f42f9cc16d6fd70baa238c9dc2c329b67d2c38096799c69bd", "package/types/runtime/services.d.ts": "604c9f8e4b6c0da818f96576bf9f4b0e96085a9003927b2f7ba30027b1ba237e", "package/types/runtime/setting.d.ts": "349c1fcb205ad312916bd3ee55e6bf241ea8a569fb2ab6c80822e69fc518f7d7", "package/types/runtime/subtitle.d.ts": "269ff84678d327b3a9dc2f5bc6cc0d731d1e081b85422e474621d5d792efb153", "package/types/runtime/template.d.ts": "7a62f968a38b4bf9109a4439557c02074eb1d62ba1f6e21a8eb194e91f0badfe", "package/types/runtime/utils.d.ts": "6bf731705d86853e066dbaf3b8d4003b6548423fe615b7412b722bd0d3a6e48b", "package/types/setting.d.ts": "08305a75dff96f06490430e099338b463df471b550c1d0dac3abc8995b39eb09", "package/types/subtitle.d.ts": "b18314e2d64efdb6045830b6e12f615ae2ed585416130e562329ad3ea337f6ce", "package/types/template.d.ts": "4792bc0c2cbcb7966e4375118bd34b326166e0831862e94ace4cf6b1bbe6a8c8", "package/types/utils.d.ts": "fca0d3d814df94a25f9eb067c86fa0cf272e2791bac793b91229d57680797712" } }, { "name": "artplayer-plugin-danmuku", "archive": "D:\\github\\ArtPlayer\\refactor\\.cache\\danmuku-package-types-2CNqJb\\artplayer-plugin-danmuku.tgz", "sha256": "ebcc8b7890b8c0d4febfe88af0e494f5820dcb1e97e8a6e5143d8b540c168c27", "files": { "package/ARCHITECTURE.md": "47f2542047063f8232001ec875cb8b66a401b077eec3fdd1db286468fbe63014", "package/README.md": "d393b6862951242f258a579ea539e4a408599decf49925265c43dbee3bae3f37", "package/dist/artplayer-plugin-danmuku.js": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36", "package/dist/artplayer-plugin-danmuku.legacy.js": "3a386bc28ad6ae47b60d74ceae8220fd19173ed107c28c635686003825fc49ed", "package/dist/artplayer-plugin-danmuku.mjs": "c53e46d853a00fc63589ddf712d83a8a60a35666af1a33c95a16423944152c63", "package/package.json": "563f92ac14666c7600b0af623bd77d7ff71f1faebb851a1d780207ac8952f0a5", "package/types/artplayer-plugin-danmuku.d.ts": "3162fc3db91bff06f0709fa0e6ca78de05053e25436ca215846a6267d4680e53", "package/types/runtime-shared.d.ts": "52556c8228c0947fb74a4335a204521378099a6a855d83e48e4f5aec1e34944d", "package/types/runtime.d.cts": "9b5073ca622762c367e79161968f6c31e1f3f73b412d3e049a0d845cdac2c832", "package/types/runtime.d.mts": "564a6ed25fbb363603b825e84ae0298cfcc69c3d007fd56c616dbd20cec4a0a9", "package/types/runtime.d.ts": "9b5073ca622762c367e79161968f6c31e1f3f73b412d3e049a0d845cdac2c832" } } ], "matrix": [ { "plugin": "published-5.3.0", "compiler": "5.9.3", "mode": "node10-commonjs", "direct": [], "namespace": [], "root": null, "runtime": null, "commonjs": [] }, { "plugin": "published-5.3.0", "compiler": "4.3.5", "mode": "node10-commonjs", "direct": [], "namespace": [], "root": null, "runtime": null, "commonjs": [] }, { "plugin": "published-5.3.0", "compiler": "5.9.3", "mode": "nodenext-cjs", "direct": [], "namespace": [], "root": null, "runtime": null, "commonjs": [] }, { "plugin": "published-5.3.0", "compiler": "5.9.3", "mode": "nodenext-esm", "direct": [ { "code": 2344, "line": 8, "message": "Type 'false' does not satisfy the constraint 'true'." }, { "code": 2344, "line": 8, "message": "Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' does not satisfy the constraint '(...args: any) => any'.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' provides no match for the signature '(...args: any): any'." }, { "code": 2344, "line": 9, "message": "Type 'false' does not satisfy the constraint 'true'." }, { "code": 2344, "line": 9, "message": "Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' does not satisfy the constraint '(...args: any) => any'.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' provides no match for the signature '(...args: any): any'." }, { "code": 2322, "line": 18, "message": "Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' is not assignable to type 'Factory'.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' provides no match for the signature '(option: Option): (art: Artplayer) => Result'." }, { "code": 2322, "line": 19, "message": "Type 'Factory' is not assignable to type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")'." }, { "code": 2349, "line": 21, "message": "This expression is not callable.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' has no call signatures." } ], "namespace": [], "root": null, "runtime": null, "commonjs": [] }, { "plugin": "published-5.3.0", "compiler": "5.9.3", "mode": "bundler-esm", "direct": [], "namespace": [], "root": null, "runtime": null, "commonjs": [] }, { "plugin": "candidate", "compiler": "5.9.3", "mode": "node10-commonjs", "direct": [], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 14, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 15, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 16, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 17, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2353, "line": 84, "message": "Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type '[string | number, string | number]'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] }, { "plugin": "candidate", "compiler": "4.3.5", "mode": "node10-commonjs", "direct": [], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 14, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 15, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 16, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 17, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2322, "line": 84, "message": "Type '{ time: number; value: number; }' is not assignable to type 'Point'.\n Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type 'Margin | undefined'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] }, { "plugin": "candidate", "compiler": "5.9.3", "mode": "nodenext-cjs", "direct": [], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 14, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 15, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 16, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 17, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2353, "line": 84, "message": "Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type '[string | number, string | number]'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] }, { "plugin": "candidate", "compiler": "5.9.3", "mode": "nodenext-esm", "direct": [ { "code": 2344, "line": 8, "message": "Type 'false' does not satisfy the constraint 'true'." }, { "code": 2344, "line": 8, "message": "Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' does not satisfy the constraint '(...args: any) => any'.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' provides no match for the signature '(...args: any): any'." }, { "code": 2344, "line": 9, "message": "Type 'false' does not satisfy the constraint 'true'." }, { "code": 2344, "line": 9, "message": "Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' does not satisfy the constraint '(...args: any) => any'.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' provides no match for the signature '(...args: any): any'." }, { "code": 2322, "line": 18, "message": "Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' is not assignable to type 'Factory'.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' provides no match for the signature '(option: Option): (art: Artplayer) => Result'." }, { "code": 2322, "line": 19, "message": "Type 'Factory' is not assignable to type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")'." }, { "code": 2349, "line": 21, "message": "This expression is not callable.\n Type 'typeof import(\"/node_modules/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku\")' has no call signatures." } ], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 16, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 17, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 18, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 19, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2353, "line": 84, "message": "Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type '[string | number, string | number]'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] }, { "plugin": "candidate", "compiler": "5.9.3", "mode": "bundler-esm", "direct": [], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 14, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 15, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 16, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 17, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2353, "line": 84, "message": "Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type '[string | number, string | number]'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] }, { "plugin": "candidate", "compiler": "5.9.3", "mode": "node10-commonjs-no-interop", "direct": [], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 14, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 15, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 16, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 17, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2353, "line": 84, "message": "Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type '[string | number, string | number]'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] }, { "plugin": "candidate", "compiler": "4.3.5", "mode": "node10-commonjs-no-interop", "direct": [], "namespace": [], "root": { "diagnostics": [], "invalid": [ { "code": 2554, "line": 14, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 15, "message": "Argument of type '{}' is not assignable to parameter of type 'Option'.\n Property 'danmuku' is missing in type '{}' but required in type 'Option'." }, { "code": 2322, "line": 16, "message": "Type '[number, number]' is not assignable to type '{ time: number; value: number; }'." }, { "code": 2739, "line": 17, "message": "Type 'Result' is missing the following properties from type 'Promise': then, catch, finally, [Symbol.toStringTag]" } ], "negativeStatements": 4 }, "runtime": { "diagnostics": [], "invalid": [ { "code": 2322, "line": 32, "message": "Type 'unknown' is not assignable to type 'string'." }, { "code": 2339, "line": 77, "message": "Property 'name' does not exist on type 'Owner'." }, { "code": 2339, "line": 78, "message": "Property 'mount' does not exist on type 'Owner'." }, { "code": 2554, "line": 81, "message": "Expected 1 arguments, but got 0." }, { "code": 2345, "line": 82, "message": "Argument of type 'undefined' is not assignable to parameter of type 'Partial'." }, { "code": 2345, "line": 83, "message": "Argument of type '{ id: string; }' is not assignable to parameter of type 'Danmu'.\n Property 'text' is missing in type '{ id: string; }' but required in type 'Danmu'." }, { "code": 2322, "line": 84, "message": "Type '{ time: number; value: number; }' is not assignable to type 'Point'.\n Object literal may only specify known properties, and 'time' does not exist in type '[number, number]'." }, { "code": 2322, "line": 85, "message": "Type 'number' is not assignable to type 'Margin | undefined'." }, { "code": 2554, "line": 86, "message": "Expected 1 arguments, but got 0." }, { "code": 2540, "line": 87, "message": "Cannot assign to 'option' because it is a read-only property." }, { "code": 2540, "line": 88, "message": "Cannot assign to 'isHide' because it is a read-only property." }, { "code": 2540, "line": 89, "message": "Cannot assign to 'isStop' because it is a read-only property." }, { "code": 2339, "line": 90, "message": "Property 'hide' does not exist on type 'Promise'." }, { "code": 2339, "line": 91, "message": "Property 'default' does not exist on type 'RuntimeFactory'." } ], "negativeStatements": 14 }, "commonjs": [] } ] }, "invalidInvocation": { "file": "refactor/.cache/danmuku-mask-load-node-esm.log", "sha256": "c8d7df341e492895113015863fd58cd76f0d353f3b66541f4ad7000f917d4f94", "tests": 271, "passed": 146, "failed": 125, "reason": "The synchronous controlled VM helper accepts main/legacy scripts; feeding it .mjs bytes produces Unexpected token export before plugin execution. Actual ESM import is checked by the isolated package consumer. This failed invocation is not ESM behavioral validation." }, "limitations": [ "Published plugin observations are not candidate complete-delivery acceptance.", "WebKit native Document PiP API absence is not playback evidence.", "Profiling uses controlled CDP sampling; formal load acceptance runs without it.", "Bounded 20 rows/s loads are not unlimited throughput, long soak, device, remote CI or complete release acceptance." ] }