docs(core): [SITE-04] document public utility contracts

This commit is contained in:
Harvey Zhao committed 2026-09-16 07:27:34 +08:00
1 parent bd3f3c0689
commit 9afbf9940d
96 files changed
+4526 -2333

No files matched your search

File diff suppressed because it is too large. Load diff
+843
View File
@@ -0,0 +1,843 @@
{
"task": "SITE-04",
"taskStatus": "doing",
"sourceBefore": "bd3f3c0689abda6b3f5a40ea30e68ff82e001e78",
"capturedAt": "2026-09-15T23:27:14.204Z",
"validation": {
"task": "SITE-04",
"node": "v24.21.0",
"compiler": "5.9.3",
"static": [
{
"language": "zh",
"name": "class",
"source": {
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d"
},
"html": {
"path": "docs/document/advanced/class.html",
"sha256": "fb32dbc11be42d36342b08a2a01f0413551a8f92e91c63a619deca5bd3007390"
},
"typeFixtures": [
{
"path": "refactor/.cache/site04-utils/zh-class-0.mts",
"sha256": "6072147d2ee9124fe55695e822b82b8277a0083ec3ef562cf5db0188a5ec46bd"
}
],
"snippets": [
{
"id": "advanced/class.md:12",
"sha256": "f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d"
},
{
"id": "advanced/class.md:29",
"sha256": "4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d"
},
{
"id": "advanced/class.md:39",
"sha256": "85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471"
},
{
"id": "advanced/class.md:49",
"sha256": "cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e"
},
{
"id": "advanced/class.md:59",
"sha256": "7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005"
},
{
"id": "advanced/class.md:69",
"sha256": "015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f"
},
{
"id": "advanced/class.md:171",
"sha256": "84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082"
},
{
"id": "advanced/class.md:181",
"sha256": "e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a"
},
{
"id": "advanced/class.md:191",
"sha256": "717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3"
},
{
"id": "advanced/class.md:201",
"sha256": "4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4"
},
{
"id": "advanced/class.md:211",
"sha256": "e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c"
},
{
"id": "advanced/class.md:223",
"sha256": "479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
}
],
"localLinks": [
"/document/advanced/class.html#VPContent",
"/document/",
"/document/en/",
"/document/start/option.html",
"/document/start/i18n.html",
"/document/component/layers.html",
"/document/component/controls.html",
"/document/component/contextmenu.html",
"/document/component/setting.html",
"/document/advanced/property.html",
"/document/advanced/built-in.html",
"/document/advanced/class.html",
"/document/advanced/global.html",
"/document/advanced/event.html",
"/document/advanced/plugin.html",
"/document/plugin/danmuku.html",
"/document/plugin/danmuku-mask.html",
"/document/plugin/ads.html",
"/document/plugin/hls-control.html",
"/document/plugin/dash-control.html",
"/document/plugin/vtt-thumbnail.html",
"/document/plugin/auto-thumbnail.html",
"/document/plugin/multiple-subtitles.html",
"/document/plugin/jassub.html",
"/document/plugin/chromecast.html",
"/document/plugin/vast.html",
"/document/plugin/chapter.html",
"/document/plugin/ambilight.html",
"/document/plugin/document-pip.html",
"/document/plugin/asr.html",
"/document/plugin/audio-track.html",
"/document/tool/iframe.html",
"/document/tool/thumbnail.html",
"/document/proxy/canvas.html",
"/document/proxy/mediabunny.html",
"/document/advanced/class.html#%E9%9D%99%E6%80%81%E5%B1%9E%E6%80%A7",
"/document/advanced/class.html#instances",
"/document/advanced/class.html#version",
"/document/advanced/class.html#env",
"/document/advanced/class.html#build",
"/document/advanced/class.html#config",
"/document/advanced/class.html#utils",
"/document/advanced/class.html#utils-contract",
"/document/advanced/class.html#utils-dom",
"/document/advanced/class.html#utils-measure",
"/document/advanced/class.html#utils-resources",
"/document/advanced/class.html#utils-data",
"/document/advanced/class.html#scheme",
"/document/advanced/class.html#emitter",
"/document/advanced/class.html#validator",
"/document/advanced/class.html#kindof",
"/document/advanced/class.html#html",
"/document/advanced/class.html#option"
]
},
{
"language": "en",
"name": "class",
"source": {
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd"
},
"html": {
"path": "docs/document/en/advanced/class.html",
"sha256": "70d8d136d4de3cfa6bc55e39a397982440a1354fa2fbfb600043eeb76ae2691f"
},
"typeFixtures": [
{
"path": "refactor/.cache/site04-utils/en-class-0.mts",
"sha256": "6072147d2ee9124fe55695e822b82b8277a0083ec3ef562cf5db0188a5ec46bd"
}
],
"snippets": [
{
"id": "en/advanced/class.md:12",
"sha256": "f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d"
},
{
"id": "en/advanced/class.md:29",
"sha256": "4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d"
},
{
"id": "en/advanced/class.md:39",
"sha256": "85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471"
},
{
"id": "en/advanced/class.md:49",
"sha256": "cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e"
},
{
"id": "en/advanced/class.md:59",
"sha256": "7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005"
},
{
"id": "en/advanced/class.md:69",
"sha256": "015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f"
},
{
"id": "en/advanced/class.md:171",
"sha256": "84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082"
},
{
"id": "en/advanced/class.md:181",
"sha256": "e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a"
},
{
"id": "en/advanced/class.md:191",
"sha256": "717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3"
},
{
"id": "en/advanced/class.md:201",
"sha256": "4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4"
},
{
"id": "en/advanced/class.md:211",
"sha256": "e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c"
},
{
"id": "en/advanced/class.md:223",
"sha256": "479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
}
],
"localLinks": [
"/document/en/advanced/class.html#VPContent",
"/document/",
"/document/en/",
"/document/en/start/option.html",
"/document/en/start/i18n.html",
"/document/en/component/layers.html",
"/document/en/component/controls.html",
"/document/en/component/contextmenu.html",
"/document/en/component/setting.html",
"/document/en/advanced/property.html",
"/document/en/advanced/built-in.html",
"/document/en/advanced/class.html",
"/document/en/advanced/global.html",
"/document/en/advanced/event.html",
"/document/en/advanced/plugin.html",
"/document/en/plugin/danmuku.html",
"/document/en/plugin/danmuku-mask.html",
"/document/en/plugin/ads.html",
"/document/en/plugin/hls-control.html",
"/document/en/plugin/dash-control.html",
"/document/en/plugin/vtt-thumbnail.html",
"/document/en/plugin/auto-thumbnail.html",
"/document/en/plugin/multiple-subtitles.html",
"/document/en/plugin/jassub.html",
"/document/en/plugin/chromecast.html",
"/document/en/plugin/vast.html",
"/document/en/plugin/chapter.html",
"/document/en/plugin/ambilight.html",
"/document/en/plugin/document-pip.html",
"/document/en/plugin/asr.html",
"/document/en/plugin/audio-track.html",
"/document/en/tool/iframe.html",
"/document/en/tool/thumbnail.html",
"/document/en/proxy/canvas.html",
"/document/en/proxy/mediabunny.html",
"/document/en/advanced/class.html#static-properties",
"/document/en/advanced/class.html#instances",
"/document/en/advanced/class.html#version",
"/document/en/advanced/class.html#env",
"/document/en/advanced/class.html#build",
"/document/en/advanced/class.html#config",
"/document/en/advanced/class.html#utils",
"/document/en/advanced/class.html#utils-contract",
"/document/en/advanced/class.html#utils-dom",
"/document/en/advanced/class.html#utils-measure",
"/document/en/advanced/class.html#utils-resources",
"/document/en/advanced/class.html#utils-data",
"/document/en/advanced/class.html#scheme",
"/document/en/advanced/class.html#emitter",
"/document/en/advanced/class.html#validator",
"/document/en/advanced/class.html#kindof",
"/document/en/advanced/class.html#html",
"/document/en/advanced/class.html#option"
]
}
],
"browsers": [
{
"engine": "chromium",
"version": "153.0.8010.12",
"language": "zh",
"name": "class",
"passed": true,
"errors": [],
"forwarded": [
"f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d",
"4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d",
"85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471",
"cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e",
"7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005",
"015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f",
"84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082",
"e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a",
"717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3",
"4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4",
"e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c",
"479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
],
"screenshot": {
"path": "refactor/.cache/site04-utils/chromium-zh-class.png",
"sha256": "72997872fa4b4d74234e23e9047368179b114a27ac804074ebd8eff8c9096ad5"
}
},
{
"engine": "chromium",
"version": "153.0.8010.12",
"language": "en",
"name": "class",
"passed": true,
"errors": [],
"forwarded": [
"f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d",
"4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d",
"85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471",
"cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e",
"7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005",
"015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f",
"84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082",
"e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a",
"717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3",
"4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4",
"e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c",
"479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
],
"screenshot": {
"path": "refactor/.cache/site04-utils/chromium-en-class.png",
"sha256": "b45727aac36985a62179e05d3ed60304021707580f09dd3bf9c806d3ea6e1d10"
}
},
{
"engine": "firefox",
"version": "155.0",
"language": "zh",
"name": "class",
"passed": true,
"errors": [],
"forwarded": [
"f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d",
"4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d",
"85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471",
"cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e",
"7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005",
"015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f",
"84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082",
"e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a",
"717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3",
"4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4",
"e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c",
"479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
],
"screenshot": {
"path": "refactor/.cache/site04-utils/firefox-zh-class.png",
"sha256": "63605e64993b509fcc0d397abbde591a03f9fac15cd880450ac4332df3a4aa61"
}
},
{
"engine": "firefox",
"version": "155.0",
"language": "en",
"name": "class",
"passed": true,
"errors": [],
"forwarded": [
"f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d",
"4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d",
"85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471",
"cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e",
"7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005",
"015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f",
"84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082",
"e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a",
"717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3",
"4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4",
"e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c",
"479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
],
"screenshot": {
"path": "refactor/.cache/site04-utils/firefox-en-class.png",
"sha256": "e50af9301fb7177e8204e8b693336a182b60cc964901c7c09f684163fe1639a0"
}
},
{
"engine": "webkit",
"version": "26.6",
"language": "zh",
"name": "class",
"passed": true,
"errors": [],
"forwarded": [
"f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d",
"4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d",
"85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471",
"cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e",
"7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005",
"015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f",
"84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082",
"e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a",
"717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3",
"4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4",
"e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c",
"479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
],
"screenshot": {
"path": "refactor/.cache/site04-utils/webkit-zh-class.png",
"sha256": "6b0219de251ddd18a31decee75063d7938a6374c4a77fa9a34104c5114a5846f"
}
},
{
"engine": "webkit",
"version": "26.6",
"language": "en",
"name": "class",
"passed": true,
"errors": [],
"forwarded": [
"f6116dd700782b3a3abdd82af44d7ba67a81355012efdc0f18d73e1cab65f80d",
"4699bde73558d763e96a388404adaaff25d6a78051cf4937bde949bf5a80aa9d",
"85a4e9a47cd740b98bfa08b6747b26ce87aeadafc522fbb2d2f67a8ca448a471",
"cc3a5dae8a05a2f46cb882b095229e6d1f4937b2b0c476cb387e8d3bf6c63e5e",
"7e5d31329eb55513625162d8044132caa33109972cf6bb61b1e44fe777d77005",
"015b6d015ed056fbc4493875348a6067a8abd1e1fe65299210a6b7210808ae7f",
"84260b064bc33095f95a2e4ea2da71176821c749b03186a59b9c878f382aa082",
"e4c70c3d623e35cb18a7ad1fb8b7388442666d00bdf38f0732ee074460a1579a",
"717c32a8c00f52626868d840910b93a744f24d5bfe283434d2462510efbccbe3",
"4402e4041ca0d5e807aa334fd36b292296c0e65510b98811cfc41dfea9c125d4",
"e66ec4191c93c9c3f81530d765fd68edf702c265448e5a2602a5f06e1bc5b91c",
"479b94070bf574ba7e495d1a15e5bcd006e1fe8b04699d85af17faac9b64640a"
],
"screenshot": {
"path": "refactor/.cache/site04-utils/webkit-en-class.png",
"sha256": "d68bfec6c2638dce663c96c078e1b8e6a34c79695333f3ae8b123c681658f4f7"
}
}
],
"dom": [
{
"engine": "chromium",
"version": "153.0.8010.12",
"passed": true,
"errors": [],
"checks": [
"browser snapshot fields",
"query descendant boundary and missing null",
"queryAll fresh arrays",
"invalid selector throws",
"append element moves node",
"append text preserves last element return",
"append empty HTML can return null",
"class return and membership",
"removeClass returns undefined",
"siblings and inverseClass",
"replace returns new and remove returns removed",
"detached removal throws",
"style helpers return identity",
"inherited style keys and number/raw reads",
"nonnumeric computed style yields NaN",
"style text reuses owned id and applies CSS",
"getRect native shape and viewport intersection",
"out of viewport false",
"safe area finite values and probe removal",
"flex CSS capability boolean",
"native path receiver",
"native path identity",
"fallback path and inclusion",
"icon fresh wrapper moves supplied element",
"tooltip attributes retain prior direction",
"def has get preserve native property descriptors",
"merge nested keys and historical array flattening",
"merge prototype key stored as own data",
"formatting and extension conventions",
"escape fixed entities and single-pass unescape",
"error identity and truthy passthrough",
"silence rejected promise and plain value",
"silence catch duck type",
"sleep resolves undefined",
"debounce last receiver arguments and void result",
"throttle leading void and drops immediate repeat",
"subtitle converters return WebVTT",
"subtitle Blob URL type and bytes",
"original image URL and loaded dimensions",
"scaled image caller-owned blob and dimensions",
"scaled image blob remains available until caller cleanup"
]
},
{
"engine": "firefox",
"version": "155.0",
"passed": true,
"errors": [],
"checks": [
"browser snapshot fields",
"query descendant boundary and missing null",
"queryAll fresh arrays",
"invalid selector throws",
"append element moves node",
"append text preserves last element return",
"append empty HTML can return null",
"class return and membership",
"removeClass returns undefined",
"siblings and inverseClass",
"replace returns new and remove returns removed",
"detached removal throws",
"style helpers return identity",
"inherited style keys and number/raw reads",
"nonnumeric computed style yields NaN",
"style text reuses owned id and applies CSS",
"getRect native shape and viewport intersection",
"out of viewport false",
"safe area finite values and probe removal",
"flex CSS capability boolean",
"native path receiver",
"native path identity",
"fallback path and inclusion",
"icon fresh wrapper moves supplied element",
"tooltip attributes retain prior direction",
"def has get preserve native property descriptors",
"merge nested keys and historical array flattening",
"merge prototype key stored as own data",
"formatting and extension conventions",
"escape fixed entities and single-pass unescape",
"error identity and truthy passthrough",
"silence rejected promise and plain value",
"silence catch duck type",
"sleep resolves undefined",
"debounce last receiver arguments and void result",
"throttle leading void and drops immediate repeat",
"subtitle converters return WebVTT",
"subtitle Blob URL type and bytes",
"original image URL and loaded dimensions",
"scaled image caller-owned blob and dimensions",
"scaled image blob remains available until caller cleanup"
]
},
{
"engine": "webkit",
"version": "26.6",
"passed": true,
"errors": [],
"checks": [
"browser snapshot fields",
"query descendant boundary and missing null",
"queryAll fresh arrays",
"invalid selector throws",
"append element moves node",
"append text preserves last element return",
"append empty HTML can return null",
"class return and membership",
"removeClass returns undefined",
"siblings and inverseClass",
"replace returns new and remove returns removed",
"detached removal throws",
"style helpers return identity",
"inherited style keys and number/raw reads",
"nonnumeric computed style yields NaN",
"style text reuses owned id and applies CSS",
"getRect native shape and viewport intersection",
"out of viewport false",
"safe area finite values and probe removal",
"flex CSS capability boolean",
"native path receiver",
"native path identity",
"fallback path and inclusion",
"icon fresh wrapper moves supplied element",
"tooltip attributes retain prior direction",
"def has get preserve native property descriptors",
"merge nested keys and historical array flattening",
"merge prototype key stored as own data",
"formatting and extension conventions",
"escape fixed entities and single-pass unescape",
"error identity and truthy passthrough",
"silence rejected promise and plain value",
"silence catch duck type",
"sleep resolves undefined",
"debounce last receiver arguments and void result",
"throttle leading void and drops immediate repeat",
"subtitle converters return WebVTT",
"subtitle Blob URL type and bytes",
"original image URL and loaded dimensions",
"scaled image caller-owned blob and dimensions",
"scaled image blob remains available until caller cleanup"
]
}
],
"complete": true,
"limitations": [
"Page navigation and DOM contracts only; no playback, codec, physical-device or release acceptance."
],
"core": {
"artifact": {
"path": "packages/artplayer/dist/artplayer.js",
"sha256": "8a4caaa50a069875b3898a83765457b3c502700f4731d0c38988d6c463c3d20a"
},
"candidate": {
"kind": "npm-tarball",
"path": "refactor/.cache/packages/run-qQwwPA/artplayer.tgz",
"version": "6.0.0",
"sourceCommit": "96962a69a4faaecd986387efadb54c5623a23f2c",
"inputFingerprint": "f580b888bb9664b4dd30d900152a7b20560a49adc176ad9782103f7fe89be848",
"integrity": "sha512-+2+VWecKb9CbI3wTCs0sV7au8SNShyXahpwDAmGgZhDr22wbdv51QZnLnkPwgMgfNpVuTbsZ6A26Lpj3eY7NbQ=="
}
}
},
"semanticMapping": {
"addedRecords": 105,
"totalRecords": 463,
"remainingInventoryRecords": 500,
"unchanged": [
{
"group": "template",
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"nonUtilsSha256": "e8ed7ccb7de66d7151e3d0f361da1551311eaeba1be1a41601d22443eb664e16"
},
{
"group": "template",
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"nonUtilsSha256": "9c8ac5d2d7c441b82dea9af0cf6ee01d0c6cb55c6069549c102b9c378b08ee6a"
}
]
},
"tests": {
"count": 57,
"pass": 57,
"fail": 0,
"skipped": 0,
"durationMs": 1355.0013,
"suites": [
"utils",
"environment",
"dom-boundaries",
"thumbnails",
"site-loading",
"documentation-pipeline"
]
},
"build": {
"vitepressSeconds": 9.4,
"yarnSeconds": 10.89,
"checked": [
"build:docs",
"build:llm",
"check:llm",
"site-inventory --write/--check",
"demos --check"
]
},
"ledger": {
"report": {
"path": "refactor/.cache/release-ledger-K1Ya81/report.json",
"sha256": "602a2b0c2138798d4ba97cd9c82f8fd341237a1cc7d1d83dbfe4d07ac3a6a76b"
},
"libraries": [
{
"name": "artplayer",
"fingerprint": "f580b888bb9664b4dd30d900152a7b20560a49adc176ad9782103f7fe89be848",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-ads",
"fingerprint": "55236854b94ac7b0dd91b4107dcb60e97ac6f1a5e8b6b8a9dcb63bba66c6509a",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-ambilight",
"fingerprint": "f88a6a2f1c5548389cae293614f648d72077ed03a7be6c81ad017a1155a839a3",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-asr",
"fingerprint": "7fa3ca9577b53f3bb90e2c23fec9e6e70fbbb0c089ccae2923084b9059bcbdf9",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-audio-track",
"fingerprint": "0c73b970872fe56df1c669e5badfa91f9cd7ec3c73070a9852cfea076cc8923f",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-auto-thumbnail",
"fingerprint": "9ced9b18e4b260ccbcf6ac016b32ec0852040cb5c0f57be72718a03d40d598bf",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-chapter",
"fingerprint": "f1dd73097e43df504f686f18a6ca30bcb1f57ab74d3cc62909db20505c994072",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-chromecast",
"fingerprint": "d6d79d4b47afaefa66d32c5b1709f412ed9d32c636462723918c268a6601e631",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-danmuku",
"fingerprint": "3d32a4c6d94d9eaa31cd982ec43ae2b710a4c923e5076f357ba4c902be48d729",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-danmuku-mask",
"fingerprint": "ceb17cbb235a42438c28df15ddf830d104a749b58515333c43da2b18534b166c",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-dash-control",
"fingerprint": "6716002b92bb12b54d17772d87a560bb9e863da35abfa37988907d54e02cdf74",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-document-pip",
"fingerprint": "a3a56ecc218c8e180621d1bc00684950cca4ada8d483334b0cb91fd783c10831",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-hls-control",
"fingerprint": "00a07f33277bae211a553e9fb2e924ade219513135bc54921886f4518dd27964",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-jassub",
"fingerprint": "cc9304759ff3cdd84767eee38fcbb9cf70e234f2449946536fd1da972cde679f",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-multiple-subtitles",
"fingerprint": "43825f602514c9e6a0bd8f0a270a54a03d1cb76f821b99d1e736d0150dafc190",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-vast",
"fingerprint": "3503e145a591a406105eb953f9ac75c8373992c9f3f1f23b713de65c85a3bb3d",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-plugin-vtt-thumbnail",
"fingerprint": "b7932e08a086cfe16ed5e78872e274fb897931d0653dbf7ac61a19b404ddec85",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-proxy-canvas",
"fingerprint": "a0a8efb762e823fe4dd8c8de9601f74ac873ade8c6953a7e5305297608c71a12",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-proxy-mediabunny",
"fingerprint": "9fd7e62c56ae78866267cdd5650dc4e4af4aad76dd6ff8466b68908bc25d661c",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-tool-iframe",
"fingerprint": "00dc477ad56d12cfa6cd0d1e071e80f4120afed23f44af0393e23e5dac516a3b",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
},
{
"name": "artplayer-tool-thumbnail",
"fingerprint": "78bf5be3b2b5656a0b95ce2ce3cf1a635b6df609361a840b8298476f65af9d52",
"build": {
"status": "evidence-recorded"
},
"status": "blocked"
}
],
"publicationAuthorized": false
},
"limitations": [
"Native DOM/CSS and same-origin canvas/image/Blob checks; no cross-origin image permissions, actual download completion, physical safe-area or playback acceptance.",
"Pure/timer/UA/cleanup behavior also covered by existing Node tests; semantic mapping is not 105 distinct browser scenarios."
],
"visualInspection": "chromium-en-class.png",
"attachments": [
{
"path": "refactor/.cache/site04-utils-validate.mjs",
"sha256": "56dc60e058cb8dcf7b55ab77430cf36e1ee068f8582d7c4e72e6e02dc386a166"
},
{
"path": "refactor/.cache/site04-utils-probe.js",
"sha256": "2db8cc7b1f9f7df253648b1d2999ba84f5b9bca55cb6815de7f5048d2082b6bc"
},
{
"path": "refactor/.cache/site04-utils/report.json",
"sha256": "4682985e144bb4a4200b8b13ca8d92871b35f978c98a3241f5514f882ccd709e"
},
{
"path": "refactor/.cache/site04-utils-build.log",
"sha256": "c63c5a1bca428161f4eae3f2d602e81d92bd030113707fa64a615ac8fea3d39c"
},
{
"path": "refactor/.cache/site04-utils-llm.log",
"sha256": "cbe556196ba9e9ed51611ff28c7d76638026afb7b74aea4bc41229c0e0b224be"
},
{
"path": "refactor/.cache/site04-utils-tests.log",
"sha256": "7939f3fee5f0ad8e89f42e3e81c4c1e7b4cb5fe7bc9379884ac8288d8d1c73a8"
},
{
"path": "refactor/.cache/site04-utils-validate.log",
"sha256": "b9d639b5ee3a69900075d885f295626627ccfb90a587a159336fc0d21d1bf37c"
},
{
"path": "refactor/.cache/site04-utils-ledger.log",
"sha256": "e97a681e6cd980155047577b874ef84e68ebedf77368b54893c426cbe5520d8a"
}
]
}
@@ -0,0 +1,26 @@
# SITE-04 公共工具函数指南
起点:`bd3f3c0689abda6b3f5a40ea30e68ff82e001e78`。继续实施期文档核对,
不进入正式复盘。SITE-04 保持 doing。
双语静态属性指南按环境/类型、DOM/样式、事件/测量、字幕/图片/文件、数据/错误/
调度补齐全部50个工具成员。明确原生返回值、失败条件、字符串HTML插入、类型
历史差异,以及公开loadImg缩放结果和vttToBlob的调用者URL归属。说明mergeDeep
并非深拷贝、数组展开规则、debounce/throttle返回和receiver、catch能力判断等边界。
没有修改核心实现、公开声明或旧24个Run Code片段。
新增105条声明映射:根/runtime各50个工具成员、3个结构输入成员、2个静态入口。
累计463/963,500条仍待核对。既有分组源码哈希不变,静态属性指南在utils章节
之外与起点逐字一致(LF归一化后),才刷新相应整页哈希;不把这些条目算作105个
不同的浏览器用例。
Node24.21.0 / Yarn1.22.22:57项既有测试通过,0失败/跳过,1355.0013ms。
VitePress9.40秒,Yarn整体10.89秒;LLM生成/只读检查、站点清点及demo检查通过。
两份strict/NodeNext TS示例通过。六组页面、72次代码转发一致;Chromium
153.0.8010.12、Firefox155.0、WebKit26.6各41项工具断言通过,包含真实DOM、
CSS、图片缩放、Blob读取与调用者回收。英文页面截图目视检查通过。
不据此证明跨域图片权限、下载完成、真机safe-area或完整播放验收。21库build
证据仍有效,其他发布门槛未变,无推送/发布。证据与文件指纹见
[报告](../baselines/site04-utils.json)。docs/document及LLM由脚本生成;回退本提交
只恢复文档/生成内容,不改变核心行为。继续构造配置、事件及播放等剩余文档。
+890 -9
View File
@@ -3,13 +3,13 @@
"task": "SITE-04",
"inventory": {
"path": "refactor/baselines/site-inventory.json",
"sha256": "ada7e484d1d751be99fb56a145a6578eb1642a5e3ef9c3ab54aa5e451fd5b2bb"
"sha256": "d2716e432d8c41620f75c7596cdd1562345eeb629dc8ffc33c5ae0f4374fdf6f"
},
"reviewedAt": "2026-09-15T23:17:13.870Z",
"reviewedAt": "2026-09-15T23:27:14.203Z",
"counts": {
"inventoryRecords": 963,
"reviewedRecords": 358,
"unreviewedRecords": 605
"reviewedRecords": 463,
"unreviewedRecords": 500
},
"note": "Explicit declaration-record semantic mapping, including overload/getter/setter rows and root/runtime aliases. Counts are not overall API or release completion. Recheck affected groups if their source/document hashes drift. Other declarations and inline members are not implicitly covered.",
"groups": [
@@ -1333,7 +1333,7 @@
},
{
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "60827510623121359fe7c44f6c03cee72d978217cc52948dde2a265f5e691edf",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d",
"anchor": "html"
},
{
@@ -1343,15 +1343,15 @@
},
{
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "611d4f548b3b21a3193033e3c27d01cf42bbb6742e69c57f36a5bb10f81c3daa",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd",
"anchor": "html"
}
],
"evidence": "baselines/site04-template-icons.json",
"documentHashRevalidation": {
"sourceBefore": "de45f5b978a69aaae3b466325ac4dce35bd0dee2",
"evidence": "baselines/site04-subtitle.json",
"reason": "Whole-guide hash changed for subtitle section only. All content outside that section is byte-identical after LF normalization; source hashes remain unchanged."
"sourceBefore": "bd3f3c0689abda6b3f5a40ea30e68ff82e001e78",
"evidence": "baselines/site04-utils.json",
"reason": "Whole-guide hash changed for utils section only. All content outside it is byte-identical after LF normalization; source hashes remain unchanged."
}
},
{
@@ -3355,6 +3355,887 @@
}
],
"evidence": "baselines/site04-subtitle.json"
},
{
"id": "utils",
"status": "semantic-reviewed",
"conclusion": "All50 utility members in root/runtime plus structural input helpers and constructor views: import-time UA heuristics; native DOM/string conversion, exact returns and failures; styles, event paths and measurements; subtitle conversions, caller-owned URLs/scaled images, download limitations; own descriptors/deep-merge reference and array rules, formatting/errors, catch duck typing, timer receivers/returns/reentry. Utility resources are not player-owned. No physical safe-area, cross-origin image or browser download completion claim.",
"records": [
{
"id": "packages/artplayer/public/artplayer.ts#Artplayer.utils@45",
"file": "packages/artplayer/public/artplayer.ts",
"declaration": "Artplayer",
"name": "utils",
"line": 45
},
{
"id": "packages/artplayer/public/runtime.ts#ArtplayerConstructor.utils@113",
"file": "packages/artplayer/public/runtime.ts",
"declaration": "ArtplayerConstructor",
"name": "utils",
"line": 113
},
{
"id": "packages/artplayer/public/runtime/utils.ts#StyledElement.style@1",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "StyledElement",
"name": "style",
"line": 1
},
{
"id": "packages/artplayer/public/runtime/utils.ts#EventPathSource.target@3",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "EventPathSource",
"name": "target",
"line": 3
},
{
"id": "packages/artplayer/public/runtime/utils.ts#EventPathSource.composedPath@4",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "EventPathSource",
"name": "composedPath",
"line": 4
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.isBrowser@9",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "isBrowser",
"line": 9
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.userAgent@10",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "userAgent",
"line": 10
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.isMobile@11",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "isMobile",
"line": 11
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.isSafari@12",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "isSafari",
"line": 12
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.isIOS@13",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "isIOS",
"line": 13
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.isIOS13@14",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "isIOS13",
"line": 14
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.query@15",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "query",
"line": 15
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.queryAll@16",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "queryAll",
"line": 16
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.addClass@17",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "addClass",
"line": 17
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.removeClass@18",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "removeClass",
"line": 18
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.hasClass@19",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "hasClass",
"line": 19
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.append@20",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "append",
"line": 20
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.remove@21",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "remove",
"line": 21
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.replaceElement@22",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "replaceElement",
"line": 22
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.siblings@23",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "siblings",
"line": 23
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.inverseClass@24",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "inverseClass",
"line": 24
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.createElement@25",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "createElement",
"line": 25
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.setStyle@29",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "setStyle",
"line": 29
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.setStyles@30",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "setStyles",
"line": 30
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.getStyle@31",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "getStyle",
"line": 31
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.setStyleText@36",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "setStyleText",
"line": 36
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.getRect@37",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "getRect",
"line": 37
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.tooltip@38",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "tooltip",
"line": 38
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.isInViewport@39",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "isInViewport",
"line": 39
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.includeFromEvent@40",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "includeFromEvent",
"line": 40
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.getSafeAreaInsets@41",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "getSafeAreaInsets",
"line": 41
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.srtToVtt@42",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "srtToVtt",
"line": 42
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.vttToBlob@43",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "vttToBlob",
"line": 43
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.assToVtt@44",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "assToVtt",
"line": 44
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.getExt@45",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "getExt",
"line": 45
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.download@46",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "download",
"line": 46
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.loadImg@47",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "loadImg",
"line": 47
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.errorHandle@48",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "errorHandle",
"line": 48
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.silencePromise@49",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "silencePromise",
"line": 49
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.def@50",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "def",
"line": 50
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.has@51",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "has",
"line": 51
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.get@52",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "get",
"line": 52
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.mergeDeep@53",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "mergeDeep",
"line": 53
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.sleep@54",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "sleep",
"line": 54
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.debounce@56",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "debounce",
"line": 56
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.throttle@57",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "throttle",
"line": 57
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.clamp@58",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "clamp",
"line": 58
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.secondToTime@59",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "secondToTime",
"line": 59
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.escape@60",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "escape",
"line": 60
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.unescape@61",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "unescape",
"line": 61
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.capitalize@62",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "capitalize",
"line": 62
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.ArtPlayerError@63",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "ArtPlayerError",
"line": 63
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.getIcon@64",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "getIcon",
"line": 64
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.getComposedPath@65",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "getComposedPath",
"line": 65
},
{
"id": "packages/artplayer/public/runtime/utils.ts#Utils.supportsFlex@66",
"file": "packages/artplayer/public/runtime/utils.ts",
"declaration": "Utils",
"name": "supportsFlex",
"line": 66
},
{
"id": "packages/artplayer/public/utils.ts#Utils.isBrowser@2",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "isBrowser",
"line": 2
},
{
"id": "packages/artplayer/public/utils.ts#Utils.userAgent@3",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "userAgent",
"line": 3
},
{
"id": "packages/artplayer/public/utils.ts#Utils.isMobile@4",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "isMobile",
"line": 4
},
{
"id": "packages/artplayer/public/utils.ts#Utils.isSafari@5",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "isSafari",
"line": 5
},
{
"id": "packages/artplayer/public/utils.ts#Utils.isIOS@6",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "isIOS",
"line": 6
},
{
"id": "packages/artplayer/public/utils.ts#Utils.isIOS13@7",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "isIOS13",
"line": 7
},
{
"id": "packages/artplayer/public/utils.ts#Utils.query@9",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "query",
"line": 9
},
{
"id": "packages/artplayer/public/utils.ts#Utils.queryAll@10",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "queryAll",
"line": 10
},
{
"id": "packages/artplayer/public/utils.ts#Utils.addClass@11",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "addClass",
"line": 11
},
{
"id": "packages/artplayer/public/utils.ts#Utils.removeClass@12",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "removeClass",
"line": 12
},
{
"id": "packages/artplayer/public/utils.ts#Utils.hasClass@13",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "hasClass",
"line": 13
},
{
"id": "packages/artplayer/public/utils.ts#Utils.append@14",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "append",
"line": 14
},
{
"id": "packages/artplayer/public/utils.ts#Utils.remove@15",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "remove",
"line": 15
},
{
"id": "packages/artplayer/public/utils.ts#Utils.replaceElement@16",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "replaceElement",
"line": 16
},
{
"id": "packages/artplayer/public/utils.ts#Utils.siblings@17",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "siblings",
"line": 17
},
{
"id": "packages/artplayer/public/utils.ts#Utils.inverseClass@18",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "inverseClass",
"line": 18
},
{
"id": "packages/artplayer/public/utils.ts#Utils.createElement@19",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "createElement",
"line": 19
},
{
"id": "packages/artplayer/public/utils.ts#Utils.setStyle@20",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "setStyle",
"line": 20
},
{
"id": "packages/artplayer/public/utils.ts#Utils.setStyles@25",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "setStyles",
"line": 25
},
{
"id": "packages/artplayer/public/utils.ts#Utils.getStyle@26",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "getStyle",
"line": 26
},
{
"id": "packages/artplayer/public/utils.ts#Utils.setStyleText@30",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "setStyleText",
"line": 30
},
{
"id": "packages/artplayer/public/utils.ts#Utils.getRect@31",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "getRect",
"line": 31
},
{
"id": "packages/artplayer/public/utils.ts#Utils.tooltip@32",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "tooltip",
"line": 32
},
{
"id": "packages/artplayer/public/utils.ts#Utils.isInViewport@33",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "isInViewport",
"line": 33
},
{
"id": "packages/artplayer/public/utils.ts#Utils.includeFromEvent@34",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "includeFromEvent",
"line": 34
},
{
"id": "packages/artplayer/public/utils.ts#Utils.getSafeAreaInsets@35",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "getSafeAreaInsets",
"line": 35
},
{
"id": "packages/artplayer/public/utils.ts#Utils.srtToVtt@37",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "srtToVtt",
"line": 37
},
{
"id": "packages/artplayer/public/utils.ts#Utils.vttToBlob@38",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "vttToBlob",
"line": 38
},
{
"id": "packages/artplayer/public/utils.ts#Utils.assToVtt@39",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "assToVtt",
"line": 39
},
{
"id": "packages/artplayer/public/utils.ts#Utils.getExt@41",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "getExt",
"line": 41
},
{
"id": "packages/artplayer/public/utils.ts#Utils.download@42",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "download",
"line": 42
},
{
"id": "packages/artplayer/public/utils.ts#Utils.loadImg@43",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "loadImg",
"line": 43
},
{
"id": "packages/artplayer/public/utils.ts#Utils.errorHandle@45",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "errorHandle",
"line": 45
},
{
"id": "packages/artplayer/public/utils.ts#Utils.silencePromise@46",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "silencePromise",
"line": 46
},
{
"id": "packages/artplayer/public/utils.ts#Utils.def@47",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "def",
"line": 47
},
{
"id": "packages/artplayer/public/utils.ts#Utils.has@52",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "has",
"line": 52
},
{
"id": "packages/artplayer/public/utils.ts#Utils.get@53",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "get",
"line": 53
},
{
"id": "packages/artplayer/public/utils.ts#Utils.mergeDeep@54",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "mergeDeep",
"line": 54
},
{
"id": "packages/artplayer/public/utils.ts#Utils.sleep@56",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "sleep",
"line": 56
},
{
"id": "packages/artplayer/public/utils.ts#Utils.debounce@58",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "debounce",
"line": 58
},
{
"id": "packages/artplayer/public/utils.ts#Utils.throttle@60",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "throttle",
"line": 60
},
{
"id": "packages/artplayer/public/utils.ts#Utils.clamp@62",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "clamp",
"line": 62
},
{
"id": "packages/artplayer/public/utils.ts#Utils.secondToTime@63",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "secondToTime",
"line": 63
},
{
"id": "packages/artplayer/public/utils.ts#Utils.escape@64",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "escape",
"line": 64
},
{
"id": "packages/artplayer/public/utils.ts#Utils.unescape@65",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "unescape",
"line": 65
},
{
"id": "packages/artplayer/public/utils.ts#Utils.capitalize@66",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "capitalize",
"line": 66
},
{
"id": "packages/artplayer/public/utils.ts#Utils.ArtPlayerError@68",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "ArtPlayerError",
"line": 68
},
{
"id": "packages/artplayer/public/utils.ts#Utils.getIcon@70",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "getIcon",
"line": 70
},
{
"id": "packages/artplayer/public/utils.ts#Utils.getComposedPath@71",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "getComposedPath",
"line": 71
},
{
"id": "packages/artplayer/public/utils.ts#Utils.supportsFlex@72",
"file": "packages/artplayer/public/utils.ts",
"declaration": "Utils",
"name": "supportsFlex",
"line": 72
}
],
"sources": [
{
"path": "packages/artplayer/src/index.ts",
"sha256": "20cfe3738b3ce7e11b69721a5f0bdad9db77807417d8e421397a40dfade4c047"
},
{
"path": "packages/artplayer/src/utils/index.ts",
"sha256": "5211af833dddb2937d25dcc772740d62f9d5c5039ce5505bffff0796d4afd756"
},
{
"path": "packages/artplayer/src/utils/compatibility.ts",
"sha256": "1fd2a5b17ee3245712eda961d3c0a15caf3c428010112e48231890176ce1e5e2"
},
{
"path": "packages/artplayer/src/utils/dom.ts",
"sha256": "72f3539dabf296df37ab4cc7ade0c8ac9480f399987101589450c787e7d6719b"
},
{
"path": "packages/artplayer/src/utils/error.ts",
"sha256": "ba303c7d4e4228919088f9d608fa364596f5853ee646eda2008deee354866f38"
},
{
"path": "packages/artplayer/src/utils/file.ts",
"sha256": "ea71d7fc0e818d473bf5a596211ba9d571e4febdf1878014eadefa8d0a98d4cc"
},
{
"path": "packages/artplayer/src/utils/format.ts",
"sha256": "891df5b7542b713aef46bf2b93924f42e68eee574afd802db3e6c62ff2655ede"
},
{
"path": "packages/artplayer/src/utils/property.ts",
"sha256": "c737d4582a4382f4038d12dafdf8b43418e508c9b8b859b2f0cc17c20f370343"
},
{
"path": "packages/artplayer/src/utils/subtitle.ts",
"sha256": "f058851d11a418e321a8a498472b67fa535fec2c7b5d3df739b6b4f263d00337"
},
{
"path": "packages/artplayer/src/utils/time.ts",
"sha256": "b8ce3d50865f6c343e8e3ce9f5c87de565a87b4e9fbcbccbe7030e30e80b93fe"
},
{
"path": "packages/artplayer/src/dom/tree.ts",
"sha256": "3bc517ab9fa5317a1445156d53afb27182685eb3b4c0ac2ff41bbde55c9eecb6"
},
{
"path": "packages/artplayer/src/dom/styles.ts",
"sha256": "734e0a4e04d666417a18ac09ed6271ee7630c399d52d7f510a1c19fd6e7b3493"
},
{
"path": "packages/artplayer/src/dom/measure.ts",
"sha256": "84a599351d26a790c5a8f6e7d271486a0a68d5b58457d8ce754d540b54902b96"
},
{
"path": "packages/artplayer/src/dom/presentation.ts",
"sha256": "500bded394579dd8194778f73cc44d0724f0a59cb5400957491928534ed091c6"
},
{
"path": "packages/artplayer/src/dom/event-path.ts",
"sha256": "e952ea847a2e844a79c5c1b83035e03917e0294b80b1eb8af3b3bec0d2f7d333"
},
{
"path": "packages/artplayer/src/image/load.ts",
"sha256": "b4f1517243249d5fb017b89f993660e8b148906bbf28d08fe5c9f6d3a41e1e88"
},
{
"path": "packages/artplayer/src/style/inject.ts",
"sha256": "9cddbe51b5de0da74f27c045ab982b509c3854cc6b81eeb02a6b974914760a4d"
},
{
"path": "packages/artplayer/public/artplayer.ts",
"sha256": "26a42ac66811e70f68a8ebe62cbf304eb1993451b3e658961be98e7106162527"
},
{
"path": "packages/artplayer/public/runtime.ts",
"sha256": "ec4b1d56993eb482a77eb0f94b701047549d009e6ba6433f27e7d464fef30c2b"
},
{
"path": "packages/artplayer/public/runtime/utils.ts",
"sha256": "cab9916f5224a3b047812b9f759cc9cc62105662599744067a6955020ab36916"
},
{
"path": "packages/artplayer/public/utils.ts",
"sha256": "494ec447ab467a07ddd7a2c2abf778b3fce69fd28a09aaa8ced9759f8de2e3f6"
}
],
"docs": [
{
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d",
"anchor": "utils-contract"
},
{
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d",
"anchor": "utils-dom"
},
{
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d",
"anchor": "utils-measure"
},
{
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d",
"anchor": "utils-resources"
},
{
"path": "packages/artplayer-vitepress/docs/advanced/class.md",
"sha256": "ed2f823700ddac69a625514cb688fcb0124a2d42db51bac438c7e4cfca255c1d",
"anchor": "utils-data"
},
{
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd",
"anchor": "utils-contract"
},
{
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd",
"anchor": "utils-dom"
},
{
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd",
"anchor": "utils-measure"
},
{
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd",
"anchor": "utils-resources"
},
{
"path": "packages/artplayer-vitepress/docs/en/advanced/class.md",
"sha256": "9c34e8c1efa6eeb118072a41d7cae8b5f9a78dcfe33a3491b7ffb2fcc2aa9bbd",
"anchor": "utils-data"
}
],
"evidence": "baselines/site04-utils.json"
}
]
}
+1 -1
View File
@@ -687,7 +687,7 @@
- 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-04: [记录](site-content-review.md) [记录](changes/2026-09-16-SITE-04-chapter-ambilight-guides.md) [记录](baselines/site04-chapter-ambilight-guides.json) [记录](changes/2026-09-16-SITE-04-dpip-asr-guides.md) [记录](baselines/site04-dpip-asr-guides.json) [记录](changes/2026-09-16-SITE-04-auto-multi-guides.md) [记录](baselines/site04-auto-multi-guides.json) [记录](changes/2026-09-16-SITE-04-ads-vast-guides.md) [记录](baselines/site04-ads-vast-guides.json) [记录](changes/2026-09-16-SITE-04-jassub-mask-cast-guides.md) [记录](baselines/site04-jassub-mask-cast-guides.json) [记录](changes/2026-09-16-SITE-04-tools-guides.md) [记录](baselines/site04-tools-guides.json) [记录](changes/2026-09-16-SITE-04-proxies-guides.md) [记录](baselines/site04-proxies-guides.json) [记录](changes/2026-09-16-SITE-04-existing-guides.md) [记录](baselines/site04-existing-guides.json) [记录](core-content-review.json) [记录](baselines/site04-core-services.json) [记录](changes/2026-09-16-SITE-04-core-services.md) [记录](baselines/site04-template-icons.json) [记录](changes/2026-09-16-SITE-04-template-icons.md) [记录](baselines/site04-components.json) [记录](changes/2026-09-16-SITE-04-components.md) [记录](baselines/site04-setting.json) [记录](changes/2026-09-16-SITE-04-setting.md) [记录](baselines/site04-plugin-registry.json) [记录](changes/2026-09-16-SITE-04-plugin-registry.md) [记录](baselines/site04-subtitle.json) [记录](changes/2026-09-16-SITE-04-subtitle.md)
- SITE-04: [记录](site-content-review.md) [记录](changes/2026-09-16-SITE-04-chapter-ambilight-guides.md) [记录](baselines/site04-chapter-ambilight-guides.json) [记录](changes/2026-09-16-SITE-04-dpip-asr-guides.md) [记录](baselines/site04-dpip-asr-guides.json) [记录](changes/2026-09-16-SITE-04-auto-multi-guides.md) [记录](baselines/site04-auto-multi-guides.json) [记录](changes/2026-09-16-SITE-04-ads-vast-guides.md) [记录](baselines/site04-ads-vast-guides.json) [记录](changes/2026-09-16-SITE-04-jassub-mask-cast-guides.md) [记录](baselines/site04-jassub-mask-cast-guides.json) [记录](changes/2026-09-16-SITE-04-tools-guides.md) [记录](baselines/site04-tools-guides.json) [记录](changes/2026-09-16-SITE-04-proxies-guides.md) [记录](baselines/site04-proxies-guides.json) [记录](changes/2026-09-16-SITE-04-existing-guides.md) [记录](baselines/site04-existing-guides.json) [记录](core-content-review.json) [记录](baselines/site04-core-services.json) [记录](changes/2026-09-16-SITE-04-core-services.md) [记录](baselines/site04-template-icons.json) [记录](changes/2026-09-16-SITE-04-template-icons.md) [记录](baselines/site04-components.json) [记录](changes/2026-09-16-SITE-04-components.md) [记录](baselines/site04-setting.json) [记录](changes/2026-09-16-SITE-04-setting.md) [记录](baselines/site04-plugin-registry.json) [记录](changes/2026-09-16-SITE-04-plugin-registry.md) [记录](baselines/site04-subtitle.json) [记录](changes/2026-09-16-SITE-04-subtitle.md) [记录](baselines/site04-utils.json) [记录](changes/2026-09-16-SITE-04-utils.md)
- 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) [记录](changes/2026-09-15-SITE-07-font-notices.md) [记录](baselines/site-font-notices-provenance.json) [记录](baselines/site-font-notices-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)
+8
View File
@@ -1,5 +1,13 @@
# 进度与证据
## SITE-04 公共工具函数语义映射
补齐50个工具成员的双语行为与资源归属指南,新增105条根/runtime/结构输入/入口
映射,累计463/963,500条仍待核对。57项测试、两份严格TS、六组页面/72次代码
转发和三浏览器各41项工具断言通过,见[记录](changes/2026-09-16-SITE-04-utils.md)
与[证据](baselines/site04-utils.json)。核心源码不变,21库build仍有效。SITE-04保持
doing,224/22/39不变;继续构造配置、事件和播放等文档,不进入正式复盘。
## SITE-04 字幕语义映射
补齐双语字幕加载、渲染、配置归属与清理指南,新增27条声明映射,累计358/963,
+6
View File
@@ -103,6 +103,12 @@ TS、六组页面/108次转发及三浏览器各22项字幕断言通过,见
[证据](baselines/site04-subtitle.json)。原有组源码不变,相关指南仅字幕章节变化;
原生全屏设备验收仍单独保留,21库build有效。
工具函数随后新增105条,累计463条映射、500条待核对。根/runtime各50个工具成员、
结构输入和静态入口的真实返回值、DOM语义、资源归属及调度说明已补齐。57项测试、
两份TS、六组页面/72次转发及三浏览器各41项工具断言通过,见
[证据](baselines/site04-utils.json)。静态指南其他章节与核心源码不变,21库build有效。
不据此证明下载完成、跨域图片、真机safe-area或媒体播放。
- 核心:依据 site-inventory.json 的 963 条成员逐项或按明确的共享声明分组核对;
必须记录对应文档及语义结论,不能仅按同名标题匹配标为通过。
- Danmuku、HLS、DASH、Audio、VTT 的当前声明/源码语义已补核对;既有媒体报告
+3 -1
View File
@@ -4585,7 +4585,9 @@
"baselines/site04-plugin-registry.json",
"changes/2026-09-16-SITE-04-plugin-registry.md",
"baselines/site04-subtitle.json",
"changes/2026-09-16-SITE-04-subtitle.md"
"changes/2026-09-16-SITE-04-subtitle.md",
"baselines/site04-utils.json",
"changes/2026-09-16-SITE-04-utils.md"
]
},
{