Files
ArtPlayer/refactor/baselines/danmuku-browser-validation.json
T

6940 lines
227 KiB
JSON

{
"schemaVersion": 1,
"task": "PKG-DANMUKU-02",
"status": "done",
"capturedAt": "2026-09-13T10:02:24.536Z",
"frozenSourceCommit": "b0cfbfe3a09a84a295a257e45e4577847588d1cb",
"controlled": {
"file": "refactor/baselines/danmuku-failures-validation.json",
"sha256": "6558273bbb57ed8d307d566be5ecd6806cd3eb03a597526e9e242fd67c73f123",
"tests": 42,
"parentReview": {
"file": "refactor/.cache/danmuku02-parent-controlled.log",
"sha256": "0ab4991d032e4160a5ff6fd388c170d877368a1c3283e58ce0511dbe273fa405"
}
},
"browsers": [
{
"file": "refactor/.cache/danmuku02-browser-three-final/report.json",
"sha256": "c0d1056af6b6dc382af4c6c1738ed5551db8f1b8de55028109051ccb23866e3c",
"workers": 3,
"expected": 48,
"unexpected": 0,
"skipped": 0,
"versions": [
"chromium: 153.0.8010.12",
"firefox: 155.0",
"webkit: 26.6"
],
"observations": [
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.989479,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.942453,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 601.3364868164062,
"next": 601.3364868164062,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.632016,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.9111,
"rate": 1,
"player": {
"x": 8,
"y": 295,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.955448,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.915711,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 602.8008422851562,
"next": 602.8008422851562,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.597092,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.91682,
"rate": 1,
"player": {
"x": 8,
"y": 295,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.952409,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.930654,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 602.789306640625,
"next": 602.789306640625,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.601184,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.896709,
"rate": 1,
"player": {
"x": 8,
"y": 295,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.965926,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.93251,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 604.2509765625,
"next": 604.2509765625,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.602008,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.89796,
"rate": 1,
"player": {
"x": 8,
"y": 295,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "chromium",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.958332,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.957391,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 602.7999877929688,
"next": 602.7999877929688,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.657818,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.901681,
"rate": 1,
"player": {
"x": 8,
"y": 294,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.958332,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.958332,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 643.63330078125,
"next": 643.63330078125,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.641169,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.938596,
"rate": 1,
"player": {
"x": 8,
"y": 294,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.958332,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.958332,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 602.7999877929688,
"next": 602.7999877929688,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.636716,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.899656,
"rate": 1,
"player": {
"x": 8,
"y": 294,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.990909,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0.961763,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 599.88330078125,
"next": 599.88330078125,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 3.761555,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.912036,
"rate": 1,
"player": {
"x": 8,
"y": 294,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "firefox",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.5901241,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "published / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 9,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 1.2305143,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "published / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 618.5125122070312,
"next": 618.5125122070312,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 4.7285098,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "published / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 1.0015741,
"rate": 1,
"player": {
"x": 8,
"y": 292,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "published / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 1.2708066,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 1.3726192,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 626.0374755859375,
"next": 626.0374755859375,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 4.4256368,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "published",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.5772691,
"rate": 1,
"player": {
"x": 8,
"y": 292,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "published / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.0",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 1.1714412,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 6,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 1.4937955,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 616.0625,
"next": 616.0625,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 4.365894,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.4679923,
"rate": 1,
"player": {
"x": 8,
"y": 292,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "candidate / Danmuku 5.3.0 main: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "modes",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": true,
"time": 0.6450449,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 5,
"visibleNodeCount": 4
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 4,
"stop": 1,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "density",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-dense-tracks",
"value": [
{
"id": "dense-0",
"mode": "1",
"state": "stop",
"text": "TRACK 0",
"x": 285,
"y": 10,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-1",
"mode": "1",
"state": "stop",
"text": "TRACK 1",
"x": 285,
"y": 33,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-2",
"mode": "1",
"state": "stop",
"text": "TRACK 2",
"x": 285,
"y": 56,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-3",
"mode": "1",
"state": "stop",
"text": "TRACK 3",
"x": 285,
"y": 79,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-4",
"mode": "1",
"state": "stop",
"text": "TRACK 4",
"x": 285,
"y": 102,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
},
{
"id": "dense-5",
"mode": "1",
"state": "stop",
"text": "TRACK 5",
"x": 285,
"y": 125,
"width": 70,
"height": 22.5,
"visibility": "visible",
"display": "block",
"transition": "",
"opacity": "1"
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 1.3254409,
"rate": 1,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 7,
"visibleNodeCount": 6
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: six simultaneous fixed comments preserve usable track geometry and input order",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 7,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 2,
"config": 1,
"loaded": 2,
"start": 2,
"visible": 6,
"stop": 2,
"destroy": 1
},
"gateCount": 7,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "playback",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-pool-and-rate",
"value": {
"frozen": {
"left": 618.1624755859375,
"next": 618.1624755859375,
"state": "stop"
},
"reused": {
"poolReused": true,
"visibleSameNode": false,
"original": {
"id": "",
"state": "wait",
"visibility": "hidden",
"text": "REUSED"
},
"extraNodes": [
{
"id": "",
"visibility": "hidden",
"text": "MOVING"
},
{
"id": "reused",
"state": "emit",
"visibility": "visible",
"text": "REUSED"
}
],
"transition": "4s",
"rate": 2
},
"loadWithoutArgument": "replaces from original empty option; explicit array load appends"
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 4.788832,
"rate": 2,
"player": {
"x": 8,
"y": 8,
"width": 640,
"height": 360
},
"nodeCount": 0,
"visibleNodeCount": 0
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: native pause seek rate and public reset/load retain historical pool semantics",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 5,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 1,
"loaded": 3,
"start": 4,
"visible": 3,
"stop": 3,
"destroy": 1
},
"gateCount": 5,
"sendCount": 0,
"failures": [],
"retainedExternalSettings": [
0
]
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-browser-inputs",
"value": {
"core": "candidate",
"plugin": "artplayer-plugin-danmuku",
"version": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"media": "/test/pattern.mp4",
"scenario": "settings",
"worker": "Native Blob Worker, only constructor/message/termination observation; no Worker responses, media clocks, layout or RAF mocked",
"heatmap": false
}
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-layout",
"value": [
{
"index": 0,
"playing": false,
"time": 0,
"rate": 1,
"player": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"nodeCount": 0,
"visibleNodeCount": 0
},
{
"index": 1,
"playing": true,
"time": 0.5033361,
"rate": 1,
"player": {
"x": 8,
"y": 292,
"width": 640,
"height": 360
},
"nodeCount": 2,
"visibleNodeCount": 1
}
]
},
{
"title": "candidate / Danmuku 5.3.0 legacy: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"browser": "webkit",
"name": "danmuku-worker-and-lifecycle",
"value": {
"version": "5.4.1",
"workers": [
{
"urlScheme": "blob",
"replyCount": 0,
"terminated": 1,
"errors": []
},
{
"urlScheme": "blob",
"replyCount": 2,
"terminated": 1,
"errors": []
}
],
"eventCounts": {
"reset": 4,
"config": 4,
"loaded": 2,
"stop": 2,
"destroy": 2,
"start": 2,
"visible": 1
},
"gateCount": 2,
"sendCount": 2,
"failures": [],
"retainedExternalSettings": [
1,
1
]
}
}
]
},
{
"file": "refactor/.cache/danmuku02-browser-load-final/report.json",
"sha256": "11afd4c17f0efef2730e1daa018e0a68677dc8ae5569afe8b1bee22ab3365bc6",
"workers": 3,
"expected": 6,
"unexpected": 0,
"skipped": 0,
"versions": [
"chromium: 153.0.8010.12",
"firefox: 155.0",
"webkit: 26.6"
],
"observations": [
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.049181,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 119,
"uniqueVisible": 119,
"nodeCount": 121,
"visibleNodeCount": 119,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 302,
"median": 16.699999999999818,
"p95": 16.700000000000728,
"max": 16.800000000000182
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 47,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 131.9000000357628,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5325,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/8325ad9e-b0c8-45f4-a532-95996384ceb4",
"posts": 4704,
"replies": 4703,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 121,
"rawFrameCount": 303,
"rawIntervalCount": 302
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/8325ad9e-b0c8-45f4-a532-95996384ceb4",
"posts": 4862,
"replies": 4862,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 119,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 47,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 131.9000000357628,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5325,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "immediately-after-destroy",
"timestamp": 5475.400000035763,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.039338,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 119,
"uniqueVisible": 119,
"nodeCount": 121,
"visibleNodeCount": 119,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 301,
"median": 16.699999999999818,
"p95": 16.700000000000728,
"max": 16.800000000000182
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 94.5,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 192.89999997615814,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5376.199999988079,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/e785d7c6-105f-4431-9f6e-573b8fc7fdbb",
"posts": 4667,
"replies": 4666,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 121,
"rawFrameCount": 302,
"rawIntervalCount": 301
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/e785d7c6-105f-4431-9f6e-573b8fc7fdbb",
"posts": 4684,
"replies": 4684,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 119,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 94.5,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 192.89999997615814,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5376.199999988079,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "immediately-after-destroy",
"timestamp": 5547.799999952316,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.163015,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 119,
"uniqueVisible": 119,
"nodeCount": 121,
"visibleNodeCount": 119,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 241,
"median": 16.680000000000064,
"p95": 50.03999999999951,
"max": 50.07999999999993
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 396,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 622,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 6189,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/360b9654-0272-43a7-aeb8-e7696622760c",
"posts": 4486,
"replies": 4485,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 121,
"rawFrameCount": 242,
"rawIntervalCount": 241
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/360b9654-0272-43a7-aeb8-e7696622760c",
"posts": 4578,
"replies": 4578,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 119,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 396,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 622,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 6189,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 6356,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.064198,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 129,
"uniqueVisible": 129,
"nodeCount": 131,
"visibleNodeCount": 129,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 244,
"median": 16.680000000000064,
"p95": 33.440000000000055,
"max": 66.72000000000025
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 355,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 486,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5917,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/d7d1c881-2850-436a-8d67-c3b786a16f2c",
"posts": 5001,
"replies": 5001,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 131,
"rawFrameCount": 245,
"rawIntervalCount": 244
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/d7d1c881-2850-436a-8d67-c3b786a16f2c",
"posts": 5001,
"replies": 5001,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 129,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 355,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 486,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5917,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 6040,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 4.9445888,
"video": {
"width": 640,
"height": 360,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 51,
"uniqueVisible": 51,
"nodeCount": 53,
"visibleNodeCount": 51,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 52,
"median": 106,
"p95": 140,
"max": 148
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 131,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 246,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 6483,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/2206fea6-9c83-4ed6-ae51-80498aac96dd",
"posts": 298,
"replies": 297,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 53,
"rawFrameCount": 53,
"rawIntervalCount": 52
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/2206fea6-9c83-4ed6-ae51-80498aac96dd",
"posts": 301,
"replies": 301,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 51,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 131,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 246,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 6483,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 6909,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 4.8138721,
"video": {
"width": 640,
"height": 360,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 55,
"uniqueVisible": 55,
"nodeCount": 57,
"visibleNodeCount": 55,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 53,
"median": 97,
"p95": 135,
"max": 141
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 134,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 251,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 6074,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/ae434b8e-620b-4d35-ba9e-7052fe76befc",
"posts": 314,
"replies": 313,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 57,
"rawFrameCount": 54,
"rawIntervalCount": 53
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/ae434b8e-620b-4d35-ba9e-7052fe76befc",
"posts": 321,
"replies": 320,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 55,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 134,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 251,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 6074,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 6460,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
}
]
},
{
"file": "refactor/.cache/danmuku02-browser-load-serial/report.json",
"sha256": "635b7a7c0a19314edcf406c9bb8b0a778985d3c5d4f3e135eec688e5e5b95c57",
"workers": 1,
"expected": 6,
"unexpected": 0,
"skipped": 0,
"versions": [
"chromium: 153.0.8010.12",
"firefox: 155.0",
"webkit: 26.6"
],
"observations": [
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.000722,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 119,
"uniqueVisible": 119,
"nodeCount": 121,
"visibleNodeCount": 119,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 299,
"median": 16.699999999999818,
"p95": 16.700000000000728,
"max": 16.800000000000182
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 44.80000001192093,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 120.80000001192093,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5225.100000023842,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/bcbfed39-b160-462f-8733-1803f14546df",
"posts": 7045,
"replies": 7045,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 121,
"rawFrameCount": 300,
"rawIntervalCount": 299
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/bcbfed39-b160-462f-8733-1803f14546df",
"posts": 7045,
"replies": 7045,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 119,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 44.80000001192093,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 120.80000001192093,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5225.100000023842,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "immediately-after-destroy",
"timestamp": 5340.5,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.023261,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 119,
"uniqueVisible": 119,
"nodeCount": 121,
"visibleNodeCount": 119,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 300,
"median": 16.699999999999818,
"p95": 16.799999999999727,
"max": 16.800000000000182
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 33.19999998807907,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 109.89999997615814,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5263.600000023842,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/bba07862-2ac5-4c52-a4cb-399f145cb5b3",
"posts": 6329,
"replies": 6328,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 121,
"rawFrameCount": 301,
"rawIntervalCount": 300
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "chromium",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/bba07862-2ac5-4c52-a4cb-399f145cb5b3",
"posts": 6443,
"replies": 6443,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 119,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 33.19999998807907,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "after-300-loaded",
"timestamp": 109.89999997615814,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5263.600000023842,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
},
{
"phase": "immediately-after-destroy",
"timestamp": 5388.699999988079,
"memory": {
"usedJSHeapSize": 10000000,
"totalJSHeapSize": 10000000,
"jsHeapSizeLimit": 3760000000
}
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.040484,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 119,
"uniqueVisible": 119,
"nodeCount": 121,
"visibleNodeCount": 119,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 267,
"median": 16.660000000000082,
"p95": 33.340000000000146,
"max": 50.000000000000455
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 280,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 404,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5652,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/3520511d-55d1-4b6b-9097-b2ce1af67ade",
"posts": 6669,
"replies": 6668,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 121,
"rawFrameCount": 268,
"rawIntervalCount": 267
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/3520511d-55d1-4b6b-9097-b2ce1af67ade",
"posts": 6751,
"replies": 6751,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 119,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 280,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 404,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5652,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 5774,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 5.056157,
"video": {
"width": 320,
"height": 180,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 130,
"uniqueVisible": 130,
"nodeCount": 132,
"visibleNodeCount": 130,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 268,
"median": 16.660000000000082,
"p95": 33.340000000000146,
"max": 50
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 61,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 137,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5342,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/f4cac3c1-264e-4af5-8b29-7d176d23fff2",
"posts": 6502,
"replies": 6502,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 132,
"rawFrameCount": 269,
"rawIntervalCount": 268
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "firefox",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/f4cac3c1-264e-4af5-8b29-7d176d23fff2",
"posts": 6502,
"replies": 6502,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 130,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 61,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 137,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5342,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 5437,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "main",
"member": "package/dist/artplayer-plugin-danmuku.js",
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 4.6056269,
"video": {
"width": 640,
"height": 360,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 51,
"uniqueVisible": 51,
"nodeCount": 53,
"visibleNodeCount": 51,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 63,
"median": 78,
"p95": 101,
"max": 122
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 60,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 163,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5618,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/d0900b47-b8eb-48ab-9c31-1ec51baf06f4",
"posts": 293,
"replies": 292,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 53,
"rawFrameCount": 64,
"rawIntervalCount": 63
}
},
{
"title": "published core / Danmuku 5.3.0 main: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/d0900b47-b8eb-48ab-9c31-1ec51baf06f4",
"posts": 299,
"replies": 298,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 51,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 60,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 163,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5618,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 5947,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-inputs",
"value": {
"core": "published",
"coreVersion": "5.4.0",
"pluginVersion": "5.3.0",
"format": "legacy",
"member": "package/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc",
"integrity": "sha512-a76bU1cWEZr53hD1X8IHfOzS4QawGHn8dQ3fIYyJ5TsyhTSnznhi2WzkS8M7LL3H02ekXRZTUFan9+9EERk12g==",
"mediaSha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233",
"comments": 300,
"modes": [
0,
1,
2
],
"scheduledTime": 0.5,
"heatmap": false,
"scope": "Single bounded native sample; independent RAF observer and optional performance.memory readings. No forced GC, leak diagnosis, cross-browser heap equivalence or performance threshold."
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-sample",
"value": {
"coreVersion": "5.4.0",
"mediaTime": 4.6210889,
"video": {
"width": 640,
"height": 360,
"duration": 8
},
"loadedCount": 300,
"visibleEvents": 51,
"uniqueVisible": 51,
"nodeCount": 53,
"visibleNodeCount": 51,
"hiddenNodeCount": 2,
"frameSummary": {
"count": 61,
"median": 80,
"p95": 104,
"max": 119
},
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 74,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 171,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5617,
"memory": null
}
],
"workers": [
{
"url": "blob:http://127.0.0.1:8084/a8a138d3-dcea-4520-b269-adbcd0b8df37",
"posts": 299,
"replies": 298,
"terminated": 0,
"errors": []
}
],
"rawNodeCount": 53,
"rawFrameCount": 62,
"rawIntervalCount": 61
}
},
{
"title": "published core / Danmuku 5.3.0 legacy: 300-comment native load and frame/heap observation",
"browser": "webkit",
"name": "danmuku-load-final-observations",
"value": {
"destroyed": true,
"retainedPlayerRoots": 0,
"retainedExternalSettings": 1,
"workerCount": 1,
"workers": [
{
"url": "blob:http://127.0.0.1:8084/a8a138d3-dcea-4520-b269-adbcd0b8df37",
"posts": 301,
"replies": 301,
"terminated": 1,
"errors": []
}
],
"loadedCounts": [
0,
300
],
"visibleEvents": 51,
"heaps": [
{
"phase": "before-plugin-script",
"timestamp": 74,
"memory": null
},
{
"phase": "after-300-loaded",
"timestamp": 171,
"memory": null
},
{
"phase": "paused-after-four-media-seconds",
"timestamp": 5617,
"memory": null
},
{
"phase": "immediately-after-destroy",
"timestamp": 5925,
"memory": null
}
],
"failures": [],
"destroyEvents": 1
}
}
]
}
],
"priorFailure": {
"file": "refactor/.cache/danmuku02-browser-chromium-initial/report.json",
"sha256": "411397683f17f97bcef6356ba48ed482ea54017db47ec2b88e981385e47ad8e1",
"passed": 7,
"failed": 9,
"fixtureCorrections": [
"FullscreenWeb moves the player into body; inspect actual controlsCenter/emitter ownership.",
"Pool nodes may be reused and then hidden by duplicate loops; inspect actual original-node text/use and record extra allocations, not assume final visible identity."
],
"unresolvedProductionObservation": "Two simultaneous fixed comments occupied y=10 in the initial strict geometry test, with duplicate native start events and repeated worker IDs. The subsequent 48-case pass does not close the historical race; the strict overlap assertion remains active."
},
"inputs": [
{
"path": "playwright.config.js",
"algorithm": "sha256-lf",
"sha256": "df2384f5626252ec933725867e400ec22eb92bc5e6f04873059b32decf2f2d56"
},
{
"path": "refactor/baselines/danmuku-release.json",
"algorithm": "sha256-lf",
"sha256": "82a0ab2e87f108cbb1d09ce1b6647cfefc896d974da1cb60b2668fded18a4b2f"
},
{
"path": "test/browser/danmuku-baseline.spec.js",
"algorithm": "sha256-lf",
"sha256": "6d5d7d7342cab008612e6cdb1fc7b7a41a08f72eca6d602ec484904acfd51381"
},
{
"path": "test/browser/danmuku-load-baseline.spec.js",
"algorithm": "sha256-lf",
"sha256": "20890b1c4e415a33e82a2ac9e9b10701ca39f1b8dc31d514fcbf85e227646b4d"
},
{
"path": "test/browser/fixtures.js",
"algorithm": "sha256-lf",
"sha256": "313414b8958eb5b03a2da8595fa0bbf6bfdc01484373898c6cb7179545df175d"
},
{
"path": "test/browser/server.mjs",
"algorithm": "sha256-lf",
"sha256": "1406fac75eabc83b987e79ec7b5f97a948b27770bfd5f5290d7cb9155196f08f"
},
{
"path": "test/danmuku-failures.test.js",
"algorithm": "sha256-lf",
"sha256": "1d7a4fc988f75239bc33453fe4334c17ab34420b58ae26a33d7fc7471be8bf8f"
},
{
"path": "test/helpers/danmuku.js",
"algorithm": "sha256-lf",
"sha256": "4e4420d6fe7198bd91c7a444f3f82740991181c3a1b2cb8b91b1db6fc759046a"
}
],
"limitations": [
"Only actual plugin 5.3.0 main/legacy native browser behavior; controlled source/legacy failures are separate.",
"The native core matrix is actual published 5.4.0 and candidate 5.4.1; no inferred continuous support range.",
"Load/heap/frame metrics are short-run observations, not a leak proof, performance threshold or long-term stability clearance.",
"Historical repeated-loop overlap remains open and can make the strict concurrency regression fail on later runs.",
"No real Bilibili service, CSP restriction matrix, physical Safari/mobile, Mask model or npm release readiness acceptance."
],
"releaseReady": false,
"priorLoadFixtureFailure": {
"file": "refactor/.cache/danmuku02-browser-load-initial/report.json",
"sha256": "af6d8d0a08702fcd6fdc0c75c3f6fd88900e8f434857db9ba626b7890f883701",
"failed": 6,
"cause": "Test read non-existent art.paused; corrected to art.template.$video.paused. No production change."
},
"rawObservationPolicy": "Large layout/event/frame arrays remain in the hash-bound raw Playwright reports. This maintained summary retains counts, selected geometry, input identities and sample metrics."
}