refactor(core): CORE-14 split typed settings and scope tree lifetimes

This commit is contained in:
Harvey Zhao committed 2026-09-11 06:49:04 +08:00
1 parent 697817eceb
commit 64d1939daa
51 files changed
+28144 -1519

No files matched your search

@@ -0,0 +1,543 @@
{
"task": "CORE-14",
"status": "partial",
"date": "2026-09-11",
"node": "v24.21.0",
"scope": "Typed specialized manager, root event ownership, animated layout recovery, add failure unlink and removal cleanup",
"files": {
"packages/artplayer/src/setting/aspectRatio.ts": "a16eb58fadf77f0a9009cf162d957ffd59d9b8fde83cc193d510fd642e3456cb",
"packages/artplayer/src/setting/events.ts": "f7a3347ca146232caf2a8c9a5a18731cf7bc91dca4cd36370e0265c6eb70df53",
"packages/artplayer/src/setting/flip.ts": "e72a4ae33300d9e48880897a4f85a04fa6d9a5fff7b06ecaf9081cfb1bb14404",
"packages/artplayer/src/setting/index.ts": "5041441ae24cb3610fc28dba563fb3904dd007710423175373b36f47eefb95b2",
"packages/artplayer/src/setting/layout.ts": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d",
"packages/artplayer/src/setting/model.ts": "944006a0191b675a8d76605a0544d81409e1e63224332f4b56de43a5f1a3a173",
"packages/artplayer/src/setting/playbackRate.ts": "2e70e0d2a33cb0ec9fcdd6d22424979fed7b2e01f87015d6be4e520d5cf4e88a",
"packages/artplayer/src/setting/render.ts": "256c2561d28bac2e0af8bb81b971f62c180063928ecdd70782b6e0d035488d8f",
"packages/artplayer/src/setting/resources.ts": "4b1a9507ecb13833fe80e6afc5d8ee315bdd4aab7b4fe761491472fad937d71d",
"packages/artplayer/src/setting/selection.ts": "7664f73e31837fd0b8d22f7eb401877f04ab7fe3a972e4cb958e0f817ed3a92c",
"packages/artplayer/src/setting/subtitleOffset.ts": "86513835d4e542ac39e9d551507473e3e14c71fd0d5ea725267008ecbff6ab83",
"packages/artplayer/src/setting/types.ts": "12930e46c43b66803521403759dbdef658860e13006f8ac6f917d2fb1be96b5c",
"test/setting-model.test.js": "931bee643bea3cbd93927f7c9739a1bf559da5aaf58783d19b6898a092ba56bc",
"test/setting-layout.test.js": "a7da46075bd478182559b9af4817b128eb9f9c219b6032d77fd437370f2a3563",
"test/setting-resources.test.js": "8fbc541cfede17cc63a7c54f630fcad2eba91ad780172c56f8fbe774d1586cc8",
"test/types/setting-model.ts": "ba024ffeae26428d06f07f98f62f211db94ef8b259251f9f424a4203f1187c7b",
"test/types/setting-manager.ts": "27e3687a89909ea6f97aa842347cb8fbcd6f8ce5cf779a24d5dabad3eff8dc5c",
"test/browser/setting.spec.js": "b36e91e4ba96138db482f894a57307cb56e0f58d624861ff21841784275b9526",
"package.json": "82459e37eb54391bb73ebd84b1b27a3c37750d7cc2cd24607fc8f983f7342960"
},
"ci": {
"passed": 194,
"unit": 165,
"engineering": 4,
"baseline": 25,
"strictSourceFiles": 122,
"logSha256": "fdd702b63a53c1d973a1eca7010bb19181e7182596a8b0f86a8e557398c9db14"
},
"browser": {
"stats": {
"startTime": "2026-09-10T21:45:56.846Z",
"duration": 20664.667999999998,
"expected": 72,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"reportSha256": "9b38aef6211411133a08c75d7ca782d146331546d66833731cc6541394f950d0",
"candidate": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.js"
},
"sha256": "dec3a08b4c185499fdddfd0ba91c33b2bbfb4cbba62b64b63c6ce1d52ad30e34",
"bytes": 256143
},
"versions": {
"chromium": "153.0.8010.12",
"firefox": "155.0",
"webkit": "26.6"
},
"cases": [
{
"title": "published: builtin setting subscriptions are replaced and removed with their row",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: deferred setting mounts belong to the rendered item generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: removed setting subtrees release child listeners and cached panels",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting button results cannot overwrite an updated or newer item",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: sibling setting selections share the parent result generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting callback rejection retains its original failure identity",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: builtin setting subscriptions are replaced and removed with their row",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: deferred setting mounts belong to the rendered item generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: removed setting subtrees release child listeners and cached panels",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting button results cannot overwrite an updated or newer item",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: sibling setting selections share the parent result generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting callback rejection retains its original failure identity",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: open settings follow container and control height changes with fallback=false",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: open settings follow container and control height changes with fallback=true",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: failed setting additions leave existing rows usable and allow retry",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting removal finishes DOM cleanup when the event-removal hook throws",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: builtin setting subscriptions are replaced and removed with their row",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: deferred setting mounts belong to the rendered item generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: removed setting subtrees release child listeners and cached panels",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting button results cannot overwrite an updated or newer item",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: sibling setting selections share the parent result generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting callback rejection retains its original failure identity",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: builtin setting subscriptions are replaced and removed with their row",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: deferred setting mounts belong to the rendered item generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: removed setting subtrees release child listeners and cached panels",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting button results cannot overwrite an updated or newer item",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: sibling setting selections share the parent result generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting callback rejection retains its original failure identity",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: open settings follow container and control height changes with fallback=false",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: open settings follow container and control height changes with fallback=true",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: failed setting additions leave existing rows usable and allow retry",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting removal finishes DOM cleanup when the event-removal hook throws",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: builtin setting subscriptions are replaced and removed with their row",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: deferred setting mounts belong to the rendered item generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: removed setting subtrees release child listeners and cached panels",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting button results cannot overwrite an updated or newer item",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: sibling setting selections share the parent result generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting callback rejection retains its original failure identity",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: builtin setting subscriptions are replaced and removed with their row",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: deferred setting mounts belong to the rendered item generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: removed setting subtrees release child listeners and cached panels",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting button results cannot overwrite an updated or newer item",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: sibling setting selections share the parent result generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting callback rejection retains its original failure identity",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: open settings follow container and control height changes with fallback=false",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: open settings follow container and control height changes with fallback=true",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: failed setting additions leave existing rows usable and allow retry",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting removal finishes DOM cleanup when the event-removal hook throws",
"engine": "webkit",
"status": "passed",
"retry": 0
}
]
},
"failures": [
{
"file": "refactor/.cache/core14-manager-browser.json",
"sha256": "9319f4023678b3cec40d5dcc617a86bd4ba1a5cb17e43fc485d576bf9ea645ed",
"stats": {
"startTime": "2026-09-10T21:34:14.601Z",
"duration": 30176.837,
"expected": 63,
"skipped": 0,
"unexpected": 3,
"flaky": 0
},
"reason": "ResizeObserver reads animated bottom before the final control-height offset"
},
{
"file": "refactor/.cache/core14-manager-layout-browser.json",
"sha256": "08dc1621f4e475f1f7b7e74e37d985330912bf8844316821d964b967deecc31f",
"stats": {
"startTime": "2026-09-10T21:40:47.436Z",
"duration": 29928.708,
"expected": 63,
"skipped": 0,
"unexpected": 3,
"flaky": 0
},
"reason": "Style observation alone still reads the transition starting value"
},
{
"file": "refactor/.cache/core14-manager-recovery-browser.json",
"sha256": "b519d98e1248894c606c6cf4faa54cfcda5f3da3a7d54874d9833527fb94fa29",
"stats": {
"startTime": "2026-09-10T21:44:13.564Z",
"duration": 20791.101000000002,
"expected": 69,
"skipped": 0,
"unexpected": 3,
"flaky": 0
},
"reason": "Fault injection used unregistered callbacks, which real Events.remove does not invoke"
}
],
"limits": [
"Source fixture validation only; final CORE-14 installed UMD and legacy validation remains outstanding",
"Transactional update and panel-render rollback, independent header cleanup and reentry remain unfinished",
"Cross-instance sharing/reuse, switch/range, long text and mobile/rotation still need coverage",
"No generic rollback of arbitrary getter/setter or Proxy side effects; failed new input may retain hidden metadata",
"Without ResizeObserver, external container resize requires the existing window/core resize signal",
"BASE-DOM-02/06/07 and BASE-LIFE-12/13/14 remain open"
]
}
@@ -0,0 +1,200 @@
{
"task": "CORE-14",
"status": "partial",
"scope": "Tree model and initial bounded layout only; manager/render/selection/resource migration is unfinished.",
"date": "2026-09-11",
"files": {
"packages/artplayer/src/setting/model.ts": "2486cf5b4dc68ca2bf23351eed2d0010506682324e4e1ac8f1c318ac2cc35163",
"packages/artplayer/src/setting/layout.ts": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d",
"packages/artplayer/src/setting/index.js": "6bf37e3c321200474d0b6c953ed923a52f399b32674930589bb38fd71f0c535c",
"test/setting-model.test.js": "bb1c4237646f128436450d5412a3202f6007831629f104c54dbcb025cd04d27a",
"test/setting-layout.test.js": "a7da46075bd478182559b9af4817b128eb9f9c219b6032d77fd437370f2a3563",
"test/types/setting-model.ts": "ba024ffeae26428d06f07f98f62f211db94ef8b259251f9f424a4203f1187c7b",
"test/browser/setting.spec.js": "498d4281b6373c456d64f4257b335cc7f72604577d5ead701a781ec2dad042b2",
"package.json": "900034e913876951a050e9d896d5b6b83871663d252a0fe602a5ed016fd8ebaa"
},
"ci": {
"passed": 187,
"unit": 158,
"engineering": 4,
"baseline": 25,
"strictSourceFiles": 112,
"logSha256": "6e3a59e7662709c0baad4f9474be3d3853df98f24b898a536945d24a8aa11775"
},
"browser": {
"stats": {
"startTime": "2026-09-10T21:08:42.006Z",
"duration": 13188.141,
"expected": 24,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"candidate": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.js"
},
"sha256": "e2f0b26373cc8e9865eb326d9d8d4f62122307154c9dadbfdd78843c17bb1f2a",
"bytes": 248698
},
"versions": {
"chromium": "153.0.8010.12",
"firefox": "155.0",
"webkit": "26.6"
},
"cases": [
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "webkit",
"status": "passed",
"retry": 0
}
]
},
"limits": [
"Source fixture validation only; no final CORE-14 installed-package validation",
"Setting manager and builtin rendering remain JavaScript",
"Descendant/panel cleanup, obsolete callbacks, mounted timers and strict host integration remain pending",
"BASE-DOM-02/06/07 remain open",
"Mobile/rotation, long text and dynamic container changes require further browser coverage"
]
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,426 @@
{
"task": "CORE-14",
"status": "partial",
"scope": "Tree/layout plus rendering, callback generations, item resources and builtin TS migration; manager integration and failure rollback remain unfinished.",
"date": "2026-09-11",
"node": "v24.21.0",
"files": {
"packages/artplayer/src/setting/aspectRatio.ts": "a16eb58fadf77f0a9009cf162d957ffd59d9b8fde83cc193d510fd642e3456cb",
"packages/artplayer/src/setting/flip.ts": "e72a4ae33300d9e48880897a4f85a04fa6d9a5fff7b06ecaf9081cfb1bb14404",
"packages/artplayer/src/setting/index.js": "50d1c640a18faa671368b94bd750a0c2b3cf57316c93439a4b2dbfe9c87e0426",
"packages/artplayer/src/setting/layout.ts": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d",
"packages/artplayer/src/setting/model.ts": "2486cf5b4dc68ca2bf23351eed2d0010506682324e4e1ac8f1c318ac2cc35163",
"packages/artplayer/src/setting/playbackRate.ts": "2e70e0d2a33cb0ec9fcdd6d22424979fed7b2e01f87015d6be4e520d5cf4e88a",
"packages/artplayer/src/setting/render.ts": "256c2561d28bac2e0af8bb81b971f62c180063928ecdd70782b6e0d035488d8f",
"packages/artplayer/src/setting/resources.ts": "8f0bbc4246ad5848fbd9bbd02c7eb9614ad64cd67615622995597a2eaae0f356",
"packages/artplayer/src/setting/selection.ts": "7664f73e31837fd0b8d22f7eb401877f04ab7fe3a972e4cb958e0f817ed3a92c",
"packages/artplayer/src/setting/subtitleOffset.ts": "86513835d4e542ac39e9d551507473e3e14c71fd0d5ea725267008ecbff6ab83",
"packages/artplayer/src/setting/types.ts": "81ad8ae3892510a2189bdd414b1743696bc713cccff8e4bc58eed24abcc99eac",
"test/setting-model.test.js": "bb1c4237646f128436450d5412a3202f6007831629f104c54dbcb025cd04d27a",
"test/setting-layout.test.js": "a7da46075bd478182559b9af4817b128eb9f9c219b6032d77fd437370f2a3563",
"test/setting-resources.test.js": "8fbc541cfede17cc63a7c54f630fcad2eba91ad780172c56f8fbe774d1586cc8",
"test/types/setting-model.ts": "ba024ffeae26428d06f07f98f62f211db94ef8b259251f9f424a4203f1187c7b",
"test/browser/setting.spec.js": "4c4c001b42fafeeeb1677b9d1b2d596af0591c6897a3882a93c1e84d1f56925e",
"package.json": "82459e37eb54391bb73ebd84b1b27a3c37750d7cc2cd24607fc8f983f7342960"
},
"ci": {
"passed": 193,
"unit": 164,
"engineering": 4,
"baseline": 25,
"strictSourceFiles": 120,
"logSha256": "8e49058f0d7c8f7565add94c0e94bc7c2e65242305854a0b932972ade7d26792"
},
"browser": {
"stats": {
"startTime": "2026-09-10T21:25:43.963Z",
"duration": 18728.229,
"expected": 60,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"candidate": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.js"
},
"sha256": "2904030e8d84eca8678ecc6cedadb01af0ebffccae66a58ff0248800e66524c2",
"bytes": 252544
},
"versions": {
"chromium": "153.0.8010.12",
"firefox": "155.0",
"webkit": "26.6"
},
"cases": [
{
"title": "published: builtin setting subscriptions are replaced and removed with their row",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: deferred setting mounts belong to the rendered item generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: removed setting subtrees release child listeners and cached panels",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting button results cannot overwrite an updated or newer item",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: sibling setting selections share the parent result generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting callback rejection retains its original failure identity",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: builtin setting subscriptions are replaced and removed with their row",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: deferred setting mounts belong to the rendered item generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: removed setting subtrees release child listeners and cached panels",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting button results cannot overwrite an updated or newer item",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: sibling setting selections share the parent result generation",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting callback rejection retains its original failure identity",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "chromium",
"status": "passed",
"retry": 0
},
{
"title": "published: builtin setting subscriptions are replaced and removed with their row",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: deferred setting mounts belong to the rendered item generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: removed setting subtrees release child listeners and cached panels",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting button results cannot overwrite an updated or newer item",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: sibling setting selections share the parent result generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting callback rejection retains its original failure identity",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: builtin setting subscriptions are replaced and removed with their row",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: deferred setting mounts belong to the rendered item generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: removed setting subtrees release child listeners and cached panels",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting button results cannot overwrite an updated or newer item",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: sibling setting selections share the parent result generation",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting callback rejection retains its original failure identity",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "firefox",
"status": "passed",
"retry": 0
},
{
"title": "published: builtin setting subscriptions are replaced and removed with their row",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: deferred setting mounts belong to the rendered item generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: removed setting subtrees release child listeners and cached panels",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting button results cannot overwrite an updated or newer item",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: sibling setting selections share the parent result generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting callback rejection retains its original failure identity",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: setting registry retains item returns and hidden tree bindings",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: moved setting items bind to their current parent and panel",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "published: automatic setting names and explicit nested names have an explicit baseline",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: builtin setting subscriptions are replaced and removed with their row",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: deferred setting mounts belong to the rendered item generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: removed setting subtrees release child listeners and cached panels",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting button results cannot overwrite an updated or newer item",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: sibling setting selections share the parent result generation",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting callback rejection retains its original failure identity",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: a wide nested setting panel fits the narrow player and remains selectable",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: setting registry retains item returns and hidden tree bindings",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: moved setting items bind to their current parent and panel",
"engine": "webkit",
"status": "passed",
"retry": 0
},
{
"title": "candidate: automatic setting names and explicit nested names have an explicit baseline",
"engine": "webkit",
"status": "passed",
"retry": 0
}
]
},
"limits": [
"Source fixture validation only; no final CORE-14 installed-package validation",
"Setting manager remains JavaScript; its root subscriptions have not yet migrated",
"Atomic update/render failure, independent header cleanup and cross-instance reuse still require work",
"BASE-DOM-02/06/07 and BASE-LIFE-12/13/14 remain open",
"Dynamic layout, switch/range, long text and mobile/rotation still need additional coverage"
]
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff