docs(dash): [SITE-DASH-01] add bilingual guides and fix example lifecycle

This commit is contained in:
Harvey Zhao committed 2026-09-15 18:09:30 +08:00
1 parent 4ea0ba94ae
commit 319dccb605
70 files changed
+4005 -1695

No files matched your search

@@ -0,0 +1,833 @@
{
"task": "SITE-DASH-01",
"sourceHead": "4ea0ba94ae51d14d353bc57a3222a8c19b11ac66",
"recordedAt": "2026-09-15T10:08:15.280Z",
"environment": {
"node": "24.21.0",
"yarn": "1.22.22",
"typescript": "5.9.3",
"platform": "Windows"
},
"scope": "Bilingual DASH guide, exact shared demo source, SDK lifecycle and nullable language corrections; not full DASH package/device acceptance",
"sources": [
{
"file": "docs/assets/example/dash.control.js",
"sha256": "1738bc47c13de1227cd4be091f881249180235904d12631f6334579fc146293a"
},
{
"file": "test/dash-example.test.js",
"sha256": "9b762b7f037d51aa857b879b372e417dcf7c1a13932777f8b384d26258e26a71"
},
{
"file": "test/browser/document-dash.spec.js",
"sha256": "d4021e8c35c9ab980dc1a38ba88b4905bce46fece370bf0ea088b8d238bc088f"
},
{
"file": "test/browser/document-site.spec.js",
"sha256": "b4ea5944da181a748fc1335c5fc93477a474be58fe288b485ff8ed51f8e3efc3"
},
{
"file": "packages/artplayer-vitepress/docs/plugin/dash-control.md",
"sha256": "a2471f6e3a7b3a91f9f8feca45228e9817862d8625bc852f77dc76fa61c48fc4"
},
{
"file": "packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"sha256": "0ccfc925832c7e0643d1e6a0927390742f4640a3ac2f1eeeed6b40df3409007b"
},
{
"file": "packages/artplayer-vitepress/docs/.vitepress/config.js",
"sha256": "0ff54baa7992a840a530b7dba259b7b67552642fc15ebf5b03150f9444096c25"
},
{
"file": "packages/artplayer-vitepress/docs/public/main.js",
"sha256": "4675ef05347d3c71359b043b65975294a8d2be90ff3cce52715fead9ac6928b9"
},
{
"file": "packages/artplayer-plugin-dash-control/README.md",
"sha256": "eec2c36c1b4dab1ce97efd745482581ba59461edb88a22e1ec063f6152223b1e"
},
{
"file": "packages/artplayer-plugin-dash-control/ARCHITECTURE.md",
"sha256": "a13644c35087976f7f13db1e04e552f5fcd282c2651b1924f79f7f538ae3eea0"
},
{
"file": "packages/artplayer-vitepress/README.md",
"sha256": "1aeaa7355d7f3cc3dcaa4ce0b4dcaee94d17536786befe7d40b6b3c0e67620e3"
},
{
"file": "package.json",
"sha256": "f057b20067f3e571b43cc4739ddef4bde5387ba67878cf402db8a9c05479bd6f"
}
],
"originalExample": {
"sourceHead": "4ea0ba94ae51d14d353bc57a3222a8c19b11ac66",
"sha256": "edc4326f03262a222e06bb780aab05c903ee162829dec60970e738c1e260eef2",
"tests": {
"passed": 0,
"failed": 3,
"log": {
"file": "refactor/.cache/dash-example-before.log",
"sha256": "52fd27fa2cb5bc57a4ad577418ab58476dae6a5cbac60ddd8a313952f9a7c1fa"
}
}
},
"checks": {
"node": {
"passed": 20,
"failed": 0,
"log": {
"file": "refactor/.cache/dash-docs-node-tests.log",
"sha256": "f54759fec7f1dc108186423fe2b277caae9ae6ce26b4efc6c1e200d22adadec6"
}
},
"siteBuildTests": {
"passed": 7,
"failed": 0,
"log": {
"file": "refactor/.cache/dash-docs-site-tests.log",
"sha256": "ddae3c158e6857b88c01f3fafbb71ba069ea63f72570c969d2b8bc5f50a5402a"
}
},
"lint": {
"exitCode": 0,
"log": {
"file": "refactor/.cache/dash-docs-lint.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
},
"build": {
"exitCode": 0,
"log": {
"file": "refactor/.cache/dash-docs-build.log",
"sha256": "1ebae50eecb618b33b256f607fafa21fbc3fc3f74a309b5604dffb1bce6cb20f"
}
},
"llm": {
"exitCode": 0,
"log": {
"file": "refactor/.cache/dash-docs-llm.log",
"sha256": "7ae9c408d87af8142cc9f7fa87f19427a12025e7c9bd9f15fcd899fe91d6eded"
}
},
"static": {
"typescript": "5.9.3",
"options": {
"strict": true,
"noEmit": true,
"skipLibCheck": false,
"types": [],
"module": "NodeNext"
},
"directory": "D:\\github\\ArtPlayer\\refactor\\.cache\\dash-docs-types-2XJ30S",
"results": [
{
"source": "packages/artplayer-vitepress/docs/plugin/dash-control.md",
"sourceSHA256": "a2471f6e3a7b3a91f9f8feca45228e9817862d8625bc852f77dc76fa61c48fc4",
"built": "docs/document/plugin/dash-control.html",
"builtSHA256": "610593a5a6e6b67e64ee2e74f0eee4a5584f3859140c0767f17a606826dea203",
"title": "DASH 控制 ​",
"snippetSHA256": "b8efc3b50b1eaad374d8a2773e85b4e771bf62a725b958b1f83bdeb0d818f945",
"diagnostics": 0,
"localLinks": 20,
"runCode": 1
},
{
"source": "packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"sourceSHA256": "0ccfc925832c7e0643d1e6a0927390742f4640a3ac2f1eeeed6b40df3409007b",
"built": "docs/document/en/plugin/dash-control.html",
"builtSHA256": "3da4d74ea6748c515cfba378f363e77bf5b896fb84a71be011eff0e38b004e15",
"title": "DASH Control ​",
"snippetSHA256": "b8efc3b50b1eaad374d8a2773e85b4e771bf62a725b958b1f83bdeb0d818f945",
"diagnostics": 0,
"localLinks": 20,
"runCode": 1
}
]
},
"riskTests": {
"passed": 2,
"failed": 0,
"log": {
"file": "refactor/.cache/dash-docs-risk-tests.log",
"sha256": "804d496e7a04c8820556a2fd292a2cdae565c4f758bf36292df5b20c1e172df6"
}
},
"whitespace": {
"sourcePassed": true,
"generatedHtmlWarnings": 4,
"reason": "Two VitePress indentation-only lines per new HTML page; generated output retained"
}
},
"browser": {
"file": "refactor/.cache/dash-docs-browser-final.json",
"sha256": "37ec2eb54211720dd66e8ae113340926d827228ddeb29a948ef483ca0c4e7049",
"stats": {
"startTime": "2026-09-15T10:03:34.544Z",
"duration": 47883.710999999996,
"expected": 18,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"tests": [
{
"title": "documented DASH setup and source lifecycle: SDK 4.5.2, published core",
"project": "chromium",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "published",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/4.5.2",
"codeMember": "package/dist/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "4.5.2",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz",
"integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==",
"sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f",
"files": {
"package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd",
"package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da"
}
}
},
"sdkSHA256": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "153.0.8010.12",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 4.5.2, candidate core",
"project": "chromium",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "candidate",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/4.5.2",
"codeMember": "package/dist/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "4.5.2",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz",
"integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==",
"sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f",
"files": {
"package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd",
"package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da"
}
}
},
"sdkSHA256": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "153.0.8010.12",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 5.2.1, published core",
"project": "chromium",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "published",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/5.2.1",
"codeMember": "package/dist/modern/umd/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "5.2.1",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz",
"integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==",
"sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f",
"files": {
"package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e",
"package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49"
}
}
},
"sdkSHA256": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "153.0.8010.12",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 5.2.1, candidate core",
"project": "chromium",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "candidate",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/5.2.1",
"codeMember": "package/dist/modern/umd/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "5.2.1",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz",
"integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==",
"sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f",
"files": {
"package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e",
"package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49"
}
}
},
"sdkSHA256": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "153.0.8010.12",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 4.5.2, published core",
"project": "firefox",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "published",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/4.5.2",
"codeMember": "package/dist/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "4.5.2",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz",
"integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==",
"sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f",
"files": {
"package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd",
"package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da"
}
}
},
"sdkSHA256": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "155.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 4.5.2, candidate core",
"project": "firefox",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "candidate",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/4.5.2",
"codeMember": "package/dist/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "4.5.2",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz",
"integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==",
"sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f",
"files": {
"package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd",
"package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da"
}
}
},
"sdkSHA256": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "155.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 5.2.1, published core",
"project": "firefox",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "published",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/5.2.1",
"codeMember": "package/dist/modern/umd/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "5.2.1",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz",
"integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==",
"sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f",
"files": {
"package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e",
"package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49"
}
}
},
"sdkSHA256": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "155.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 5.2.1, candidate core",
"project": "firefox",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "candidate",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/5.2.1",
"codeMember": "package/dist/modern/umd/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "5.2.1",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz",
"integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==",
"sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f",
"files": {
"package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e",
"package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49"
}
}
},
"sdkSHA256": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": true,
"scope": "real SDK with original settings, local routed MPD, playback and replacement cleanup"
},
"browser": "155.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 4.5.2, published core",
"project": "webkit",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "published",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/4.5.2",
"codeMember": "package/dist/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "4.5.2",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz",
"integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==",
"sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f",
"files": {
"package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd",
"package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da"
}
}
},
"sdkSHA256": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": false,
"scope": "actual unsupported setup only"
},
"browser": "26.6",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 4.5.2, candidate core",
"project": "webkit",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "candidate",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/4.5.2",
"codeMember": "package/dist/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "4.5.2",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz",
"integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==",
"sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f",
"files": {
"package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd",
"package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da"
}
}
},
"sdkSHA256": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": false,
"scope": "actual unsupported setup only"
},
"browser": "26.6",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 5.2.1, published core",
"project": "webkit",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "published",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/5.2.1",
"codeMember": "package/dist/modern/umd/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "5.2.1",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz",
"integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==",
"sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f",
"files": {
"package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e",
"package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49"
}
}
},
"sdkSHA256": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": false,
"scope": "actual unsupported setup only"
},
"browser": "26.6",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15",
"unhandledErrors": []
}
]
},
{
"title": "documented DASH setup and source lifecycle: SDK 5.2.1, candidate core",
"project": "webkit",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"inputs": {
"documents": [
"plugin/dash-control.md",
"en/plugin/dash-control.md"
],
"core": "candidate",
"sdk": {
"metadataUrl": "https://registry.npmjs.org/dashjs/5.2.1",
"codeMember": "package/dist/modern/umd/dash.all.min.js",
"release": {
"name": "dashjs",
"version": "5.2.1",
"tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz",
"integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==",
"sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f",
"files": {
"package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c",
"package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28",
"package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e",
"package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49"
}
}
},
"sdkSHA256": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49",
"pluginSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57",
"sourceSHA256": "a7296a516176076e34f5a7aed7388eb6c8b87bc12cfd4eb879b7e1abcf4a126e",
"supported": false,
"scope": "actual unsupported setup only"
},
"browser": "26.6",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15",
"unhandledErrors": []
}
]
},
{
"title": "built documentation loads zh deep pages and opens Run Code with encoded source",
"project": "chromium",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"browser": "153.0.8010.12",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36",
"unhandledErrors": []
}
]
},
{
"title": "built documentation loads en deep pages and opens Run Code with encoded source",
"project": "chromium",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"browser": "153.0.8010.12",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36",
"unhandledErrors": []
}
]
},
{
"title": "built documentation loads zh deep pages and opens Run Code with encoded source",
"project": "firefox",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"browser": "155.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0",
"unhandledErrors": []
}
]
},
{
"title": "built documentation loads en deep pages and opens Run Code with encoded source",
"project": "firefox",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"browser": "155.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0",
"unhandledErrors": []
}
]
},
{
"title": "built documentation loads zh deep pages and opens Run Code with encoded source",
"project": "webkit",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"browser": "26.6",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15",
"unhandledErrors": []
}
]
},
{
"title": "built documentation loads en deep pages and opens Run Code with encoded source",
"project": "webkit",
"status": "expected",
"results": [
{
"status": "passed",
"retry": 0,
"errors": [],
"browser": "26.6",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15",
"unhandledErrors": []
}
]
}
],
"interpretation": {
"realSdkPlaybackAndReplacement": 8,
"unsupportedWebKitSetup": 4,
"navigationAndRunCode": 6,
"realDeviceValidated": false
},
"resultsDirectory": "refactor/.cache/dash-docs-browser-final-results",
"log": {
"file": "refactor/.cache/dash-docs-browser-first.log",
"sha256": "0dd8e8d701f0170b1f4b9d69f544b41f3f55995bbae8f9cc6b6e5ee8d5f3ca31"
},
"note": "One run passed; first log is also the final run. Both guide snippets match the same actual source before executing one runtime case per SDK/core/engine."
},
"connectedBrowser": {
"provider": "Codex in-app browser",
"version": null,
"tabId": "11",
"url": "http://localhost:8082/?libs=https://cdnjs.cloudflare.com/ajax/libs/dashjs/5.2.1/modern/umd/dash.all.min.js%0A./uncompiled/artplayer-plugin-dash-control/index.js&example=dash.control",
"observed": [
"editor contains updated useDash/destroyDash setup",
"video metadata duration 12:14",
"quality choices 1080P/720P/480P/360P/288P/Auto",
"audio choices EN/EN-AU/ET-ET",
"loadedmetadata/loadeddata/canplay events"
],
"limitation": "No playback click or source/destroy interaction; version was not returned. This is readiness/menu observation only."
},
"inventory": {
"packages": 22,
"markdown": 32,
"examples": 30,
"html": 41,
"declarationMembers": 963,
"assets": 204
},
"unchanged": {
"lock": true,
"pluginRuntimeAndTypes": true,
"packageVersions": true
},
"publication": false
}
+198 -69
View File
@@ -4,9 +4,9 @@
"note": "Read-only source inventory. Heading matches are candidates, never semantic API coverage. Asset identity is not permission. No runtime, remote Pages or npm acceptance is implied.",
"counts": {
"packages": 22,
"markdown": 30,
"markdown": 32,
"examples": 30,
"html": 39,
"html": 41,
"declarationMembers": 963,
"assets": 204
},
@@ -2013,6 +2013,53 @@
"translation": "packages/artplayer-vitepress/docs/plugin/danmuku.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"sha256Lf": "0ccfc925832c7e0643d1e6a0927390742f4640a3ac2f1eeeed6b40df3409007b",
"language": "en",
"route": "/document/en/plugin/dash-control.html",
"headings": [
{
"text": "DASH Control",
"line": 1
},
{
"text": "Installation",
"line": 9
},
{
"text": "Complete example",
"line": 23
},
{
"text": "Configuration",
"line": 99
},
{
"text": "Quality and audio selection",
"line": 115
},
{
"text": "Refresh after external changes",
"line": 130
},
{
"text": "SDK ownership and source switching",
"line": 146
},
{
"text": "TypeScript",
"line": 152
},
{
"text": "Validation scope",
"line": 176
}
],
"runCodeMarkers": 1,
"translation": "packages/artplayer-vitepress/docs/plugin/dash-control.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"sha256Lf": "c0271b386e44fcc47c9aad017b3b02f75bb3baec830bca9634edcb2060cd91d3",
@@ -2472,6 +2519,53 @@
"translation": "packages/artplayer-vitepress/docs/en/plugin/danmuku.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/plugin/dash-control.md",
"sha256Lf": "a2471f6e3a7b3a91f9f8feca45228e9817862d8625bc852f77dc76fa61c48fc4",
"language": "zh",
"route": "/document/plugin/dash-control.html",
"headings": [
{
"text": "DASH 控制",
"line": 1
},
{
"text": "安装",
"line": 9
},
{
"text": "完整示例",
"line": 23
},
{
"text": "配置",
"line": 99
},
{
"text": "画质和音轨选择",
"line": 115
},
{
"text": "外部修改后的刷新",
"line": 130
},
{
"text": "SDK 所有权与换源",
"line": 146
},
{
"text": "TypeScript",
"line": 152
},
{
"text": "验证范围",
"line": 176
}
],
"runCodeMarkers": 1,
"translation": "packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/plugin/hls-control.md",
"sha256Lf": "262df6632861f93e8b313db229416a3a70399c94380dcc4ecb9c405ea4b17aba",
@@ -16952,11 +17046,13 @@
"packages/artplayer-vitepress/docs/en/component/setting.md",
"packages/artplayer-vitepress/docs/en/index.md",
"packages/artplayer-vitepress/docs/en/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/en/start/i18n.md",
"packages/artplayer-vitepress/docs/en/start/option.md",
"packages/artplayer-vitepress/docs/index.md",
"packages/artplayer-vitepress/docs/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/plugin/dash-control.md",
"packages/artplayer-vitepress/docs/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/start/i18n.md",
"packages/artplayer-vitepress/docs/start/option.md"
@@ -17083,8 +17179,11 @@
"examples": [
"dash.control"
],
"sidebarMentionsPackage": true,
"dedicatedPages": [],
"sidebarMentionsPackage": false,
"dedicatedPages": [
"packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"packages/artplayer-vitepress/docs/plugin/dash-control.md"
],
"contentReviewOwner": "SITE-04",
"demoExecutionOwner": "EX-03"
},
@@ -17240,11 +17339,13 @@
"packages/artplayer-vitepress/docs/en/component/setting.md",
"packages/artplayer-vitepress/docs/en/index.md",
"packages/artplayer-vitepress/docs/en/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/en/plugin/dash-control.md",
"packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/en/start/i18n.md",
"packages/artplayer-vitepress/docs/en/start/option.md",
"packages/artplayer-vitepress/docs/index.md",
"packages/artplayer-vitepress/docs/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/plugin/dash-control.md",
"packages/artplayer-vitepress/docs/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/start/i18n.md",
"packages/artplayer-vitepress/docs/start/option.md"
@@ -17419,7 +17520,7 @@
{
"name": "dash.control",
"source": "docs/assets/example/dash.control.js",
"sha256Lf": "edc4326f03262a222e06bb780aab05c903ee162829dec60970e738c1e260eef2",
"sha256Lf": "1738bc47c13de1227cd4be091f881249180235904d12631f6334579fc146293a",
"menuLinks": [
"/?libs=https://cdnjs.cloudflare.com/ajax/libs/dashjs/5.2.1/modern/umd/dash.all.min.js%0A./uncompiled/artplayer-plugin-dash-control/index.js&example=dash.control"
],
@@ -17692,10 +17793,10 @@
{
"source": "docs/document/404.html",
"route": "/document/404.html",
"sha256Lf": "739031d99373696e852520d1f747f4570398ac462c1576c0a7d233b590a517cb",
"sha256Lf": "b5f027ae6538c6fc1ea1125c7136be1d67ae92ee2e2b999b565f91b2a22a7980",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17705,10 +17806,10 @@
{
"source": "docs/document/advanced/built-in.html",
"route": "/document/advanced/built-in.html",
"sha256Lf": "2cf8b8bc26ee8bfb34dadf740a3c8ae4b0ed5ee50314b3f6bbe5b3dfd709c538",
"sha256Lf": "785285d50a8bbea91f52618004692b13051b0cddb846d174c007b93aadbb1b8e",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17718,10 +17819,10 @@
{
"source": "docs/document/advanced/class.html",
"route": "/document/advanced/class.html",
"sha256Lf": "7de71fe06d19ca56fb229363f621ddb76dac4ea86582851b6597be4ab510e29b",
"sha256Lf": "dc47d08602d5d2b7ffb42d447585e16890acf76c71c54f99cbfc274bb0f7b672",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17731,10 +17832,10 @@
{
"source": "docs/document/advanced/event.html",
"route": "/document/advanced/event.html",
"sha256Lf": "6d1912bd53e8640e2e003156d367b15680cf9f1f8aa9c784e83f4bbc0710fb84",
"sha256Lf": "5f309844bb0cff048bfa8206e1cc6764b118cb433e4c935af5a24f62707f9070",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17744,10 +17845,10 @@
{
"source": "docs/document/advanced/global.html",
"route": "/document/advanced/global.html",
"sha256Lf": "d0b3e638cc56125aa28ed5c0d788dbb327162f30cf198af3a11efb58c30d640b",
"sha256Lf": "19839d3efd05cb0435296b2bf0f4b6bc59fdcc377cf6107b71317dc285eb235e",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17757,10 +17858,10 @@
{
"source": "docs/document/advanced/plugin.html",
"route": "/document/advanced/plugin.html",
"sha256Lf": "4d539395bcf9f92cbbf679236f73ad46e0951ad67e169cccd176c8db0e172327",
"sha256Lf": "6f06b91f79020e93290622101e77460f9fa20113144cd32d2c7e933dce8f5e50",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17770,10 +17871,10 @@
{
"source": "docs/document/advanced/property.html",
"route": "/document/advanced/property.html",
"sha256Lf": "585490a60cb2bb854a0b6040d10d4bb1800dd5faf5c5c95dfcf780f024a09ced",
"sha256Lf": "df590666d0a52b7b30521f2bef9e0705150eca93de02b4b6698c580ccffff1ad",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17783,10 +17884,10 @@
{
"source": "docs/document/component/contextmenu.html",
"route": "/document/component/contextmenu.html",
"sha256Lf": "1ea119dc7d15b9be4ada73e393a7356406f84112a3da4ac271b8657371c55313",
"sha256Lf": "71c4d1a7f68e3e8a49f0d4883bf9f6f0c62c12a954e4fa557d7fb6bcfbe3d2b4",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17796,10 +17897,10 @@
{
"source": "docs/document/component/controls.html",
"route": "/document/component/controls.html",
"sha256Lf": "d5a698c705f2cbddcb67f3d05016d19f7c34b4fd5177c1f79e3f3a839f73030f",
"sha256Lf": "006a087831263e50c8280a2430bf1777fc5b362e5742aa8addc44503e7a227b6",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17809,10 +17910,10 @@
{
"source": "docs/document/component/layers.html",
"route": "/document/component/layers.html",
"sha256Lf": "e9f5129cb516ec4f2d3ea07b84fac4ac689d979d189815d01eba194c4a257982",
"sha256Lf": "f0ff350f70dec5cc9bc396e0437ba3e855fb48e11138473aa246aa3235145978",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17822,10 +17923,10 @@
{
"source": "docs/document/component/setting.html",
"route": "/document/component/setting.html",
"sha256Lf": "10284ef177093ed786e0b0600e6ee5184724a46444b2e614b6447f26fb68b711",
"sha256Lf": "0b9c264bd5939d060bb72524c9af4d0c6ee1a21a538f29139c799d09f8d5a6ce",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17835,10 +17936,10 @@
{
"source": "docs/document/en/advanced/built-in.html",
"route": "/document/en/advanced/built-in.html",
"sha256Lf": "f47472d88db0a05eb70a91c14c270e4978afcf55a3777db6d3876dbeb7ef391a",
"sha256Lf": "30d6ccb661f69232b9c105da0ded1589c38484a27b58aae9ad791cb07ae0f775",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17848,10 +17949,10 @@
{
"source": "docs/document/en/advanced/class.html",
"route": "/document/en/advanced/class.html",
"sha256Lf": "eec757fc67c53ebefb0c50b40e21097d7c893a3b76b4aa0170fe7a8906afa676",
"sha256Lf": "9a1f8a6a8582f3893dfad2ebcde77c45752af187e28d289cec7d614bf52b6cd8",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17861,10 +17962,10 @@
{
"source": "docs/document/en/advanced/event.html",
"route": "/document/en/advanced/event.html",
"sha256Lf": "01c77788e99f4ec477db05a976200bd1ee4d769cb215d6686011a6e86eca7ac3",
"sha256Lf": "6e4d27d830a6ad7c5163d1c014af085129d1476a6d745c4fffea7c28bf1e3dd9",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17874,10 +17975,10 @@
{
"source": "docs/document/en/advanced/global.html",
"route": "/document/en/advanced/global.html",
"sha256Lf": "7e09ba52c4ca4dbf3261844b77f488c768d2e075b4999e4e9599cbef87ada913",
"sha256Lf": "ce8d6a08cf05f3d104f154880d4d4b4bf965d8892c6a135e9bce9e67fe8d0923",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17887,10 +17988,10 @@
{
"source": "docs/document/en/advanced/plugin.html",
"route": "/document/en/advanced/plugin.html",
"sha256Lf": "a40604fdb0bbed13360b9f4c1a69cc67c875d66adc1875576e2828884e71bd64",
"sha256Lf": "f1482ba777db85ed170637ec8a447b77e6a5d8cd0745e52f0ec1034c5fb9bd5c",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17900,10 +18001,10 @@
{
"source": "docs/document/en/advanced/property.html",
"route": "/document/en/advanced/property.html",
"sha256Lf": "47c24a65c95436fa44dd0c35879cccb48527b7d4a7e6abfd062e3b4d1923fb36",
"sha256Lf": "8676ac25a09b634b4415d84a42212b2a6015b34bf9fe3483909325a9dcbca603",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17913,10 +18014,10 @@
{
"source": "docs/document/en/component/contextmenu.html",
"route": "/document/en/component/contextmenu.html",
"sha256Lf": "9ab3fe20e8f246ee9e481c73c88479cdf18551451a75b644add3734ff18b431d",
"sha256Lf": "33688005fd0559181b5bc9ff4039840539ae3909900e1e166600b56c3ffdb9d7",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17926,10 +18027,10 @@
{
"source": "docs/document/en/component/controls.html",
"route": "/document/en/component/controls.html",
"sha256Lf": "5ca63fbc78fa0beb96ca5f46e0f2e8ccef8622d8ab4cd2b24b72df619fd5a165",
"sha256Lf": "c3555cd37aa81d27a4175c6de620a2891c805aa129668e3e82f63b681022c146",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17939,10 +18040,10 @@
{
"source": "docs/document/en/component/layers.html",
"route": "/document/en/component/layers.html",
"sha256Lf": "e5a27278d4264ec855d9785bb455a2be9eac3bf5b9add73fd36da3dea60508ec",
"sha256Lf": "952685ef63d98213c471a00a9117064dd024111e9396392dcb721877e2000bec",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17952,10 +18053,10 @@
{
"source": "docs/document/en/component/setting.html",
"route": "/document/en/component/setting.html",
"sha256Lf": "fb64ad2c748396701ef1e30c5b6051129ce6d96c7e1715f43bf97dd95a5c93cd",
"sha256Lf": "fdc34800f473cdc3476afc279e38cc33607c12a47ef3d88535c4a2619bcd5789",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17965,10 +18066,10 @@
{
"source": "docs/document/en/index.html",
"route": "/document/en/",
"sha256Lf": "f49b25ac62fd3867e955d3d42f45e366233d470b7f34111a4550a5c54ace200c",
"sha256Lf": "17a881f211e9d0b631d456cc694095d2f90b21e20bb8831fd47ab42141561848",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17978,10 +18079,23 @@
{
"source": "docs/document/en/plugin/danmuku.html",
"route": "/document/en/plugin/danmuku.html",
"sha256Lf": "7fecb59004df7b7d1589998f421258e62777875160e559777627b85c7dfa2a14",
"sha256Lf": "fbea17aecdaf51daa7c161fd79cd157caa707d5c317b784679077b17f964abaa",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
"status": "not-run",
"owner": "EX-03"
},
{
"source": "docs/document/en/plugin/dash-control.html",
"route": "/document/en/plugin/dash-control.html",
"sha256Lf": "3da4d74ea6748c515cfba378f363e77bf5b896fb84a71be011eff0e38b004e15",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17991,10 +18105,10 @@
{
"source": "docs/document/en/plugin/hls-control.html",
"route": "/document/en/plugin/hls-control.html",
"sha256Lf": "a6ac6504b7a348ad20524c56521e5e563de295b87995e14226f4638972f040f0",
"sha256Lf": "239a4c77e5e5df8f61e3add871ee9c183d16bed789f757422043c1a8b5666b81",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18004,10 +18118,10 @@
{
"source": "docs/document/en/start/i18n.html",
"route": "/document/en/start/i18n.html",
"sha256Lf": "95694df09bca853c0eeb8883c4b2db02c042ee29971503dad1fcd0e4a22595fe",
"sha256Lf": "a4dd63421375706c7a5612f26c0a26da77b1ae9ac7b1a922243889c116c1c065",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18017,10 +18131,10 @@
{
"source": "docs/document/en/start/option.html",
"route": "/document/en/start/option.html",
"sha256Lf": "23718b0df3dd56492e62635bacd55e504082d02585ebed88ad165b82fecd2ea8",
"sha256Lf": "e265594e9ea6fd628a6f00c8925a25ee1e84478944db627213206425aa07c7f3",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18030,10 +18144,10 @@
{
"source": "docs/document/index.html",
"route": "/document/",
"sha256Lf": "6fdc034c61750bf4da6de85d405a176fcea9046c81143bd4333593a080863c1e",
"sha256Lf": "34eabea907870f2764581f1fa212f99e8a9c6f5b227c8884e073f481ae9526ca",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18043,10 +18157,23 @@
{
"source": "docs/document/plugin/danmuku.html",
"route": "/document/plugin/danmuku.html",
"sha256Lf": "c1bf198386743ba8a659dd56f520059a960d53791b2c5898634822d9a3330fee",
"sha256Lf": "cbbcab068f10d8af9c44819f7f224108af7abd8fb0e27796a80a6f811817025b",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
"status": "not-run",
"owner": "EX-03"
},
{
"source": "docs/document/plugin/dash-control.html",
"route": "/document/plugin/dash-control.html",
"sha256Lf": "610593a5a6e6b67e64ee2e74f0eee4a5584f3859140c0767f17a606826dea203",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18056,10 +18183,10 @@
{
"source": "docs/document/plugin/hls-control.html",
"route": "/document/plugin/hls-control.html",
"sha256Lf": "f4715b9fb6c4e7b7b5447e56dd26c546bc48b1446c1e2d3fd155dc03f97b4686",
"sha256Lf": "aa21e8079cf454e66b1a178f2cac00acb868eacf8f9b7a80755771aa3fc1d698",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18069,10 +18196,10 @@
{
"source": "docs/document/start/i18n.html",
"route": "/document/start/i18n.html",
"sha256Lf": "6e6371436fbb1b48936e3a789272f55617a92aa6506fd6f0d4b23cb97deea876",
"sha256Lf": "f1c1dbcee903d009bfa051cbf7a714bdb06242dbf7a2c8951cb09e9cba98b32d",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18082,10 +18209,10 @@
{
"source": "docs/document/start/option.html",
"route": "/document/start/option.html",
"sha256Lf": "5228248a85b0c6e85a4ce617c847c5b61e855181b1bce1dc93662f0c5599f997",
"sha256Lf": "9a229b8204c0e37babb4054fd016feee2a61d7cb971021c287037b2b24ba4a4f",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/assets/app.dBfz83xG.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18217,7 +18344,9 @@
"examplesRemoved": [],
"htmlAdded": [
"docs/document/en/plugin/danmuku.html",
"docs/document/en/plugin/dash-control.html",
"docs/document/en/plugin/hls-control.html",
"docs/document/plugin/dash-control.html",
"docs/document/plugin/hls-control.html"
],
"htmlRemoved": []
@@ -18385,7 +18514,7 @@
},
{
"file": "packages/artplayer-vitepress/docs/public/main.js",
"sha256Lf": "387e6b4d0dd4251b18fd1d45b45656e63aeba25e2a67cdb26da5f185e7359fb1"
"sha256Lf": "4675ef05347d3c71359b043b65975294a8d2be90ff3cce52715fead9ac6928b9"
},
{
"file": "packages/artplayer-vitepress/docs/vite.config.ts",
@@ -18393,7 +18522,7 @@
},
{
"file": "packages/artplayer-vitepress/docs/.vitepress/config.js",
"sha256Lf": "2c31669093e62bac0d59d874ea0181455e9117824712807ff64c04ce7d5eb693"
"sha256Lf": "0ff54baa7992a840a530b7dba259b7b67552642fc15ebf5b03150f9444096c25"
},
{
"file": "scripts/build-site-assets.mjs",
@@ -0,0 +1,97 @@
# SITE-DASH-01:DASH 双语指南与示例生命周期
本任务从 SITE-04 拆出,依赖已完成 SITE-03 和 PKG-DASH-04;父任务全部旧依赖保留。
本次完成 DASH 使用指南与示例修复,不提前完成 PKG-DASH-05/06 或整站验收。
## 复现与改动
直接执行原 docs/assets/example/dash.control.js 的三个受控回归全部失败:
- 三次加载累积三个 destroy 监听器;最终销毁会再次调用已经释放的旧 SDK。
- MediaSource 不支持时仍调用 SDK 控制插件工厂;该分支没有 SDK,安装没有意义。
- 实际 SDK 允许音轨 lang 为 null,原 getName 直接 toUpperCase 会抛错。
修正后,示例局部 dash 变量管理所有权:换源先释放旧 SDK,清空局部引用,再创建
并赋给 art.dash 后 initialize;播放器只注册一个最终清理监听器。重复调用这个
清理函数不会重复销毁实例。useDash 固定在该播放器实例的能力分支,不支持时保留
原提示文字、不创建 SDK 或插件。音轨标签保留现有大写语言,缺失时依次回退到
字符串化的 id(包括0)和 Audio。三个回归全部通过。
保留原容器、媒体 URL、插件名称、配置形状、SDK initialize 参数和默认设置。
改动限于应用示例,没有改变插件公开 API、类型、SDK版本选择、同步错误语义或
SDK归属。没有把 dash.destroy 的调用次数当作所有异步底层资源都已证明释放;
特殊应用的异步SDK关闭策略仍由集成层负责。
## 文档和架构
新增 plugin/dash-control.md、en/plugin/dash-control.md 和中英文侧栏。
两页完整 Run Code 与实际 demo 逐字相同,由浏览器测试启动时强制检查。
只有一份相同代码参与每组真实SDK验证,不为了两个语言副本重复同一播放过程。
指南覆盖配置默认值、空列表、重复标签、原对象 formatter、只有一个参数与无绑定
this、音轨空语言;区别 SDK4 qualityIndex 和 SDK5 representation ID,保留0值。
说明手动选择关闭视频ABR、Auto只修改相应开关,音轨传原对象且无额外Auto轨道;
同步选择结束不意味着解码完成。
说明 ready/restart、SDK事件合并刷新、暂停修改设置后手动 update、同步返回值、
异步观察失败的警告/恢复、SDK所有权与旧回调失效,补齐泛型TS示例和两代SDK类型
差异。明确当前重构尚未发布,不能把无版本CDN当作本分支代码,也不把Windows
WebKit能力检查当作Safari/设备播放。原外部编辑器URL仍从指南可达。
包 README/ARCHITECTURE、站点 README、浏览器维护说明一起更新。
Node 示例回归加入既有 test:unit,自动进入现有CI;没有新增依赖或锁条目。
通过 build:llm、build:docs(含 build:site-assets)生成全部相关输出,站点清单
从30 Markdown/39 HTML增为32 Markdown/41 HTML,中英各16页。
没有手改 dist、uncompiled、生成HTML或脚本产物。
## 验证
Windows / Node24.21.0 / YarnClassic1.22.22 / TypeScript5.9.3。
| 检查 | 结果及限制 |
| --- | --- |
| 原示例回归 | 3 fail,保留原失败日志 |
| 修复后示例、文档流程、导航工具 | 20 pass,其中示例3项 |
| 站点构建测试 | 7 pass,真实VitePress构建完成 |
| 两页原样TS片段 | strict NodeNext、types:[]、skipLibCheck:false,各0诊断 |
| 静态生成页 | 两页各1个Run Code、20个本地链接,目标均存在 |
| 浏览器首次及最终运行 | 18 pass、0 skip、0 retry、0 fail,无测试断言调整 |
| lint、站点产物/语料/清单、工具链、计划和风险 | 提交前通过,机器证据保留指纹 |
浏览器的8项真实播放来自 Chromium153.0.8010.12 和 Firefox155.0,各两版SDK
(4.5.2/5.2.1)×新旧核心:初次时钟和解码帧推进、菜单出现、switchUrl 后继续
解码、旧/新SDK分别销毁一次。SDK来自冻结npm归档,原示例远端媒体请求路由到
哈希校验过的本地MPD/片段。只对 SDK 创建/销毁加透明计数,不替换方法结果、
视频帧、网络响应内容以外的播放行为或SDK设置。
Windows WebKit26.6的4项仅验证无MSE时不创建SDK、不注册控制插件、显示原提示
并清理;另6项是三引擎双语导航、生成页及Run Code两个库/代码参数。它们不是
外部编辑器播放或真机验收。原有完整SDK/DRM/暂停seek/安装包矩阵继续由既有任务负责。
内置浏览器也打开实际 localhost:8082 的原DASH示例URL,编辑器显示新的 useDash
和 destroyDash;视频时长12:14,画质菜单含1080P/720P/480P/360P/288P/Auto,
音轨EN/EN-AU/ET-ET,控制台出现loadedmetadata/loadeddata/canplay。这个只计
页面加载和菜单观察,没有执行点击播放/换源/销毁;工具未返回浏览器版本。
未重启或修改已有8082服务。
最终风险回归2项通过,计划/风险与站点清单检查通过。暂存源码diff --check通过;
完整检查报告两个新HTML各两行VitePress模板生成的缩进空白,保留原生成输出。
## 交接与回退
见[机器证据](../baselines/dash-docs-validation.json)。改示例时同步两页并执行:
```sh
node --test test/dash-example.test.js
yarn test:browser document-dash.spec.js document-site.spec.js --workers=1
yarn test:site-build
yarn build:llm
yarn build:docs
node refactor/scripts/site-inventory.mjs --write
node refactor/scripts/site-inventory.mjs --check
```
DASH-EXAMPLE-01 在本任务关闭;PKG-DASH-05、其余插件双语文档、整站及发布验收
保持原状态。包README更新会改变后续tarball,最终候选必须重新绑定验收证据。
回退本提交恢复原示例与导航,移除两页和相关生成内容;播放器/插件生产源码及
公开类型不变。没有推送、部署或npm发布。
+7 -5
View File
@@ -2,9 +2,9 @@
> 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 272 项,范围 22 个包及工作区/示例。
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 273 项,范围 22 个包及工作区/示例。
状态:todo 43 / doing 21 / blocked 0 / done 208 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
状态:todo 43 / doing 21 / blocked 0 / done 209 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
@@ -24,7 +24,7 @@
| artplayer-plugin-chromecast | 1.1.0 | PKG-CAST-01, PKG-CAST-02, PKG-CAST-03, PKG-CAST-04, PKG-CAST-05, PKG-CAST-06 |
| artplayer-plugin-danmuku | 5.3.0 | PKG-DANMUKU-01, PKG-DANMUKU-02, PKG-DANMUKU-03, PKG-DANMUKU-04, PKG-DANMUKU-05, PKG-DANMUKU-06, PKG-DANMUKU-07, PKG-DANMUKU-08, PKG-DANMUKU-09, SITE-DANMUKU-01, PKG-DANMUKU-10, PKG-DANMUKU-11, PKG-DANMUKU-12, PKG-DANMUKU-MASK-LOAD-01 |
| artplayer-plugin-danmuku-mask | 1.1.0 | PKG-MASK-01, PKG-MASK-02, PKG-MASK-03, PKG-MASK-04, PKG-MASK-05, PKG-MASK-06, ENG-LINT-01, PKG-DANMUKU-MASK-LOAD-01 |
| artplayer-plugin-dash-control | 1.1.0 | PKG-DASH-01, PKG-DASH-02, PKG-DASH-03, PKG-DASH-04, PKG-DASH-SEEK-01, PKG-DASH-MENU-01, PKG-DASH-05, PKG-DASH-06, PKG-DASH-CLEANUP-01 |
| artplayer-plugin-dash-control | 1.1.0 | PKG-DASH-01, PKG-DASH-02, PKG-DASH-03, PKG-DASH-04, PKG-DASH-SEEK-01, PKG-DASH-MENU-01, PKG-DASH-05, PKG-DASH-06, SITE-DASH-01, PKG-DASH-CLEANUP-01 |
| artplayer-plugin-document-pip | 1.1.0 | PKG-DPIP-01, PKG-DPIP-02, PKG-DPIP-03, PKG-DPIP-04, PKG-DPIP-05, PKG-DPIP-06 |
| artplayer-plugin-hls-control | 1.1.0 | PKG-HLS-01, PKG-HLS-02, PKG-HLS-03, PKG-HLS-04, PKG-HLS-SDK-01, PKG-HLS-05, PKG-HLS-06, SITE-HLS-01, PKG-HLS-PACK-01 |
| artplayer-plugin-jassub | 1.1.0 | PKG-JASSUB-01, PKG-JASSUB-02, PKG-JASSUB-03, PKG-JASSUB-04, PKG-JASSUB-05, PKG-JASSUB-06, PKG-JASSUB-07, PKG-JASSUB-08, PKG-JASSUB-09, PKG-JASSUB-10 |
@@ -35,7 +35,7 @@
| artplayer-proxy-mediabunny | 1.2.0 | PKG-MB-01, PKG-MB-02, PKG-MB-03, PKG-MB-04, PKG-MB-05, PKG-MB-06, PKG-MB-07, PKG-MB-08, PKG-MB-09, PKG-MB-10 |
| artplayer-tool-iframe | 1.1.0 | PKG-IFRAME-01, PKG-IFRAME-02, PKG-IFRAME-03, PKG-IFRAME-04, PKG-IFRAME-05, PKG-IFRAME-06 |
| artplayer-tool-thumbnail | 4.4.0 | PKG-TOOL-THUMB-01, PKG-TOOL-THUMB-02, PKG-TOOL-THUMB-03, PKG-TOOL-THUMB-04, PKG-TOOL-THUMB-05, PKG-TOOL-THUMB-06, PKG-TOOL-THUMB-07 |
| artplayer-vitepress | 1.1.0 | SITE-01, SITE-SMOKE-01, SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01, SITE-03, SITE-DANMUKU-01, SITE-HLS-01, SITE-04, SITE-05, SITE-06, SITE-07, SITE-VCONSOLE-01, ENG-LINT-02, SITE-CONSOLE-01 |
| artplayer-vitepress | 1.1.0 | SITE-01, SITE-SMOKE-01, SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01, SITE-03, SITE-DANMUKU-01, SITE-HLS-01, SITE-DASH-01, SITE-04, SITE-05, SITE-06, SITE-07, SITE-VCONSOLE-01, ENG-LINT-02, SITE-CONSOLE-01 |
## 0 规划
@@ -408,7 +408,7 @@
| SITE-BUILD-01 | artplayer, artplayer-vitepress, workspace<br>重构 i18n 与文档构建的暂存、替换和 Yarn 编排 | SITE-AI-DOCS-01 | 严格 TS 构建模块、编译后替换产物与失败回退,固定 Yarn 子进程和旧构建入口 | 旧 i18n 删除后失败有复现;失败不改变既有产物;语言集合、UMD/ESM/历史别名兼容;文档子进程退出码准确并完成真实 VitePress 构建;不隐式翻译、不修改播放器 API | M | done |
| SITE-03 | artplayer-vitepress<br>整理 i18n/文档/LLM 生成流程 | SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01 | build-i18n/build-docs/build-llm/trans-docs 的任务边界和错误处理;桌面 common.js 自有 UI 的 TS 迁移与模块拆分 | 原命令兼容、生成可复现,翻译步骤不隐式运行远程服务;覆盖移动 loader 失败恢复 define、脚本依赖顺序、localhost/127.0.0.1 Run Code 目标和语言重定向;桌面剩余 UI 完成 TS 职责拆分并回归运行、导入与持久设置 | M | done |
| SITE-DANMUKU-01 | artplayer-vitepress, artplayer-plugin-danmuku<br>核对弹幕双语指南并补齐英文入口 | SITE-03, PKG-DANMUKU-07 | 按实现修正中文调用说明,新增英文完整选项/API/热力图/类型指南和导航;同步生成站点与LLM资料,新增双语示例浏览器验收 | 旧中文URL和标题保留;实际方法返回、加载语义、回调与points边界准确;双语页面、Run Code及示例实测,完整插件组合和设备验收不冒充完成 | L | done |
| SITE-04 | artplayer-vitepress<br>交叉核对逐包持续维护的文档 | CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08, SITE-DANMUKU-01, SITE-HLS-01 | 已随实现更新的中文/英文 API、包内实现地图、旧 JS 示例及已知能力限制的全包核对 | 未把缺环境的能力写成已验证,静态核对不等待设备任务;最终 demo 仍由 EX-03 验收;按 SITE-01 声明成员/候选标题清单逐项语义核对,补齐缺失的双语插件说明和 Danmuku 英文入口 | M | todo |
| SITE-04 | artplayer-vitepress<br>交叉核对逐包持续维护的文档 | CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08, SITE-DANMUKU-01, SITE-HLS-01, SITE-DASH-01 | 已随实现更新的中文/英文 API、包内实现地图、旧 JS 示例及已知能力限制的全包核对 | 未把缺环境的能力写成已验证,静态核对不等待设备任务;最终 demo 仍由 EX-03 验收;按 SITE-01 声明成员/候选标题清单逐项语义核对,补齐缺失的双语插件说明和 Danmuku 英文入口 | M | todo |
| SITE-05 | artplayer-vitepress<br>构建文档站和验证链接/示例 | SITE-04, EX-01, EX-02, SITE-07, SITE-VCONSOLE-01, SITE-CONSOLE-01 | VitePress 构建、链接与嵌入 demo 检查 | 文档构建、链接、嵌入路径与声明注入通过;真实完整 demo 保留 EX-03 独立门槛;核对 ENG-PM-01 登记的搜索 peer 范围和真实搜索行为 | M | todo |
| SITE-06 | artplayer-vitepress<br>文档站交付验收 | SITE-05 | 维护指南和站点变更记录 | 未手改 generated 目录,旧 URL 可用、部署与检查分离 | M | todo |
| SITE-07 | artplayer-vitepress, workspace<br>整理站点第三方资产与来源说明 | SITE-01 | Monaco/vConsole/console bundle/字体和样本的冻结来源、可复现构建或替代与站点 notices | 接续 SITE-01 的字节与换行差异证据;完整许可随实际分发,consoleLog/global/CSS/worker 与旧 URL 兼容;缺字体/媒体使用依据明确处置;资产变更后执行编辑器/移动/字幕/示例回归,不以来源指纹替代授权或运行证据 | H | doing |
@@ -423,6 +423,7 @@
| ID | 范围 / 步骤 | 前置依赖 | 交付物 | 验收条件 | 风险 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| SITE-HLS-01 | artplayer-plugin-hls-control, artplayer-vitepress<br>补齐HLS双语指南并修复示例SDK生命周期 | SITE-03, PKG-HLS-04 | 双语HLS配置/类型/刷新/所有权指南,原示例换源清理和原生回退修复,生成站点与证据 | 同源示例回归复现旧问题并通过,真实SDK播放/换源/销毁与文档导航验证,保留HLS原生异常和设备门槛 | M | done |
| SITE-DASH-01 | artplayer-plugin-dash-control, artplayer-vitepress<br>补齐DASH双语指南并修复示例SDK生命周期 | SITE-03, PKG-DASH-04 | 双语DASH配置/SDK适配/刷新/类型指南,原示例换源清理与空语言回退,生成站点和证据 | 旧示例回归复现并修复,新旧核心与两代真实SDK播放/换源/清理及双语导航验证,保留设备/完整矩阵门槛 | M | done |
## 7 工具链与性能
@@ -668,6 +669,7 @@
- SITE-03: [记录](changes/2026-09-14-SITE-03-desktop-editor.md) [记录](baselines/site-editor-validation.json)
- SITE-DANMUKU-01: [记录](changes/2026-09-15-SITE-DANMUKU-01-guides.md) [记录](baselines/danmuku-docs-validation.json)
- SITE-HLS-01: [记录](changes/2026-09-15-SITE-HLS-01-guides.md) [记录](baselines/hls-docs-validation.json)
- SITE-DASH-01: [记录](changes/2026-09-15-SITE-DASH-01-guides.md) [记录](baselines/dash-docs-validation.json)
- SITE-07: [记录](site-inventory.md) [记录](baselines/site-provenance.json) [记录](changes/2026-09-14-SITE-07-vendor-notices.md) [记录](baselines/site-notices-checkpoint.json) [记录](baselines/site-codicons-provenance.json) [记录](baselines/site-codicons-validation.json) [记录](changes/2026-09-15-SITE-07-codicons.md) [记录](baselines/vconsole-notices-provenance.json) [记录](baselines/vconsole-notices-validation.json) [记录](changes/2026-09-15-SITE-07-vconsole-notices.md) [记录](console-modernization.md) [记录](baselines/site-console-inventory.json) [记录](baselines/site-console-validation.json) [记录](changes/2026-09-15-SITE-07-console-baseline.md) [记录](baselines/console-feed-provenance.json) [记录](changes/2026-09-15-SITE-07-console-feed-source.md) [记录](baselines/console-commonjs-provenance.json) [记录](changes/2026-09-15-SITE-07-console-commonjs.md) [记录](baselines/console-esm-provenance.json) [记录](changes/2026-09-15-SITE-07-console-esm.md) [记录](baselines/console-embedded-notices.json) [记录](baselines/console-notices-validation.json) [记录](changes/2026-09-15-SITE-07-console-notices.md) [记录](baselines/console-embedded-sources.json) [记录](baselines/console-embedded-validation.json) [记录](changes/2026-09-15-SITE-07-console-embedded-sources.md) [记录](baselines/console-derived-attribution.json) [记录](baselines/console-derived-validation.json) [记录](changes/2026-09-15-SITE-07-console-derived-attribution.md) [记录](baselines/console-stackoverflow-provenance.json) [记录](baselines/console-stackoverflow-validation.json) [记录](changes/2026-09-15-SITE-07-console-stackoverflow.md) [记录](baselines/console-shallowequal-validation.json) [记录](changes/2026-09-15-SITE-07-console-shallowequal.md) [记录](console-notice-review.md) [记录](baselines/console-notice-review-validation.json) [记录](changes/2026-09-15-SITE-07-console-notice-review.md) [记录](baselines/monaco-typescript-provenance.json) [记录](baselines/monaco-typescript-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-typescript.md) [记录](baselines/monaco-languages-provenance.json) [记录](baselines/monaco-languages-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-languages.md) [记录](baselines/monaco-language-notices.json) [记录](baselines/monaco-language-notices-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-language-notices.md) [记录](baselines/monaco-modes-provenance.json) [记录](baselines/monaco-modes-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-modes.md) [记录](baselines/monaco-basic-provenance.json) [记录](baselines/monaco-basic-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-basic.md) [记录](baselines/monaco-core-origins-provenance.json) [记录](baselines/monaco-core-origins-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-origins.md) [记录](baselines/monaco-core-build-provenance.json) [记录](baselines/monaco-core-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-build.md) [记录](baselines/monaco-contributions-provenance.json) [记录](baselines/monaco-contributions-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-contributions.md) [记录](baselines/monaco-css-build-provenance.json) [记录](baselines/monaco-css-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-css.md) [记录](baselines/monaco-node-path-provenance.json) [记录](baselines/monaco-node-path-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-node-path.md) [记录](changes/2026-09-15-SITE-07-monaco-dom.md) [记录](baselines/monaco-dom-origins-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-unicode.md) [记录](baselines/monaco-unicode-provenance.json) [记录](baselines/monaco-unicode-validation.json)
- EX-01: [记录](changes/2026-09-14-EX-01-react-consumer.md) [记录](baselines/react-consumer-validation.json) [记录](scripts/react-consumer.mjs)
- EX-02: [记录](changes/2026-09-14-EX-02-vue-consumer.md) [记录](baselines/vue-consumer-validation.json) [记录](scripts/vue-consumer.mjs)
+16
View File
@@ -1,5 +1,21 @@
# 进度与证据
## SITE-DASH-01 双语指南与示例修复
原DASH示例三项回归均失败:换源累积destroy监听器、不支持MSE仍创建控制插件、
音轨lang为null时抛错。修正为局部SDK所有权与单个最终监听器、固定能力分支和
字符串标签回退,三项回归通过;SDK默认设置和插件API不变。
新增双语指南和侧栏,解释两代SDK选择键、回调、同步update、事件刷新和所有权。
两页完整示例与原demo逐字一致。真实SDK播放/换源清理8项、不支持路径4项、
导航6项一次全部通过;Node/文档工具20、站点测试7、两份严格TS片段和lint通过。
8082内置浏览器观察到新代码、视频12:14和画质/音轨菜单,只计页面加载。
见[记录](changes/2026-09-15-SITE-DASH-01-guides.md)与[证据](baselines/dash-docs-validation.json)。
SITE-DASH-01完成、DASH-EXAMPLE-01关闭;原完整SDK/设备/发布任务保持未完成。
站点32 Markdown/41 HTML,中英各16页;209 done、21 doing、43 todo,总273。
没有插件生产源码/公开类型/版本/锁文件修改;无推送、部署或发布。
## SITE-HLS-01 双语指南与示例修复
原HLS示例已复现换源累积destroy监听器及原生回退误装SDK插件,回归2失败/1通过。
+1
View File
@@ -284,3 +284,4 @@
| THUMB-CLEANUP-01 | resolved / 已复现 | Thumbnail 清理吞掉 falsy 监听器异常或覆盖第一个异常值 | PKG-TOOL-THUMB-07, PKG-TOOL-THUMB-04 |
| DASH-CLEANUP-01 | resolved / 已复现 | DASH 菜单和 SDK 清理吞掉 falsy 异常或丢失首个错误 | PKG-DASH-CLEANUP-01, PKG-DASH-05 |
| HLS-EXAMPLE-01 | resolved / 已复现 | HLS示例换源累积销毁监听器且原生回退仍安装SDK控制插件 | SITE-HLS-01, EX-03 |
| DASH-EXAMPLE-01 | resolved / 已复现 | DASH示例重复销毁SDK、无MSE仍注册插件且空语言回调抛错 | SITE-DASH-01, EX-03 |
+25
View File
@@ -6685,6 +6685,31 @@
"refactor/baselines/hls-docs-validation.json"
],
"resolutionRationale": "Actual demo code is used by regression and both runnable guides. Each replaced/final SDK is destroyed once; when Hls.js is unsupported no incompatible control plugin is installed. Local 8082 connected-browser readiness also observed. Separate Firefox native crashes, grouped playback stall and device acceptance remain open."
},
{
"id": "DASH-EXAMPLE-01",
"title": "DASH示例重复销毁SDK、无MSE仍注册插件且空语言回调抛错",
"confirmation": "reproduced",
"status": "resolved",
"owners": [
"SITE-DASH-01",
"EX-03"
],
"evidence": [
"docs/assets/example/dash.control.js",
"test/dash-example.test.js",
"test/browser/document-dash.spec.js",
"refactor/changes/2026-09-15-SITE-DASH-01-guides.md",
"refactor/baselines/dash-docs-validation.json"
],
"compatibleResolution": "示例使用局部SDK所有权、单个最终清理监听器和固定能力分支;音轨语言为空时保留0值并转为字符串ID/Audio回退。插件API和SDK默认初始化设置不变。",
"closureCriteria": "旧示例回归复现,修复后每实例一次销毁、不支持路径与空语言标签正确,真实SDK两代和新旧核心播放/换源/清理有证据;设备/完整矩阵不因此完成。",
"workspaceState": "Old demo 3 fail; corrected example regression 3 pass. Browser: eight actual SDK playback/replacement, four unsupported WebKit setup, six bilingual navigation cases pass. Connected local example metadata/menus observed.",
"resolutionEvidence": [
"refactor/changes/2026-09-15-SITE-DASH-01-guides.md",
"refactor/baselines/dash-docs-validation.json"
],
"resolutionRationale": "Tests execute the actual example and both guides enforce byte-equivalent code. Replaced and final SDKs each receive one destroy call, unsupported setup creates no SDK or plugin, nullable language formatting retains existing language labels and numeric ID zero. This closes the example defects only; complete package/device/DRM acceptance remains separate."
}
]
}
+23 -1
View File
@@ -4458,6 +4458,27 @@
"baselines/hls-docs-validation.json"
]
},
{
"id": "SITE-DASH-01",
"phase": "6 文档和示例",
"title": "补齐DASH双语指南并修复示例SDK生命周期",
"scope": [
"artplayer-plugin-dash-control",
"artplayer-vitepress"
],
"dependsOn": [
"SITE-03",
"PKG-DASH-04"
],
"status": "done",
"risk": "M",
"deliverable": "双语DASH配置/SDK适配/刷新/类型指南,原示例换源清理与空语言回退,生成站点和证据",
"acceptance": "旧示例回归复现并修复,新旧核心与两代真实SDK播放/换源/清理及双语导航验证,保留设备/完整矩阵门槛",
"evidence": [
"changes/2026-09-15-SITE-DASH-01-guides.md",
"baselines/dash-docs-validation.json"
]
},
{
"id": "SITE-04",
"phase": "6 文档与消费者",
@@ -4489,7 +4510,8 @@
"PKG-DANMUKU-06",
"PKG-MB-08",
"SITE-DANMUKU-01",
"SITE-HLS-01"
"SITE-HLS-01",
"SITE-DASH-01"
],
"status": "todo",
"risk": "M",