diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 9dda026..2b5e2b0 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -86,7 +86,24 @@ "Bash(gcloud secrets *)", "Bash(openssl rand *)", "Bash(ssh *)", - "Skill(commit-commands:commit-push-pr)" + "Skill(commit-commands:commit-push-pr)", + "Bash(defuddle parse *)", + "WebFetch(domain:ai.google.dev)", + "Bash(ruff check *)", + "Bash(obsidian search *)", + "Bash(obsidian read *)", + "Bash(claude --version)", + "Bash(claude-code --version)", + "Read(//Users/ai_leed/.claude/plugins/cache/levnikolaevich-skills-marketplace/documentation-pipeline/b56e470e75df/skills-catalog/shared/references/**)", + "Bash(NODE_PATH=frontend/node_modules node_modules/.bin/tsx *)", + "Bash(npx playwright *)", + "mcp__playwright__browser_navigate", + "Bash(npx @playwright/mcp install-browser chrome-for-testing)", + "mcp__playwright__browser_take_screenshot", + "Bash(PYTHONPATH=. poetry run pytest tests/unit/test_whisper_snap.py -q)" ] + }, + "enabledPlugins": { + "agent-sdk-dev@claude-code-plugins": true } } diff --git a/.playwright-mcp/page-2026-05-01T12-30-52-230Z.yml b/.playwright-mcp/page-2026-05-01T12-30-52-230Z.yml new file mode 100644 index 0000000..969a78f --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-30-52-230Z.yml @@ -0,0 +1,33 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - generic [ref=e14]: + - heading "Make your videos accessible to everyone" [level=2] [ref=e15] + - paragraph [ref=e16]: AI-powered captions, audio descriptions, and multi-language support for professional video accessibility. + - generic [ref=e17]: + - generic [ref=e18]: + - generic [ref=e20]: 🤖 + - generic [ref=e21]: AI-powered processing + - generic [ref=e22]: + - generic [ref=e24]: 🌍 + - generic [ref=e25]: Multi-language support + - generic [ref=e26]: + - generic [ref=e28]: ✅ + - generic [ref=e29]: Quality assurance workflow + - generic [ref=e32]: + - generic [ref=e33]: + - heading "Welcome back!" [level=2] [ref=e34] + - paragraph [ref=e35]: Sign in to your account to continue + - button "Sign in with Microsoft" [ref=e36]: + - generic [ref=e37]: + - img [ref=e38] + - text: Sign in with Microsoft + - button "Local login" [ref=e44] + - paragraph [ref=e46]: + - text: Need help? Contact + - link "vadymsamoilenko@oliver.agency" [ref=e47] [cursor=pointer]: + - /url: mailto:vadymsamoilenko@oliver.agency \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-31-13-606Z.yml b/.playwright-mcp/page-2026-05-01T12-31-13-606Z.yml new file mode 100644 index 0000000..6f73370 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-31-13-606Z.yml @@ -0,0 +1,43 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - generic [ref=e14]: + - heading "Make your videos accessible to everyone" [level=2] [ref=e15] + - paragraph [ref=e16]: AI-powered captions, audio descriptions, and multi-language support for professional video accessibility. + - generic [ref=e17]: + - generic [ref=e18]: + - generic [ref=e20]: 🤖 + - generic [ref=e21]: AI-powered processing + - generic [ref=e22]: + - generic [ref=e24]: 🌍 + - generic [ref=e25]: Multi-language support + - generic [ref=e26]: + - generic [ref=e28]: ✅ + - generic [ref=e29]: Quality assurance workflow + - generic [ref=e32]: + - generic [ref=e33]: + - heading "Welcome back!" [level=2] [ref=e34] + - paragraph [ref=e35]: Sign in to your account to continue + - generic [ref=e48]: + - generic [ref=e49]: + - generic [ref=e50]: Email Address + - textbox "Email Address" [ref=e51]: + - /placeholder: Enter your email + - generic [ref=e52]: + - generic [ref=e53]: Password + - textbox "Password" [ref=e54]: + - /placeholder: Enter your password + - button "Sign In" [ref=e55] + - generic [ref=e60]: Or continue with + - button "Sign in with Microsoft" [ref=e36]: + - generic [ref=e37]: + - img [ref=e38] + - text: Sign in with Microsoft + - paragraph [ref=e46]: + - text: Need help? Contact + - link "vadymsamoilenko@oliver.agency" [ref=e47] [cursor=pointer]: + - /url: mailto:vadymsamoilenko@oliver.agency \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-32-19-773Z.yml b/.playwright-mcp/page-2026-05-01T12-32-19-773Z.yml new file mode 100644 index 0000000..61a235a --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-32-19-773Z.yml @@ -0,0 +1,160 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e142]: + - generic [ref=e144]: + - generic [ref=e145]: + - heading "Welcome back, test-admin! 👋" [level=1] [ref=e146] + - paragraph [ref=e147]: Here's what's happening with your video accessibility projects + - generic [ref=e149]: + - paragraph [ref=e150]: Today + - paragraph [ref=e151]: Friday, May 1 + - generic [ref=e152]: + - link "📋 Total Jobs 1 View all →" [ref=e153] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e155]: + - generic [ref=e156]: + - generic [ref=e158]: 📋 + - heading "Total Jobs" [level=3] [ref=e159] + - paragraph [ref=e160]: "1" + - paragraph [ref=e161]: View all → + - link "⚙️ Processing 0 View processing →" [ref=e162] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc + - generic [ref=e164]: + - generic [ref=e165]: + - generic [ref=e167]: ⚙️ + - heading "Processing" [level=3] [ref=e168] + - paragraph [ref=e169]: "0" + - paragraph [ref=e170]: View processing → + - link "🔍 In QC Review 0 Review now →" [ref=e171] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e173]: + - generic [ref=e174]: + - generic [ref=e176]: 🔍 + - heading "In QC Review" [level=3] [ref=e177] + - paragraph [ref=e178]: "0" + - paragraph [ref=e179]: Review now → + - link "✅ Completed 1 View completed →" [ref=e180] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=completed + - generic [ref=e182]: + - generic [ref=e183]: + - generic [ref=e185]: ✅ + - heading "Completed" [level=3] [ref=e186] + - paragraph [ref=e187]: "1" + - paragraph [ref=e188]: View completed → + - generic [ref=e189]: + - generic [ref=e190]: + - generic [ref=e191]: + - generic [ref=e193]: 🔍 + - heading "Quality Control" [level=2] [ref=e194] + - paragraph [ref=e195]: 0 jobs awaiting review + - paragraph [ref=e196]: Review AI-generated content for accuracy and compliance with accessibility standards. + - link "Start Reviewing →" [ref=e197] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e198]: + - generic [ref=e199]: + - generic [ref=e201]: ✅ + - heading "Final Approval" [level=2] [ref=e202] + - paragraph [ref=e203]: Jobs ready for delivery + - paragraph [ref=e204]: Complete the final review process and approve jobs for client delivery. + - link "Review Finals →" [ref=e205] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e206]: + - generic [ref=e207]: + - heading "Recent Activity" [level=2] [ref=e208] + - link "View all jobs" [ref=e209] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - text: View all jobs + - img [ref=e210] + - link "01 Test5 Created 4/30/2026 • source.mp4 Completed" [ref=e214] [cursor=pointer]: + - /url: /video-accessibility/jobs/69f3b6d2cde5f3709e55301e + - generic [ref=e215]: + - generic [ref=e217]: "01" + - generic [ref=e218]: + - heading "Test5" [level=3] [ref=e219] + - generic [ref=e220]: + - generic [ref=e221]: Created 4/30/2026 + - generic [ref=e222]: • source.mp4 + - generic [ref=e223]: + - generic [ref=e224]: Completed + - img [ref=e225] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-32-25-343Z.yml b/.playwright-mcp/page-2026-05-01T12-32-25-343Z.yml new file mode 100644 index 0000000..61a235a --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-32-25-343Z.yml @@ -0,0 +1,160 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e142]: + - generic [ref=e144]: + - generic [ref=e145]: + - heading "Welcome back, test-admin! 👋" [level=1] [ref=e146] + - paragraph [ref=e147]: Here's what's happening with your video accessibility projects + - generic [ref=e149]: + - paragraph [ref=e150]: Today + - paragraph [ref=e151]: Friday, May 1 + - generic [ref=e152]: + - link "📋 Total Jobs 1 View all →" [ref=e153] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e155]: + - generic [ref=e156]: + - generic [ref=e158]: 📋 + - heading "Total Jobs" [level=3] [ref=e159] + - paragraph [ref=e160]: "1" + - paragraph [ref=e161]: View all → + - link "⚙️ Processing 0 View processing →" [ref=e162] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc + - generic [ref=e164]: + - generic [ref=e165]: + - generic [ref=e167]: ⚙️ + - heading "Processing" [level=3] [ref=e168] + - paragraph [ref=e169]: "0" + - paragraph [ref=e170]: View processing → + - link "🔍 In QC Review 0 Review now →" [ref=e171] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e173]: + - generic [ref=e174]: + - generic [ref=e176]: 🔍 + - heading "In QC Review" [level=3] [ref=e177] + - paragraph [ref=e178]: "0" + - paragraph [ref=e179]: Review now → + - link "✅ Completed 1 View completed →" [ref=e180] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=completed + - generic [ref=e182]: + - generic [ref=e183]: + - generic [ref=e185]: ✅ + - heading "Completed" [level=3] [ref=e186] + - paragraph [ref=e187]: "1" + - paragraph [ref=e188]: View completed → + - generic [ref=e189]: + - generic [ref=e190]: + - generic [ref=e191]: + - generic [ref=e193]: 🔍 + - heading "Quality Control" [level=2] [ref=e194] + - paragraph [ref=e195]: 0 jobs awaiting review + - paragraph [ref=e196]: Review AI-generated content for accuracy and compliance with accessibility standards. + - link "Start Reviewing →" [ref=e197] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e198]: + - generic [ref=e199]: + - generic [ref=e201]: ✅ + - heading "Final Approval" [level=2] [ref=e202] + - paragraph [ref=e203]: Jobs ready for delivery + - paragraph [ref=e204]: Complete the final review process and approve jobs for client delivery. + - link "Review Finals →" [ref=e205] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e206]: + - generic [ref=e207]: + - heading "Recent Activity" [level=2] [ref=e208] + - link "View all jobs" [ref=e209] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - text: View all jobs + - img [ref=e210] + - link "01 Test5 Created 4/30/2026 • source.mp4 Completed" [ref=e214] [cursor=pointer]: + - /url: /video-accessibility/jobs/69f3b6d2cde5f3709e55301e + - generic [ref=e215]: + - generic [ref=e217]: "01" + - generic [ref=e218]: + - heading "Test5" [level=3] [ref=e219] + - generic [ref=e220]: + - generic [ref=e221]: Created 4/30/2026 + - generic [ref=e222]: • source.mp4 + - generic [ref=e223]: + - generic [ref=e224]: Completed + - img [ref=e225] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-32-49-662Z.yml b/.playwright-mcp/page-2026-05-01T12-32-49-662Z.yml new file mode 100644 index 0000000..5ebe082 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-32-49-662Z.yml @@ -0,0 +1,139 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [active] [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - button "Voice Settings Click to customize TTS voice" [ref=e261]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to customize TTS voice + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [ref=e280]: + - option "— Select client —" [selected] + - option "3M-Test" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [disabled] [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-32-53-502Z.yml b/.playwright-mcp/page-2026-05-01T12-32-53-502Z.yml new file mode 100644 index 0000000..5ebe082 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-32-53-502Z.yml @@ -0,0 +1,139 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [active] [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - button "Voice Settings Click to customize TTS voice" [ref=e261]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to customize TTS voice + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [ref=e280]: + - option "— Select client —" [selected] + - option "3M-Test" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [disabled] [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-33-08-007Z.yml b/.playwright-mcp/page-2026-05-01T12-33-08-007Z.yml new file mode 100644 index 0000000..f2aaa6a --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-33-08-007Z.yml @@ -0,0 +1,210 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - generic [ref=e260]: + - button "Voice Settings Click to collapse" [active] [ref=e290]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to collapse + - generic [ref=e292]: + - generic [ref=e293]: + - generic [ref=e294]: TTS Provider + - generic [ref=e295]: + - button "Gemini" [ref=e296] + - button "ElevenLabs" [ref=e297] + - generic [ref=e298]: + - generic [ref=e299]: Default Voice + - paragraph [ref=e300]: This voice will be used for all languages unless overridden below. + - generic [ref=e301]: + - combobox [ref=e302]: + - option "Zephyr" + - option "Puck" + - option "Charon" + - option "Kore" [selected] + - option "Fenrir" + - option "Leda" + - option "Orus" + - option "Aoede" + - option "Callirrhoe" + - option "Autonoe" + - option "Enceladus" + - option "Iapetus" + - option "Umbriel" + - option "Algieba" + - option "Despina" + - option "Erinome" + - option "Algenib" + - option "Rasalgethi" + - option "Laomedeia" + - option "Achernar" + - option "Alnilam" + - option "Schedar" + - option "Gacrux" + - option "Pulcherrima" + - option "Achird" + - option "Zubenelgenubi" + - option "Vindemiatrix" + - option "Sadachbia" + - option "Sadaltager" + - option "Sulafat" + - button "Preview" [ref=e304]: + - img [ref=e305] + - text: Preview + - generic [ref=e307]: + - generic [ref=e308]: + - generic [ref=e309]: Quality / Model + - paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output. + - combobox [ref=e311]: + - option "Flash (Fast, Cost-efficient)" [selected] + - option "Pro (Higher Quality)" + - generic [ref=e312]: + - generic [ref=e313]: "Speed: 1.0x" + - paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed. + - slider [ref=e315] [cursor=pointer]: "1" + - generic [ref=e316]: + - generic [ref=e317]: 0.5x (Slow) + - generic [ref=e318]: 1.0x (Normal) + - generic [ref=e319]: 2x (Fast) + - generic [ref=e320]: + - generic [ref=e321]: Speaking Style + - paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice. + - combobox [ref=e323]: + - option "Neutral" [selected] + - option "Calm & Soothing" + - option "Energetic" + - option "Professional" + - option "Warm & Friendly" + - option "Documentary" + - option "Custom Prompt" + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [ref=e280]: + - option "— Select client —" [selected] + - option "3M-Test" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [disabled] [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-35-09-662Z.yml b/.playwright-mcp/page-2026-05-01T12-35-09-662Z.yml new file mode 100644 index 0000000..9f30fe9 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-35-09-662Z.yml @@ -0,0 +1,217 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e324]: + - generic [ref=e325]: "Selected: test-video.mp4 (39MB)" + - button [ref=e326]: + - img [ref=e327] + - generic [ref=e329]: + - generic [ref=e330]: Job Title + - textbox "Enter a descriptive title for this video" [ref=e331]: test-video + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - generic [ref=e260]: + - button "Voice Settings Click to collapse" [active] [ref=e290]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to collapse + - generic [ref=e292]: + - generic [ref=e293]: + - generic [ref=e294]: TTS Provider + - generic [ref=e295]: + - button "Gemini" [ref=e296] + - button "ElevenLabs" [ref=e297] + - generic [ref=e298]: + - generic [ref=e299]: Default Voice + - paragraph [ref=e300]: This voice will be used for all languages unless overridden below. + - generic [ref=e301]: + - combobox [ref=e302]: + - option "Zephyr" + - option "Puck" + - option "Charon" + - option "Kore" [selected] + - option "Fenrir" + - option "Leda" + - option "Orus" + - option "Aoede" + - option "Callirrhoe" + - option "Autonoe" + - option "Enceladus" + - option "Iapetus" + - option "Umbriel" + - option "Algieba" + - option "Despina" + - option "Erinome" + - option "Algenib" + - option "Rasalgethi" + - option "Laomedeia" + - option "Achernar" + - option "Alnilam" + - option "Schedar" + - option "Gacrux" + - option "Pulcherrima" + - option "Achird" + - option "Zubenelgenubi" + - option "Vindemiatrix" + - option "Sadachbia" + - option "Sadaltager" + - option "Sulafat" + - button "Preview" [ref=e304]: + - img [ref=e305] + - text: Preview + - generic [ref=e307]: + - generic [ref=e308]: + - generic [ref=e309]: Quality / Model + - paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output. + - combobox [ref=e311]: + - option "Flash (Fast, Cost-efficient)" [selected] + - option "Pro (Higher Quality)" + - generic [ref=e312]: + - generic [ref=e313]: "Speed: 1.0x" + - paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed. + - slider [ref=e315] [cursor=pointer]: "1" + - generic [ref=e316]: + - generic [ref=e317]: 0.5x (Slow) + - generic [ref=e318]: 1.0x (Normal) + - generic [ref=e319]: 2x (Fast) + - generic [ref=e320]: + - generic [ref=e321]: Speaking Style + - paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice. + - combobox [ref=e323]: + - option "Neutral" [selected] + - option "Calm & Soothing" + - option "Energetic" + - option "Professional" + - option "Warm & Friendly" + - option "Documentary" + - option "Custom Prompt" + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [ref=e280]: + - option "— Select client —" [selected] + - option "3M-Test" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-38-26-467Z.yml b/.playwright-mcp/page-2026-05-01T12-38-26-467Z.yml new file mode 100644 index 0000000..c085eb1 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-38-26-467Z.yml @@ -0,0 +1,217 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e324]: + - generic [ref=e325]: "Selected: test-video.mp4 (39MB)" + - button [ref=e326]: + - img [ref=e327] + - generic [ref=e329]: + - generic [ref=e330]: Job Title + - textbox "Enter a descriptive title for this video" [ref=e331]: test-video + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - generic [ref=e260]: + - button "Voice Settings Click to collapse" [ref=e290]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to collapse + - generic [ref=e292]: + - generic [ref=e293]: + - generic [ref=e294]: TTS Provider + - generic [ref=e295]: + - button "Gemini" [ref=e296] + - button "ElevenLabs" [ref=e297] + - generic [ref=e298]: + - generic [ref=e299]: Default Voice + - paragraph [ref=e300]: This voice will be used for all languages unless overridden below. + - generic [ref=e301]: + - combobox [ref=e302]: + - option "Zephyr" + - option "Puck" + - option "Charon" + - option "Kore" [selected] + - option "Fenrir" + - option "Leda" + - option "Orus" + - option "Aoede" + - option "Callirrhoe" + - option "Autonoe" + - option "Enceladus" + - option "Iapetus" + - option "Umbriel" + - option "Algieba" + - option "Despina" + - option "Erinome" + - option "Algenib" + - option "Rasalgethi" + - option "Laomedeia" + - option "Achernar" + - option "Alnilam" + - option "Schedar" + - option "Gacrux" + - option "Pulcherrima" + - option "Achird" + - option "Zubenelgenubi" + - option "Vindemiatrix" + - option "Sadachbia" + - option "Sadaltager" + - option "Sulafat" + - button "Preview" [ref=e304]: + - img [ref=e305] + - text: Preview + - generic [ref=e307]: + - generic [ref=e308]: + - generic [ref=e309]: Quality / Model + - paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output. + - combobox [ref=e311]: + - option "Flash (Fast, Cost-efficient)" [selected] + - option "Pro (Higher Quality)" + - generic [ref=e312]: + - generic [ref=e313]: "Speed: 1.0x" + - paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed. + - slider [ref=e315] [cursor=pointer]: "1" + - generic [ref=e316]: + - generic [ref=e317]: 0.5x (Slow) + - generic [ref=e318]: 1.0x (Normal) + - generic [ref=e319]: 2x (Fast) + - generic [ref=e320]: + - generic [ref=e321]: Speaking Style + - paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice. + - combobox [ref=e323]: + - option "Neutral" [selected] + - option "Calm & Soothing" + - option "Energetic" + - option "Professional" + - option "Warm & Friendly" + - option "Documentary" + - option "Custom Prompt" + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [active] [ref=e280]: + - option "— Select client —" [selected] + - option "3M-Test" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-38-31-626Z.yml b/.playwright-mcp/page-2026-05-01T12-38-31-626Z.yml new file mode 100644 index 0000000..7899a42 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-38-31-626Z.yml @@ -0,0 +1,223 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e324]: + - generic [ref=e325]: "Selected: test-video.mp4 (39MB)" + - button [ref=e326]: + - img [ref=e327] + - generic [ref=e329]: + - generic [ref=e330]: Job Title + - textbox "Enter a descriptive title for this video" [ref=e331]: test-video + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - generic [ref=e260]: + - button "Voice Settings Click to collapse" [ref=e290]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to collapse + - generic [ref=e292]: + - generic [ref=e293]: + - generic [ref=e294]: TTS Provider + - generic [ref=e295]: + - button "Gemini" [ref=e296] + - button "ElevenLabs" [ref=e297] + - generic [ref=e298]: + - generic [ref=e299]: Default Voice + - paragraph [ref=e300]: This voice will be used for all languages unless overridden below. + - generic [ref=e301]: + - combobox [ref=e302]: + - option "Zephyr" + - option "Puck" + - option "Charon" + - option "Kore" [selected] + - option "Fenrir" + - option "Leda" + - option "Orus" + - option "Aoede" + - option "Callirrhoe" + - option "Autonoe" + - option "Enceladus" + - option "Iapetus" + - option "Umbriel" + - option "Algieba" + - option "Despina" + - option "Erinome" + - option "Algenib" + - option "Rasalgethi" + - option "Laomedeia" + - option "Achernar" + - option "Alnilam" + - option "Schedar" + - option "Gacrux" + - option "Pulcherrima" + - option "Achird" + - option "Zubenelgenubi" + - option "Vindemiatrix" + - option "Sadachbia" + - option "Sadaltager" + - option "Sulafat" + - button "Preview" [ref=e304]: + - img [ref=e305] + - text: Preview + - generic [ref=e307]: + - generic [ref=e308]: + - generic [ref=e309]: Quality / Model + - paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output. + - combobox [ref=e311]: + - option "Flash (Fast, Cost-efficient)" [selected] + - option "Pro (Higher Quality)" + - generic [ref=e312]: + - generic [ref=e313]: "Speed: 1.0x" + - paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed. + - slider [ref=e315] [cursor=pointer]: "1" + - generic [ref=e316]: + - generic [ref=e317]: 0.5x (Slow) + - generic [ref=e318]: 1.0x (Normal) + - generic [ref=e319]: 2x (Fast) + - generic [ref=e320]: + - generic [ref=e321]: Speaking Style + - paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice. + - combobox [ref=e323]: + - option "Neutral" [selected] + - option "Calm & Soothing" + - option "Energetic" + - option "Professional" + - option "Warm & Friendly" + - option "Documentary" + - option "Custom Prompt" + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e277]: + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [active] [ref=e280]: + - option "— Select client —" + - option "3M-Test" [selected] + - generic [ref=e332]: + - generic [ref=e333]: Project * + - combobox [ref=e334]: + - option "— Select project —" [selected] + - option "+ Create new project…" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-38-37-970Z.yml b/.playwright-mcp/page-2026-05-01T12-38-37-970Z.yml new file mode 100644 index 0000000..43ceb04 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-38-37-970Z.yml @@ -0,0 +1,237 @@ +- generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button [ref=e126]: + - img [ref=e127] + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e227]: + - heading "Create New Job" [level=1] [ref=e228] + - generic [ref=e229]: + - generic [ref=e230]: + - generic [ref=e231]: Video File + - generic [ref=e233] [cursor=pointer]: + - button "Choose File" [ref=e234] + - generic [ref=e235]: + - img [ref=e237] + - generic [ref=e239]: + - paragraph [ref=e240]: Drag and drop video files here, or click to select + - paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e324]: + - generic [ref=e325]: "Selected: test-video.mp4 (39MB)" + - button [ref=e326]: + - img [ref=e327] + - generic [ref=e329]: + - generic [ref=e330]: Job Title + - textbox "Enter a descriptive title for this video" [ref=e331]: test-video + - generic [ref=e242]: + - generic [ref=e243]: Requested Outputs + - generic [ref=e244]: + - generic [ref=e245]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e246] + - generic [ref=e247]: Closed Captions (VTT) + - generic [ref=e248]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e249] + - generic [ref=e250]: Audio Description Script (VTT) + - generic [ref=e251]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252] + - generic [ref=e253]: Audio Description Voiceover (MP3) + - generic [ref=e254]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255] + - generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e257]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258] + - generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - generic [ref=e260]: + - button "Voice Settings Click to collapse" [ref=e290]: + - generic [ref=e262]: + - img [ref=e263] + - generic [ref=e265]: Voice Settings + - generic [ref=e266]: Click to collapse + - generic [ref=e292]: + - generic [ref=e293]: + - generic [ref=e294]: TTS Provider + - generic [ref=e295]: + - button "Gemini" [ref=e296] + - button "ElevenLabs" [ref=e297] + - generic [ref=e298]: + - generic [ref=e299]: Default Voice + - paragraph [ref=e300]: This voice will be used for all languages unless overridden below. + - generic [ref=e301]: + - combobox [ref=e302]: + - option "Zephyr" + - option "Puck" + - option "Charon" + - option "Kore" [selected] + - option "Fenrir" + - option "Leda" + - option "Orus" + - option "Aoede" + - option "Callirrhoe" + - option "Autonoe" + - option "Enceladus" + - option "Iapetus" + - option "Umbriel" + - option "Algieba" + - option "Despina" + - option "Erinome" + - option "Algenib" + - option "Rasalgethi" + - option "Laomedeia" + - option "Achernar" + - option "Alnilam" + - option "Schedar" + - option "Gacrux" + - option "Pulcherrima" + - option "Achird" + - option "Zubenelgenubi" + - option "Vindemiatrix" + - option "Sadachbia" + - option "Sadaltager" + - option "Sulafat" + - button "Preview" [ref=e304]: + - img [ref=e305] + - text: Preview + - generic [ref=e307]: + - generic [ref=e308]: + - generic [ref=e309]: Quality / Model + - paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output. + - combobox [ref=e311]: + - option "Flash (Fast, Cost-efficient)" [selected] + - option "Pro (Higher Quality)" + - generic [ref=e312]: + - generic [ref=e313]: "Speed: 1.0x" + - paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed. + - slider [ref=e315] [cursor=pointer]: "1" + - generic [ref=e316]: + - generic [ref=e317]: 0.5x (Slow) + - generic [ref=e318]: 1.0x (Normal) + - generic [ref=e319]: 2x (Fast) + - generic [ref=e320]: + - generic [ref=e321]: Speaking Style + - paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice. + - combobox [ref=e323]: + - option "Neutral" [selected] + - option "Calm & Soothing" + - option "Energetic" + - option "Professional" + - option "Warm & Friendly" + - option "Documentary" + - option "Custom Prompt" + - generic [ref=e267]: + - generic [ref=e268]: Target Languages for Translation + - generic [ref=e271]: + - textbox "Search languages" [ref=e272]: + - /placeholder: Search languages... + - button [ref=e273]: + - img [ref=e274] + - paragraph [ref=e276]: 50 languages available + - generic [ref=e335]: + - heading "Team Assignment(applied to all languages when job enters QC)" [level=3] [ref=e336] + - generic [ref=e337]: + - generic [ref=e338]: + - generic [ref=e339]: Linguist + - combobox [ref=e340]: + - option "— None —" [selected] + - option "Test Linguist" + - generic [ref=e341]: + - generic [ref=e342]: Reviewer + - combobox [ref=e343]: + - option "— None —" [selected] + - option "Test Reviewer" + - generic [ref=e277]: + - generic [ref=e278]: + - generic [ref=e279]: Client * + - combobox [active] [ref=e280]: + - option "— Select client —" + - option "3M-Test" [selected] + - generic [ref=e332]: + - generic [ref=e333]: Project * + - combobox [ref=e334]: + - option "— Select project —" + - option "Test_Vadym" [selected] + - option "+ Create new project…" + - generic [ref=e281]: + - generic [ref=e282]: Deadline (optional) + - textbox [ref=e283] + - generic [ref=e284]: + - generic [ref=e285]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286] + - paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [ref=e289] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-38-52-161Z.yml b/.playwright-mcp/page-2026-05-01T12-38-52-161Z.yml new file mode 100644 index 0000000..3a99034 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-38-52-161Z.yml @@ -0,0 +1,99 @@ +- generic [ref=e3]: + - generic [ref=e61]: + - generic [ref=e63]: + - generic [ref=e65]: + - generic [ref=e67]: VA + - generic [ref=e68]: + - heading "Video Access" [level=1] [ref=e69] + - paragraph [ref=e70]: Accessibility Platform + - navigation [ref=e71]: + - link "🏠 Dashboard" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e73]: 🏠 + - generic [ref=e74]: Dashboard + - link "📋 All Jobs" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e76]: 📋 + - generic [ref=e77]: All Jobs + - link "📤 Upload Video" [ref=e78] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e79]: 📤 + - generic [ref=e80]: Upload Video + - link "📝 My QC Queue" [ref=e81] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e82]: 📝 + - generic [ref=e83]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e85]: 🔎 + - generic [ref=e86]: Reviewer Queue + - link "🔍 QC Review" [ref=e87] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e88]: 🔍 + - generic [ref=e89]: QC Review + - link "✅ Final Review" [ref=e90] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e91]: ✅ + - generic [ref=e92]: Final Review + - link "👥 User Management" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e94]: 👥 + - generic [ref=e95]: User Management + - link "🏢 Clients" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e97]: 🏢 + - generic [ref=e98]: Clients + - link "📄 Briefs" [ref=e99] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e100]: 📄 + - generic [ref=e101]: Briefs + - link "🔥 Failures" [ref=e102] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e103]: 🔥 + - generic [ref=e104]: Failures + - link "📋 Audit Log" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e106]: 📋 + - generic [ref=e107]: Audit Log + - link "📖 Help" [ref=e109] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e110]: 📖 + - generic [ref=e111]: Help + - generic [ref=e113]: + - generic [ref=e115]: T + - generic [ref=e116]: + - paragraph [ref=e117]: test-admin@oliver.agency + - paragraph [ref=e118]: admin + - generic [ref=e119]: + - navigation [ref=e120]: + - generic [ref=e121]: + - heading "Dashboard" [level=2] [ref=e123] + - generic [ref=e124]: + - button "1" [ref=e344]: + - img [ref=e127] + - generic [ref=e345]: "1" + - link "New Upload" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e130] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e133]: + - generic [ref=e135]: T + - generic [ref=e136]: + - paragraph [ref=e137]: test-admin@oliver.agency + - paragraph [ref=e138]: admin + - img [ref=e139] + - main [ref=e141]: + - generic [ref=e346]: + - img [ref=e348] + - heading "Job Created Successfully!" [level=1] [ref=e350] + - paragraph [ref=e351]: Your video has been uploaded and processing will begin shortly. + - generic [ref=e352]: + - button "View Job Details" [ref=e353]: + - text: View Job Details + - img [ref=e354] + - button "Create Another Job" [ref=e357] + - generic [ref=e359]: + - img [ref=e360] + - paragraph [ref=e362]: "\"test-video\" is being ingested and prepared for AI processing" + - button [ref=e363]: + - img [ref=e364] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-38-54-008Z.png b/.playwright-mcp/page-2026-05-01T12-38-54-008Z.png new file mode 100644 index 0000000..a73356a Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-38-54-008Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-39-14-760Z.yml b/.playwright-mcp/page-2026-05-01T12-39-14-760Z.yml new file mode 100644 index 0000000..2db935b --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-39-14-760Z.yml @@ -0,0 +1,135 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e88]: + - heading "All Jobs" [level=1] [ref=e89] + - generic "Connecting..." [ref=e90] + - paragraph [ref=e91]: System-wide job management + - link "New Job" [ref=e92] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e93] + - text: New Job + - generic [ref=e95]: + - button "Pending Final Review" [ref=e96] + - button "In QC" [ref=e97] + - button "TTS Failed" [ref=e98] + - button "Render Failed" [ref=e99] + - generic [ref=e101]: + - generic [ref=e102]: + - generic [ref=e103]: Search + - textbox "Search" [ref=e104]: + - /placeholder: Search by job name, user, or filename... + - generic [ref=e105]: + - generic [ref=e106]: Created By + - combobox "Created By" [ref=e107]: + - option "All Users" [selected] + - generic [ref=e108]: + - generic [ref=e109]: Status + - combobox "Status" [ref=e110]: + - option "All Statuses" [selected] + - option "Created" + - option "Ingesting" + - option "AI Processing" + - option "Pending QC" + - option "Approved (EN)" + - option "Approved for Translation" + - option "Rejected" + - option "QC Feedback" + - option "Translating" + - option "Generating Audio" + - option "TTS Failed" + - option "Rendering Video" + - option "Render Failed" + - option "Pending Final Review" + - option "Completed" + - generic [ref=e111]: + - generic [ref=e112]: Date Created + - combobox "Date Created" [ref=e113]: + - option "All Time" [selected] + - option "Last 7 Days" + - option "Last 30 Days" + - button "Clear Filters" [disabled] [ref=e115] + - paragraph [ref=e117]: No jobs found \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-39-47-675Z.yml b/.playwright-mcp/page-2026-05-01T12-39-47-675Z.yml new file mode 100644 index 0000000..92f5b34 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-39-47-675Z.yml @@ -0,0 +1,152 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e202]: + - generic [ref=e204]: + - generic [ref=e205]: + - generic [ref=e206]: + - heading "Test5" [level=1] [ref=e207] + - button "Rename" [ref=e208]: + - img [ref=e209] + - paragraph [ref=e211]: source.mp4 • Created about 18 hours ago + - generic [ref=e212]: + - generic [ref=e213]: Completed + - generic "Connected - receiving real-time updates" [ref=e214] + - generic [ref=e215]: + - generic [ref=e216]: + - navigation [ref=e218]: + - button "📋Overview" [ref=e219] + - button "🎥Video Preview" [ref=e220] + - button "📁Assets" [ref=e221] + - button "📜History" [ref=e222] + - button "🕒VTT Versions" [ref=e223] + - generic [ref=e224]: + - generic [ref=e225]: + - heading "Job Information" [level=2] [ref=e226] + - generic [ref=e227]: + - generic [ref=e228]: + - term [ref=e229]: Original File + - definition [ref=e230]: source.mp4 + - generic [ref=e231]: + - term [ref=e232]: Source Language + - definition [ref=e233]: EN + - generic [ref=e234]: + - term [ref=e235]: Requested Languages + - definition [ref=e236]: de-DE, fr-CA + - generic [ref=e237]: + - term [ref=e238]: Outputs + - definition [ref=e239]: + - generic [ref=e240]: + - generic [ref=e241]: ✓ Captions (VTT) + - generic [ref=e242]: ✓ Audio Descriptions (VTT) + - generic [ref=e243]: ✓ Audio Descriptions (MP3) + - generic [ref=e244]: + - heading "Review Notes" [level=2] [ref=e245] + - paragraph [ref=e246]: No review notes yet + - generic [ref=e248]: + - generic [ref=e249]: + - heading "Ready for Download" [level=3] [ref=e250] + - paragraph [ref=e251]: Your accessible video assets are ready. Click below to access your files. + - link "Download Files" [ref=e252] [cursor=pointer]: + - /url: /video-accessibility/downloads/69f3b6d2cde5f3709e55301e + - img [ref=e253] + - text: Download Files + - generic [ref=e256]: + - generic [ref=e257]: + - heading "Return to QC" [level=3] [ref=e258] + - paragraph [ref=e259]: Move this job back to QC review for further editing. + - button "Return to QC" [ref=e260]: + - img [ref=e261] + - text: Return to QC + - generic [ref=e264]: + - heading "Processing Progress" [level=3] [ref=e265] + - generic [ref=e266]: + - generic [ref=e269]: Created + - generic [ref=e272]: Ingesting + - generic [ref=e275]: Ai Processing + - generic [ref=e278]: Translating + - generic [ref=e281]: Tts Generating + - generic [ref=e284]: Rendering Video + - generic [ref=e287]: Pending Qc + - generic [ref=e290]: Pending Final Review + - generic [ref=e293]: Completed \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-03-456Z.yml b/.playwright-mcp/page-2026-05-01T12-40-03-456Z.yml new file mode 100644 index 0000000..5b04691 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-03-456Z.yml @@ -0,0 +1,142 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e202]: + - generic [ref=e204]: + - generic [ref=e205]: + - generic [ref=e206]: + - heading "Test5" [level=1] [ref=e207] + - button "Rename" [ref=e208]: + - img [ref=e209] + - paragraph [ref=e211]: source.mp4 • Created about 18 hours ago + - generic [ref=e212]: + - generic [ref=e213]: Completed + - generic "Connected - receiving real-time updates" [ref=e214] + - generic [ref=e215]: + - generic [ref=e216]: + - navigation [ref=e218]: + - button "📋Overview" [ref=e219] + - button "🎥Video Preview" [ref=e220] + - button "📁Assets" [active] [ref=e221] + - button "📜History" [ref=e222] + - button "🕒VTT Versions" [ref=e223] + - generic [ref=e225]: + - heading "Language Assets" [level=2] [ref=e294] + - generic [ref=e295]: + - generic [ref=e297]: + - heading "EN" [level=3] [ref=e298] + - generic [ref=e299]: + - generic [ref=e300]: Captions Ready + - generic [ref=e301]: AD Ready + - generic [ref=e302]: MP3 Ready + - generic [ref=e304]: + - heading "DE-DE" [level=3] [ref=e305] + - generic [ref=e306]: + - generic [ref=e307]: Captions Ready + - generic [ref=e308]: AD Ready + - generic [ref=e309]: MP3 Ready + - generic [ref=e311]: + - heading "FR-CA" [level=3] [ref=e312] + - generic [ref=e313]: + - generic [ref=e314]: Captions Ready + - generic [ref=e315]: AD Ready + - generic [ref=e316]: MP3 Ready + - generic [ref=e256]: + - generic [ref=e257]: + - heading "Return to QC" [level=3] [ref=e258] + - paragraph [ref=e259]: Move this job back to QC review for further editing. + - button "Return to QC" [ref=e260]: + - img [ref=e261] + - text: Return to QC + - generic [ref=e264]: + - heading "Processing Progress" [level=3] [ref=e265] + - generic [ref=e266]: + - generic [ref=e269]: Created + - generic [ref=e272]: Ingesting + - generic [ref=e275]: Ai Processing + - generic [ref=e278]: Translating + - generic [ref=e281]: Tts Generating + - generic [ref=e284]: Rendering Video + - generic [ref=e287]: Pending Qc + - generic [ref=e290]: Pending Final Review + - generic [ref=e293]: Completed \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-09-678Z.yml b/.playwright-mcp/page-2026-05-01T12-40-09-678Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-09-678Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-17-487Z.yml b/.playwright-mcp/page-2026-05-01T12-40-17-487Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-17-487Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-23-530Z.yml b/.playwright-mcp/page-2026-05-01T12-40-23-530Z.yml new file mode 100644 index 0000000..5dfb28d --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-23-530Z.yml @@ -0,0 +1,140 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - heading "Audit Log" [level=1] [ref=e87] + - generic [ref=e88]: Auto-refreshes every 30s + - generic [ref=e89]: + - button "All Events" [ref=e90] + - button "Security Events" [ref=e91] + - button "User Activity" [ref=e92] + - generic [ref=e93]: + - textbox "Search…" [ref=e94] + - combobox [ref=e95]: + - option "All actions" [selected] + - option "login_success" + - option "login_failure" + - option "logout" + - option "token_refresh" + - option "password_change" + - option "password_reset" + - option "job_create" + - option "job_update" + - option "job_delete" + - option "job_approve" + - option "job_reject" + - option "job_cancel" + - option "job_status_change" + - option "vtt_edit" + - option "vtt_approve" + - option "vtt_reject" + - option "file_upload" + - option "file_download" + - option "file_delete" + - option "file_access" + - option "user_create" + - option "user_update" + - option "user_delete" + - option "user_role_change" + - option "user_activate" + - option "user_deactivate" + - option "rate_limit_exceeded" + - option "validation_failure" + - option "unauthorized_access" + - option "suspicious_activity" + - option "admin_config_change" + - option "admin_system_action" + - option "admin_data_export" + - option "admin_audit_access" + - combobox [ref=e96]: + - option "All severities" [selected] + - option "Info" + - option "Warning" + - option "Error" + - option "Critical" + - combobox [ref=e97]: + - option "Success + Failures" [selected] + - option "Success only" + - option "Failures only" + - button "Search" [ref=e98] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-31-088Z.yml b/.playwright-mcp/page-2026-05-01T12-40-31-088Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-31-088Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-44-765Z.yml b/.playwright-mcp/page-2026-05-01T12-40-44-765Z.yml new file mode 100644 index 0000000..e78c13b --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-44-765Z.yml @@ -0,0 +1,293 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - heading "User Management" [level=1] [ref=e94] + - generic [ref=e88]: + - link "AI Cost Dashboard" [ref=e95] [cursor=pointer]: + - /url: https://optical-dev.oliver.solutions/cost-tracker/analytics + - img [ref=e96] + - text: AI Cost Dashboard + - button "Create User" [active] [ref=e98]: + - img [ref=e99] + - text: Create User + - generic [ref=e102]: + - generic [ref=e103]: + - generic [ref=e104]: "Role:" + - combobox [ref=e105]: + - option "All Roles" [selected] + - option "Admin" + - option "Project Manager" + - option "Production" + - option "Reviewer" + - option "Linguist" + - option "Client" + - generic [ref=e106]: + - generic [ref=e107]: "Org:" + - combobox [ref=e108]: + - option "All Orgs" [selected] + - option "3M-Test" + - generic [ref=e109]: + - checkbox "Active users only" [checked] [ref=e110] + - generic [ref=e111]: Active users only + - generic [ref=e112]: 7 users found + - table [ref=e114]: + - rowgroup [ref=e115]: + - row "User Role Auth Method Status Created Actions" [ref=e116]: + - columnheader "User" [ref=e117] + - columnheader "Role" [ref=e118] + - columnheader "Auth Method" [ref=e119] + - columnheader "Status" [ref=e120] + - columnheader "Created" [ref=e121] + - columnheader "Actions" [ref=e122] + - rowgroup [ref=e123]: + - row "T Test Project Manager test-pm@oliver.agency Project Manager local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e124]: + - cell "T Test Project Manager test-pm@oliver.agency" [ref=e125]: + - generic [ref=e126]: + - generic [ref=e128]: T + - generic [ref=e129]: + - generic [ref=e130]: Test Project Manager + - generic [ref=e131]: test-pm@oliver.agency + - cell "Project Manager" [ref=e132]: + - generic [ref=e133]: Project Manager + - cell "local" [ref=e134]: + - generic [ref=e135]: local + - cell "Active" [ref=e136]: + - generic [ref=e137]: Active + - cell "5/1/2026" [ref=e138] + - cell "Edit Reset Password Deactivate" [ref=e139]: + - generic [ref=e140]: + - link "Edit" [ref=e141] [cursor=pointer]: + - /url: /video-accessibility/admin/users/69f497d51187232cb149f5c0 + - button "Reset Password" [ref=e142] + - button "Deactivate" [ref=e143] + - row "T Test Production test-production@oliver.agency production local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e144]: + - cell "T Test Production test-production@oliver.agency" [ref=e145]: + - generic [ref=e146]: + - generic [ref=e148]: T + - generic [ref=e149]: + - generic [ref=e150]: Test Production + - generic [ref=e151]: test-production@oliver.agency + - cell "production" [ref=e152]: + - generic [ref=e153]: production + - cell "local" [ref=e154]: + - generic [ref=e155]: local + - cell "Active" [ref=e156]: + - generic [ref=e157]: Active + - cell "5/1/2026" [ref=e158] + - cell "Edit Reset Password Deactivate" [ref=e159]: + - generic [ref=e160]: + - link "Edit" [ref=e161] [cursor=pointer]: + - /url: /video-accessibility/admin/users/69f497d41187232cb149f5bf + - button "Reset Password" [ref=e162] + - button "Deactivate" [ref=e163] + - row "T Test Reviewer test-reviewer@oliver.agency reviewer local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e164]: + - cell "T Test Reviewer test-reviewer@oliver.agency" [ref=e165]: + - generic [ref=e166]: + - generic [ref=e168]: T + - generic [ref=e169]: + - generic [ref=e170]: Test Reviewer + - generic [ref=e171]: test-reviewer@oliver.agency + - cell "reviewer" [ref=e172]: + - generic [ref=e173]: reviewer + - cell "local" [ref=e174]: + - generic [ref=e175]: local + - cell "Active" [ref=e176]: + - generic [ref=e177]: Active + - cell "5/1/2026" [ref=e178] + - cell "Edit Reset Password Deactivate" [ref=e179]: + - generic [ref=e180]: + - link "Edit" [ref=e181] [cursor=pointer]: + - /url: /video-accessibility/admin/users/69f497d41187232cb149f5be + - button "Reset Password" [ref=e182] + - button "Deactivate" [ref=e183] + - row "T Test Linguist test-linguist@oliver.agency linguist local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e184]: + - cell "T Test Linguist test-linguist@oliver.agency" [ref=e185]: + - generic [ref=e186]: + - generic [ref=e188]: T + - generic [ref=e189]: + - generic [ref=e190]: Test Linguist + - generic [ref=e191]: test-linguist@oliver.agency + - cell "linguist" [ref=e192]: + - generic [ref=e193]: linguist + - cell "local" [ref=e194]: + - generic [ref=e195]: local + - cell "Active" [ref=e196]: + - generic [ref=e197]: Active + - cell "5/1/2026" [ref=e198] + - cell "Edit Reset Password Deactivate" [ref=e199]: + - generic [ref=e200]: + - link "Edit" [ref=e201] [cursor=pointer]: + - /url: /video-accessibility/admin/users/69f497d41187232cb149f5bd + - button "Reset Password" [ref=e202] + - button "Deactivate" [ref=e203] + - row "T Test Client test-client@oliver.agency client local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e204]: + - cell "T Test Client test-client@oliver.agency" [ref=e205]: + - generic [ref=e206]: + - generic [ref=e208]: T + - generic [ref=e209]: + - generic [ref=e210]: Test Client + - generic [ref=e211]: test-client@oliver.agency + - cell "client" [ref=e212]: + - generic [ref=e213]: client + - cell "local" [ref=e214]: + - generic [ref=e215]: local + - cell "Active" [ref=e216]: + - generic [ref=e217]: Active + - cell "5/1/2026" [ref=e218] + - cell "Edit Reset Password Deactivate" [ref=e219]: + - generic [ref=e220]: + - link "Edit" [ref=e221] [cursor=pointer]: + - /url: /video-accessibility/admin/users/69f497d41187232cb149f5bc + - button "Reset Password" [ref=e222] + - button "Deactivate" [ref=e223] + - row "T Test Admin test-admin@oliver.agency admin local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e224]: + - cell "T Test Admin test-admin@oliver.agency" [ref=e225]: + - generic [ref=e226]: + - generic [ref=e228]: T + - generic [ref=e229]: + - generic [ref=e230]: Test Admin + - generic [ref=e231]: test-admin@oliver.agency + - cell "admin" [ref=e232]: + - generic [ref=e233]: admin + - cell "local" [ref=e234]: + - generic [ref=e235]: local + - cell "Active" [ref=e236]: + - generic [ref=e237]: Active + - cell "5/1/2026" [ref=e238] + - cell "Edit Reset Password Deactivate" [ref=e239]: + - generic [ref=e240]: + - link "Edit" [ref=e241] [cursor=pointer]: + - /url: /video-accessibility/admin/users/69f497d31187232cb149f5bb + - button "Reset Password" [ref=e242] + - button "Deactivate" [ref=e243] + - row "V Vadym Samoilenko vadymsamoilenko@oliver.agency admin microsoft Active 4/30/2026 Edit Deactivate" [ref=e244]: + - cell "V Vadym Samoilenko vadymsamoilenko@oliver.agency" [ref=e245]: + - generic [ref=e246]: + - generic [ref=e248]: V + - generic [ref=e249]: + - generic [ref=e250]: Vadym Samoilenko + - generic [ref=e251]: vadymsamoilenko@oliver.agency + - cell "admin" [ref=e252]: + - generic [ref=e253]: admin + - cell "microsoft" [ref=e254]: + - generic [ref=e255]: + - img [ref=e256] + - text: microsoft + - cell "Active" [ref=e258]: + - generic [ref=e259]: Active + - cell "4/30/2026" [ref=e260] + - cell "Edit Deactivate" [ref=e261]: + - generic [ref=e262]: + - link "Edit" [ref=e263] [cursor=pointer]: + - /url: /video-accessibility/admin/users/ms-hnCOF-gMVj2GdlMMn3ZI + - button "Deactivate" [ref=e264] + - generic [ref=e266]: + - generic [ref=e267]: + - heading "Create New User" [level=3] [ref=e268] + - button [ref=e269]: + - img [ref=e270] + - generic [ref=e272]: + - generic [ref=e273]: + - generic [ref=e274]: Email + - textbox "Email" [ref=e275] + - generic [ref=e276]: + - generic [ref=e277]: Full Name + - textbox "Full Name" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: Password + - textbox "Password" [ref=e281] + - paragraph [ref=e282]: Minimum 8 characters + - generic [ref=e283]: + - generic [ref=e284]: Role + - combobox "Role" [ref=e285]: + - option "Client" [selected] + - option "Reviewer" + - option "Linguist" + - option "Production" + - option "Project Manager" + - option "Admin" + - generic [ref=e286]: + - button "Cancel" [ref=e287] + - button "Create User" [ref=e288] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-40-57-720Z.yml b/.playwright-mcp/page-2026-05-01T12-40-57-720Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-40-57-720Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-41-04-394Z.yml b/.playwright-mcp/page-2026-05-01T12-41-04-394Z.yml new file mode 100644 index 0000000..e69de29 diff --git a/.playwright-mcp/page-2026-05-01T12-41-19-738Z.yml b/.playwright-mcp/page-2026-05-01T12-41-19-738Z.yml new file mode 100644 index 0000000..d92714a --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-41-19-738Z.yml @@ -0,0 +1,142 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e87]: + - generic [ref=e88]: + - heading "Welcome back, test-admin! 👋" [level=1] [ref=e89] + - paragraph [ref=e90]: Here's what's happening with your video accessibility projects + - generic [ref=e92]: + - paragraph [ref=e93]: Today + - paragraph [ref=e94]: Friday, May 1 + - generic [ref=e95]: + - link "📋 Total Jobs 0 View all →" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e98]: + - generic [ref=e99]: + - generic [ref=e101]: 📋 + - heading "Total Jobs" [level=3] [ref=e102] + - paragraph [ref=e103]: "0" + - paragraph [ref=e104]: View all → + - link "⚙️ Processing 0 View processing →" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc + - generic [ref=e107]: + - generic [ref=e108]: + - generic [ref=e110]: ⚙️ + - heading "Processing" [level=3] [ref=e111] + - paragraph [ref=e112]: "0" + - paragraph [ref=e113]: View processing → + - link "🔍 In QC Review 0 Review now →" [ref=e114] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e116]: + - generic [ref=e117]: + - generic [ref=e119]: 🔍 + - heading "In QC Review" [level=3] [ref=e120] + - paragraph [ref=e121]: "0" + - paragraph [ref=e122]: Review now → + - link "✅ Completed 0 View completed →" [ref=e123] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=completed + - generic [ref=e125]: + - generic [ref=e126]: + - generic [ref=e128]: ✅ + - heading "Completed" [level=3] [ref=e129] + - paragraph [ref=e130]: "0" + - paragraph [ref=e131]: View completed → + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: + - generic [ref=e136]: 🔍 + - heading "Quality Control" [level=2] [ref=e137] + - paragraph [ref=e138]: 0 jobs awaiting review + - paragraph [ref=e139]: Review AI-generated content for accuracy and compliance with accessibility standards. + - link "Start Reviewing →" [ref=e140] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e141]: + - generic [ref=e142]: + - generic [ref=e144]: ✅ + - heading "Final Approval" [level=2] [ref=e145] + - paragraph [ref=e146]: Jobs ready for delivery + - paragraph [ref=e147]: Complete the final review process and approve jobs for client delivery. + - link "Review Finals →" [ref=e148] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - heading "Recent Activity" [level=2] [ref=e151] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-41-54-522Z.yml b/.playwright-mcp/page-2026-05-01T12-41-54-522Z.yml new file mode 100644 index 0000000..98c2e57 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-41-54-522Z.yml @@ -0,0 +1,99 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "⚙️ Settings" [ref=e51] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/members + - generic [ref=e52]: ⚙️ + - generic [ref=e53]: Settings + - link "📖 Help" [ref=e55] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e56]: 📖 + - generic [ref=e57]: Help + - generic [ref=e59]: + - generic [ref=e61]: T + - generic [ref=e62]: + - paragraph [ref=e63]: Test Admin + - paragraph [ref=e64]: admin + - generic [ref=e65]: + - navigation [ref=e66]: + - generic [ref=e67]: + - heading "Dashboard" [level=2] [ref=e69] + - generic [ref=e70]: + - button [ref=e72]: + - img [ref=e73] + - link "New Upload" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e76] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e79]: + - generic [ref=e81]: T + - generic [ref=e82]: + - paragraph [ref=e83]: test-admin@oliver.agency + - paragraph [ref=e84]: admin + - img [ref=e85] + - main [ref=e87]: + - generic [ref=e88]: + - heading "Organization Settings" [level=1] [ref=e89] + - generic [ref=e90]: + - link "Members" [ref=e91] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/members + - link "Teams" [ref=e92] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/teams + - link "Invitations" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/invitations + - link "General" [ref=e94] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/general + - generic [ref=e95]: Loading… \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-42-04-408Z.png b/.playwright-mcp/page-2026-05-01T12-42-04-408Z.png new file mode 100644 index 0000000..f3dd4d9 Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-42-04-408Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-42-14-908Z.yml b/.playwright-mcp/page-2026-05-01T12-42-14-908Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-42-14-908Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-42-40-725Z.yml b/.playwright-mcp/page-2026-05-01T12-42-40-725Z.yml new file mode 100644 index 0000000..9af688b --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-42-40-725Z.yml @@ -0,0 +1,939 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue 1" [ref=e94] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - generic [ref=e95]: "1" + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e124]: + - generic [ref=e125]: + - generic [ref=e126]: + - generic [ref=e127]: + - heading "test-video" [level=1] [ref=e128] + - button "Rename" [ref=e129]: + - img [ref=e130] + - generic [ref=e132]: + - generic [ref=e133]: Pending QC + - generic [ref=e134]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e135]: "Language: EN" + - generic [ref=e136]: "Duration: 68s" + - generic [ref=e137]: + - button "↗ Share link" [ref=e138] + - button "← Back to Queue" [ref=e139] + - generic [ref=e140]: + - generic [ref=e142]: + - generic [ref=e143]: Languages + - generic [ref=e144]: 0/1 approved + - generic [ref=e146]: + - button "⏳ EN (source) Pending ▲" [ref=e147]: + - generic [ref=e148]: + - generic [ref=e149]: ⏳ + - generic [ref=e150]: EN + - generic [ref=e151]: (source) + - generic [ref=e152]: Pending + - generic [ref=e153]: ▲ + - generic [ref=e154]: + - generic [ref=e155]: + - generic [ref=e156]: + - generic [ref=e157]: Linguist + - generic [ref=e158]: Unassigned + - button "Assign linguist" [ref=e159] + - generic [ref=e160]: + - generic [ref=e161]: Reviewer + - generic [ref=e162]: Unassigned + - button "Assign reviewer" [ref=e163] + - generic [ref=e164]: + - button "✓ Approve" [ref=e166] + - button "✕ Request changes" [ref=e167] + - button "💬 Comments (0)" [ref=e169] + - generic [ref=e170]: + - generic [ref=e171]: + - generic [ref=e172]: "View Mode:" + - generic [ref=e173]: + - button "Side by Side (1)" [ref=e174] + - button "Video Only (2)" [ref=e175] + - button "Editor Only (3)" [ref=e176] + - generic [ref=e177]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e179]: + - heading "Video Preview" [level=3] [ref=e181] + - generic [ref=e182]: + - generic [ref=e183]: + - generic [ref=e184]: Your browser does not support the video tag. + - generic [ref=e186]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e187]: + - generic [ref=e188]: + - checkbox "Show Captions" [checked] [ref=e189] + - generic [ref=e190]: Show Captions + - generic [ref=e191]: "Time: 0:00" + - generic [ref=e192]: + - heading "Caption Timeline (English)" [level=4] [ref=e193] + - generic [ref=e194]: + - generic [ref=e195] [cursor=pointer]: + - generic [ref=e196]: + - generic [ref=e197]: 0:00 → 0:05 + - button "Jump" [ref=e198] + - generic [ref=e199]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e200] [cursor=pointer]: + - generic [ref=e201]: + - generic [ref=e202]: 0:06 → 0:10 + - button "Jump" [ref=e203] + - generic [ref=e204]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e205] [cursor=pointer]: + - generic [ref=e206]: + - generic [ref=e207]: 0:10 → 0:13 + - button "Jump" [ref=e208] + - generic [ref=e209]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e210] [cursor=pointer]: + - generic [ref=e211]: + - generic [ref=e212]: 0:13 → 0:16 + - button "Jump" [ref=e213] + - generic [ref=e214]: and faster for solar energy projects, + - generic [ref=e215] [cursor=pointer]: + - generic [ref=e216]: + - generic [ref=e217]: 0:16 → 0:18 + - button "Jump" [ref=e218] + - generic [ref=e219]: wind energy projects, + - generic [ref=e220] [cursor=pointer]: + - generic [ref=e221]: + - generic [ref=e222]: 0:18 → 0:21 + - button "Jump" [ref=e223] + - generic [ref=e224]: and battery energy storage systems. + - generic [ref=e225] [cursor=pointer]: + - generic [ref=e226]: + - generic [ref=e227]: 0:21 → 0:25 + - button "Jump" [ref=e228] + - generic [ref=e229]: We can help you solve your electrical installation challenges. + - generic [ref=e230] [cursor=pointer]: + - generic [ref=e231]: + - generic [ref=e232]: 0:25 → 0:28 + - button "Jump" [ref=e233] + - generic [ref=e234]: 3M provides advanced technology solutions + - generic [ref=e235] [cursor=pointer]: + - generic [ref=e236]: + - generic [ref=e237]: 0:28 → 0:32 + - button "Jump" [ref=e238] + - generic [ref=e239]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e240] [cursor=pointer]: + - generic [ref=e241]: + - generic [ref=e242]: 0:32 → 0:35 + - button "Jump" [ref=e243] + - generic [ref=e244]: Our engineers can help with your projects + - generic [ref=e245] [cursor=pointer]: + - generic [ref=e246]: + - generic [ref=e247]: 0:35 → 0:37 + - button "Jump" [ref=e248] + - generic [ref=e249]: and recommend customized product kits + - generic [ref=e250] [cursor=pointer]: + - generic [ref=e251]: + - generic [ref=e252]: 0:37 → 0:40 + - button "Jump" [ref=e253] + - generic [ref=e254]: so you get exactly what you need for reliable product performance. + - generic [ref=e255] [cursor=pointer]: + - generic [ref=e256]: + - generic [ref=e257]: 0:40 → 0:44 + - button "Jump" [ref=e258] + - generic [ref=e259]: We work closely with you, so you get the support you need. + - generic [ref=e260] [cursor=pointer]: + - generic [ref=e261]: + - generic [ref=e262]: 0:45 → 0:48 + - button "Jump" [ref=e263] + - generic [ref=e264]: Your work, combined with our solutions, + - generic [ref=e265] [cursor=pointer]: + - generic [ref=e266]: + - generic [ref=e267]: 0:50 → 0:52 + - button "Jump" [ref=e268] + - generic [ref=e269]: can help avoid costly downtime + - generic [ref=e270] [cursor=pointer]: + - generic [ref=e271]: + - generic [ref=e272]: 0:52 → 0:55 + - button "Jump" [ref=e273] + - generic [ref=e274]: and keep your renewable systems up and running smoothly. + - generic [ref=e275] [cursor=pointer]: + - generic [ref=e276]: + - generic [ref=e277]: 0:56 → 0:59 + - button "Jump" [ref=e278] + - generic [ref=e279]: Wherever the job takes you, we have your solution. + - generic [ref=e280] [cursor=pointer]: + - generic [ref=e281]: + - generic [ref=e282]: 1:01 → 1:04 + - button "Jump" [ref=e283] + - generic [ref=e284]: 3M. Science. Applied to Life. + - generic [ref=e285]: + - generic [ref=e286]: + - generic [ref=e287]: + - generic [ref=e288]: Closed Captions (EN) + - button "Upload .vtt" [ref=e289] + - generic [ref=e290]: + - heading "Closed Captions (EN)" [level=3] [ref=e293] + - generic [ref=e295]: + - generic [ref=e296]: + - generic [ref=e297]: + - generic [ref=e298]: + - generic [ref=e299]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e300]': 00:00:00.000 + - generic [ref=e301]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e302]': 00:00:05.500 + - generic [ref=e303]: (5500ms) + - generic [ref=e304]: + - button "Insert cue before" [ref=e305]: + - img [ref=e306] + - button "Insert cue after" [ref=e308]: + - img [ref=e309] + - button "Delete cue" [ref=e311]: + - img [ref=e312] + - generic [ref=e314]: + - generic [ref=e315]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e316] + - generic [ref=e317]: + - generic [ref=e318]: + - generic [ref=e319]: + - generic [ref=e320]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e321]': 00:00:06.000 + - generic [ref=e322]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e323]': 00:00:10.000 + - generic [ref=e324]: (4000ms) + - generic [ref=e325]: + - button "Insert cue before" [ref=e326]: + - img [ref=e327] + - button "Insert cue after" [ref=e329]: + - img [ref=e330] + - button "Delete cue" [ref=e332]: + - img [ref=e333] + - generic [ref=e335]: + - generic [ref=e336]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e337] + - generic [ref=e338]: + - generic [ref=e339]: + - generic [ref=e340]: + - generic [ref=e341]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e342]': 00:00:10.000 + - generic [ref=e343]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e344]': 00:00:13.500 + - generic [ref=e345]: (3500ms) + - generic [ref=e346]: + - button "Insert cue before" [ref=e347]: + - img [ref=e348] + - button "Insert cue after" [ref=e350]: + - img [ref=e351] + - button "Delete cue" [ref=e353]: + - img [ref=e354] + - generic [ref=e356]: + - generic [ref=e357]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e358] + - generic [ref=e359]: + - generic [ref=e360]: + - generic [ref=e361]: + - generic [ref=e362]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e363]': 00:00:13.500 + - generic [ref=e364]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e365]': 00:00:16.000 + - generic [ref=e366]: (2500ms) + - generic [ref=e367]: + - button "Insert cue before" [ref=e368]: + - img [ref=e369] + - button "Insert cue after" [ref=e371]: + - img [ref=e372] + - button "Delete cue" [ref=e374]: + - img [ref=e375] + - generic [ref=e377]: + - generic [ref=e378]: and faster for solar energy projects, + - button "Edit text" [ref=e379] + - generic [ref=e380]: + - generic [ref=e381]: + - generic [ref=e382]: + - generic [ref=e383]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e384]': 00:00:16.000 + - generic [ref=e385]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e386]': 00:00:18.500 + - generic [ref=e387]: (2500ms) + - generic [ref=e388]: + - button "Insert cue before" [ref=e389]: + - img [ref=e390] + - button "Insert cue after" [ref=e392]: + - img [ref=e393] + - button "Delete cue" [ref=e395]: + - img [ref=e396] + - generic [ref=e398]: + - generic [ref=e399]: wind energy projects, + - button "Edit text" [ref=e400] + - generic [ref=e401]: + - generic [ref=e402]: + - generic [ref=e403]: + - generic [ref=e404]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e405]': 00:00:18.500 + - generic [ref=e406]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e407]': 00:00:21.500 + - generic [ref=e408]: (3000ms) + - generic [ref=e409]: + - button "Insert cue before" [ref=e410]: + - img [ref=e411] + - button "Insert cue after" [ref=e413]: + - img [ref=e414] + - button "Delete cue" [ref=e416]: + - img [ref=e417] + - generic [ref=e419]: + - generic [ref=e420]: and battery energy storage systems. + - button "Edit text" [ref=e421] + - generic [ref=e422]: + - generic [ref=e423]: + - generic [ref=e424]: + - generic [ref=e425]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e426]': 00:00:21.500 + - generic [ref=e427]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e428]': 00:00:25.000 + - generic [ref=e429]: (3500ms) + - generic [ref=e430]: + - button "Insert cue before" [ref=e431]: + - img [ref=e432] + - button "Insert cue after" [ref=e434]: + - img [ref=e435] + - button "Delete cue" [ref=e437]: + - img [ref=e438] + - generic [ref=e440]: + - generic [ref=e441]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e442] + - generic [ref=e443]: + - generic [ref=e444]: + - generic [ref=e445]: + - generic [ref=e446]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e447]': 00:00:25.000 + - generic [ref=e448]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e449]': 00:00:28.000 + - generic [ref=e450]: (3000ms) + - generic [ref=e451]: + - button "Insert cue before" [ref=e452]: + - img [ref=e453] + - button "Insert cue after" [ref=e455]: + - img [ref=e456] + - button "Delete cue" [ref=e458]: + - img [ref=e459] + - generic [ref=e461]: + - generic [ref=e462]: 3M provides advanced technology solutions + - button "Edit text" [ref=e463] + - generic [ref=e464]: + - generic [ref=e465]: + - generic [ref=e466]: + - generic [ref=e467]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e468]': 00:00:28.000 + - generic [ref=e469]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e470]': 00:00:32.000 + - generic [ref=e471]: (4000ms) + - generic [ref=e472]: + - button "Insert cue before" [ref=e473]: + - img [ref=e474] + - button "Insert cue after" [ref=e476]: + - img [ref=e477] + - button "Delete cue" [ref=e479]: + - img [ref=e480] + - generic [ref=e482]: + - generic [ref=e483]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e484] + - generic [ref=e485]: + - generic [ref=e486]: + - generic [ref=e487]: + - generic [ref=e488]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e489]': 00:00:32.000 + - generic [ref=e490]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e491]': 00:00:35.000 + - generic [ref=e492]: (3000ms) + - generic [ref=e493]: + - button "Insert cue before" [ref=e494]: + - img [ref=e495] + - button "Insert cue after" [ref=e497]: + - img [ref=e498] + - button "Delete cue" [ref=e500]: + - img [ref=e501] + - generic [ref=e503]: + - generic [ref=e504]: Our engineers can help with your projects + - button "Edit text" [ref=e505] + - generic [ref=e506]: + - generic [ref=e507]: + - generic [ref=e508]: + - generic [ref=e509]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e510]': 00:00:35.000 + - generic [ref=e511]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e512]': 00:00:37.500 + - generic [ref=e513]: (2500ms) + - generic [ref=e514]: + - button "Insert cue before" [ref=e515]: + - img [ref=e516] + - button "Insert cue after" [ref=e518]: + - img [ref=e519] + - button "Delete cue" [ref=e521]: + - img [ref=e522] + - generic [ref=e524]: + - generic [ref=e525]: and recommend customized product kits + - button "Edit text" [ref=e526] + - generic [ref=e527]: + - generic [ref=e528]: + - generic [ref=e529]: + - generic [ref=e530]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e531]': 00:00:37.500 + - generic [ref=e532]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e533]': 00:00:40.500 + - generic [ref=e534]: (3000ms) + - generic [ref=e535]: + - button "Insert cue before" [ref=e536]: + - img [ref=e537] + - button "Insert cue after" [ref=e539]: + - img [ref=e540] + - button "Delete cue" [ref=e542]: + - img [ref=e543] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e546]: ⚡ 22 CPS + - generic [ref=e547]: + - generic [ref=e548]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e549] + - generic [ref=e550]: + - generic [ref=e551]: + - generic [ref=e552]: + - generic [ref=e553]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e554]': 00:00:40.500 + - generic [ref=e555]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e556]': 00:00:44.500 + - generic [ref=e557]: (4000ms) + - generic [ref=e558]: + - button "Insert cue before" [ref=e559]: + - img [ref=e560] + - button "Insert cue after" [ref=e562]: + - img [ref=e563] + - button "Delete cue" [ref=e565]: + - img [ref=e566] + - generic [ref=e568]: + - generic [ref=e569]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e570] + - generic [ref=e571]: + - generic [ref=e572]: + - generic [ref=e573]: + - generic [ref=e574]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e575]': 00:00:45.000 + - generic [ref=e576]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e577]': 00:00:48.500 + - generic [ref=e578]: (3500ms) + - generic [ref=e579]: + - button "Insert cue before" [ref=e580]: + - img [ref=e581] + - button "Insert cue after" [ref=e583]: + - img [ref=e584] + - button "Delete cue" [ref=e586]: + - img [ref=e587] + - generic [ref=e589]: + - generic [ref=e590]: Your work, combined with our solutions, + - button "Edit text" [ref=e591] + - generic "Insert cue in this gap (1.5s gap)" [ref=e592] [cursor=pointer]: + - generic [ref=e593]: + Add cue here · 1.5s gap + - generic [ref=e594]: + - generic [ref=e595]: + - generic [ref=e596]: + - generic [ref=e597]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e598]': 00:00:50.000 + - generic [ref=e599]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e600]': 00:00:52.000 + - generic [ref=e601]: (2000ms) + - generic [ref=e602]: + - button "Insert cue before" [ref=e603]: + - img [ref=e604] + - button "Insert cue after" [ref=e606]: + - img [ref=e607] + - button "Delete cue" [ref=e609]: + - img [ref=e610] + - generic [ref=e612]: + - generic [ref=e613]: can help avoid costly downtime + - button "Edit text" [ref=e614] + - generic [ref=e615]: + - generic [ref=e616]: + - generic [ref=e617]: + - generic [ref=e618]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e619]': 00:00:52.000 + - generic [ref=e620]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e621]': 00:00:55.500 + - generic [ref=e622]: (3500ms) + - generic [ref=e623]: + - button "Insert cue before" [ref=e624]: + - img [ref=e625] + - button "Insert cue after" [ref=e627]: + - img [ref=e628] + - button "Delete cue" [ref=e630]: + - img [ref=e631] + - generic [ref=e633]: + - generic [ref=e634]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e635] + - generic "Insert cue in this gap (1.0s gap)" [ref=e636] [cursor=pointer]: + - generic [ref=e637]: + Add cue here · 1.0s gap + - generic [ref=e638]: + - generic [ref=e639]: + - generic [ref=e640]: + - generic [ref=e641]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e642]': 00:00:56.500 + - generic [ref=e643]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e644]': 00:00:59.500 + - generic [ref=e645]: (3000ms) + - generic [ref=e646]: + - button "Insert cue before" [ref=e647]: + - img [ref=e648] + - button "Insert cue after" [ref=e650]: + - img [ref=e651] + - button "Delete cue" [ref=e653]: + - img [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e658] + - generic "Insert cue in this gap (1.5s gap)" [ref=e659] [cursor=pointer]: + - generic [ref=e660]: + Add cue here · 1.5s gap + - generic [ref=e661]: + - generic [ref=e662]: + - generic [ref=e663]: + - generic [ref=e664]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e665]': 00:01:01.000 + - generic [ref=e666]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e667]': 00:01:04.000 + - generic [ref=e668]: (3000ms) + - generic [ref=e669]: + - button "Insert cue before" [ref=e670]: + - img [ref=e671] + - button "Insert cue after" [ref=e673]: + - img [ref=e674] + - button "Delete cue" [ref=e676]: + - img [ref=e677] + - generic [ref=e679]: + - generic [ref=e680]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e681] + - generic [ref=e682]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e684] + - generic [ref=e685]: + - generic [ref=e686]: + - generic [ref=e687]: Audio Description (EN) + - button "Upload .vtt" [ref=e688] + - generic [ref=e689]: + - heading "Audio Description (EN)" [level=3] [ref=e692] + - generic [ref=e694]: + - generic [ref=e695]: + - generic [ref=e696]: + - generic [ref=e697]: + - generic [ref=e698]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e699]': 00:00:00.000 + - generic [ref=e700]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e701]': 00:00:05.500 + - generic [ref=e702]: (5500ms) + - generic [ref=e703]: + - button "Insert cue before" [ref=e704]: + - img [ref=e705] + - button "Insert cue after" [ref=e707]: + - img [ref=e708] + - button "Delete cue" [ref=e710]: + - img [ref=e711] + - generic [ref=e713]: + - generic [ref=e714]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e715] + - generic [ref=e716]: + - generic [ref=e717]: + - generic [ref=e718]: + - generic [ref=e719]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e720]': 00:00:06.000 + - generic [ref=e721]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e722]': 00:00:10.000 + - generic [ref=e723]: (4000ms) + - generic [ref=e724]: + - button "Insert cue before" [ref=e725]: + - img [ref=e726] + - button "Insert cue after" [ref=e728]: + - img [ref=e729] + - button "Delete cue" [ref=e731]: + - img [ref=e732] + - generic [ref=e734]: + - generic [ref=e735]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e736] + - generic [ref=e737]: + - generic [ref=e738]: + - generic [ref=e739]: + - generic [ref=e740]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e741]': 00:00:10.000 + - generic [ref=e742]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e743]': 00:00:13.500 + - generic [ref=e744]: (3500ms) + - generic [ref=e745]: + - button "Insert cue before" [ref=e746]: + - img [ref=e747] + - button "Insert cue after" [ref=e749]: + - img [ref=e750] + - button "Delete cue" [ref=e752]: + - img [ref=e753] + - generic [ref=e755]: + - generic [ref=e756]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e757] + - generic [ref=e758]: + - generic [ref=e759]: + - generic [ref=e760]: + - generic [ref=e761]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e762]': 00:00:13.500 + - generic [ref=e763]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e764]': 00:00:16.000 + - generic [ref=e765]: (2500ms) + - generic [ref=e766]: + - button "Insert cue before" [ref=e767]: + - img [ref=e768] + - button "Insert cue after" [ref=e770]: + - img [ref=e771] + - button "Delete cue" [ref=e773]: + - img [ref=e774] + - generic [ref=e776]: + - generic [ref=e777]: Three workers walk past solar panels. + - button "Edit text" [ref=e778] + - generic [ref=e779]: + - generic [ref=e780]: + - generic [ref=e781]: + - generic [ref=e782]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e783]': 00:00:16.000 + - generic [ref=e784]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e785]': 00:00:18.500 + - generic [ref=e786]: (2500ms) + - generic [ref=e787]: + - button "Insert cue before" [ref=e788]: + - img [ref=e789] + - button "Insert cue after" [ref=e791]: + - img [ref=e792] + - button "Delete cue" [ref=e794]: + - img [ref=e795] + - generic [ref=e797]: + - generic [ref=e798]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e799] + - generic [ref=e800]: + - generic [ref=e801]: + - generic [ref=e802]: + - generic [ref=e803]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e804]': 00:00:18.500 + - generic [ref=e805]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e806]': 00:00:21.500 + - generic [ref=e807]: (3000ms) + - generic [ref=e808]: + - button "Insert cue before" [ref=e809]: + - img [ref=e810] + - button "Insert cue after" [ref=e812]: + - img [ref=e813] + - button "Delete cue" [ref=e815]: + - img [ref=e816] + - generic [ref=e818]: + - generic [ref=e819]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e820] + - generic [ref=e821]: + - generic [ref=e822]: + - generic [ref=e823]: + - generic [ref=e824]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e825]': 00:00:21.500 + - generic [ref=e826]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e827]': 00:00:25.000 + - generic [ref=e828]: (3500ms) + - generic [ref=e829]: + - button "Insert cue before" [ref=e830]: + - img [ref=e831] + - button "Insert cue after" [ref=e833]: + - img [ref=e834] + - button "Delete cue" [ref=e836]: + - img [ref=e837] + - generic [ref=e839]: + - generic [ref=e840]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e841] + - generic [ref=e842]: + - generic [ref=e843]: + - generic [ref=e844]: + - generic [ref=e845]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e846]': 00:00:25.000 + - generic [ref=e847]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e848]': 00:00:28.000 + - generic [ref=e849]: (3000ms) + - generic [ref=e850]: + - button "Insert cue before" [ref=e851]: + - img [ref=e852] + - button "Insert cue after" [ref=e854]: + - img [ref=e855] + - button "Delete cue" [ref=e857]: + - img [ref=e858] + - generic [ref=e860]: + - generic [ref=e861]: Workers install cables in a trench. + - button "Edit text" [ref=e862] + - generic [ref=e863]: + - generic [ref=e864]: + - generic [ref=e865]: + - generic [ref=e866]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e867]': 00:00:28.000 + - generic [ref=e868]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e869]': 00:00:32.000 + - generic [ref=e870]: (4000ms) + - generic [ref=e871]: + - button "Insert cue before" [ref=e872]: + - img [ref=e873] + - button "Insert cue after" [ref=e875]: + - img [ref=e876] + - button "Delete cue" [ref=e878]: + - img [ref=e879] + - generic [ref=e881]: + - generic [ref=e882]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e883] + - generic [ref=e884]: + - generic [ref=e885]: + - generic [ref=e886]: + - generic [ref=e887]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e888]': 00:00:32.000 + - generic [ref=e889]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e890]': 00:00:35.000 + - generic [ref=e891]: (3000ms) + - generic [ref=e892]: + - button "Insert cue before" [ref=e893]: + - img [ref=e894] + - button "Insert cue after" [ref=e896]: + - img [ref=e897] + - button "Delete cue" [ref=e899]: + - img [ref=e900] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e903]: ⚡ 22 CPS + - generic [ref=e904]: + - generic [ref=e905]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e906] + - generic [ref=e907]: + - generic [ref=e908]: + - generic [ref=e909]: + - generic [ref=e910]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e911]': 00:00:35.000 + - generic [ref=e912]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e913]': 00:00:40.500 + - generic [ref=e914]: (5500ms) + - generic [ref=e915]: + - button "Insert cue before" [ref=e916]: + - img [ref=e917] + - button "Insert cue after" [ref=e919]: + - img [ref=e920] + - button "Delete cue" [ref=e922]: + - img [ref=e923] + - generic [ref=e925]: + - generic [ref=e926]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e927] + - generic [ref=e928]: + - generic [ref=e929]: + - generic [ref=e930]: + - generic [ref=e931]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e932]': 00:00:40.500 + - generic [ref=e933]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e934]': 00:00:44.500 + - generic [ref=e935]: (4000ms) + - generic [ref=e936]: + - button "Insert cue before" [ref=e937]: + - img [ref=e938] + - button "Insert cue after" [ref=e940]: + - img [ref=e941] + - button "Delete cue" [ref=e943]: + - img [ref=e944] + - generic [ref=e946]: + - generic [ref=e947]: Two workers examine a cable component. + - button "Edit text" [ref=e948] + - generic [ref=e949]: + - generic [ref=e950]: + - generic [ref=e951]: + - generic [ref=e952]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e953]': 00:00:44.500 + - generic [ref=e954]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e955]': 00:00:48.500 + - generic [ref=e956]: (4000ms) + - generic [ref=e957]: + - button "Insert cue before" [ref=e958]: + - img [ref=e959] + - button "Insert cue after" [ref=e961]: + - img [ref=e962] + - button "Delete cue" [ref=e964]: + - img [ref=e965] + - generic [ref=e967]: + - generic [ref=e968]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e969] + - generic [ref=e970]: + - generic [ref=e971]: + - generic [ref=e972]: + - generic [ref=e973]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e974]': 00:00:48.500 + - generic [ref=e975]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e976]': 00:00:51.500 + - generic [ref=e977]: (3000ms) + - generic [ref=e978]: + - button "Insert cue before" [ref=e979]: + - img [ref=e980] + - button "Insert cue after" [ref=e982]: + - img [ref=e983] + - button "Delete cue" [ref=e985]: + - img [ref=e986] + - generic [ref=e988]: + - generic [ref=e989]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e990] + - generic [ref=e991]: + - generic [ref=e992]: + - generic [ref=e993]: + - generic [ref=e994]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e995]': 00:00:51.500 + - generic [ref=e996]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e997]': 00:00:55.500 + - generic [ref=e998]: (4000ms) + - generic [ref=e999]: + - button "Insert cue before" [ref=e1000]: + - img [ref=e1001] + - button "Insert cue after" [ref=e1003]: + - img [ref=e1004] + - button "Delete cue" [ref=e1006]: + - img [ref=e1007] + - generic [ref=e1009]: + - generic [ref=e1010]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e1011] + - generic [ref=e1012]: + - generic [ref=e1013]: + - generic [ref=e1014]: + - generic [ref=e1015]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1016]': 00:00:55.500 + - generic [ref=e1017]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1018]': 00:01:00.000 + - generic [ref=e1019]: (4500ms) + - generic [ref=e1020]: + - button "Insert cue before" [ref=e1021]: + - img [ref=e1022] + - button "Insert cue after" [ref=e1024]: + - img [ref=e1025] + - button "Delete cue" [ref=e1027]: + - img [ref=e1028] + - generic [ref=e1030]: + - generic [ref=e1031]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e1032] + - generic [ref=e1033]: + - generic [ref=e1034]: + - generic [ref=e1035]: + - generic [ref=e1036]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1037]': 00:01:00.000 + - generic [ref=e1038]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1039]': 00:01:04.000 + - generic [ref=e1040]: (4000ms) + - generic [ref=e1041]: + - button "Insert cue before" [ref=e1042]: + - img [ref=e1043] + - button "Insert cue after" [ref=e1045]: + - img [ref=e1046] + - button "Delete cue" [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: + - generic [ref=e1052]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1053] + - generic [ref=e1054]: + - generic [ref=e1055]: + - generic [ref=e1056]: + - generic [ref=e1057]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1058]': 00:01:04.000 + - generic [ref=e1059]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1060]': 00:01:08.000 + - generic [ref=e1061]: (4000ms) + - generic [ref=e1062]: + - button "Insert cue before" [ref=e1063]: + - img [ref=e1064] + - button "Insert cue after" [ref=e1066]: + - img [ref=e1067] + - button "Delete cue" [ref=e1069]: + - img [ref=e1070] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1073]: ⚡ 139 CPS + - generic [ref=e1074]: + - generic [ref=e1075]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1076] + - generic [ref=e1077]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1079] + - generic [ref=e1081]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1082] + - button "Adjust Timing" [ref=e1083] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1085]: + - generic [ref=e1086]: + - img [ref=e1087] + - generic [ref=e1089]: Voice Settings for Audio Description + - generic [ref=e1090]: (Configured) + - generic [ref=e1091]: Click to customize or override TTS voice + - generic [ref=e1092]: + - generic [ref=e1093]: Cost Tracker Project ID + - generic [ref=e1094]: + - textbox "e.g. ford-q3-2026" [ref=e1095] + - button "Save" [ref=e1096] + - paragraph [ref=e1097]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1099]: + - generic [ref=e1100]: + - img [ref=e1101] + - generic [ref=e1103]: Download Assets + - generic [ref=e1104]: Click to download individual files + - generic [ref=e1105]: + - generic [ref=e1106]: Review Notes + - textbox "Add any notes about this review..." [ref=e1107] + - generic [ref=e1108]: + - button "Approve All Languages" [ref=e1109] + - button "Reject Job" [ref=e1110] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-43-35-441Z.png b/.playwright-mcp/page-2026-05-01T12-43-35-441Z.png new file mode 100644 index 0000000..7f6a6cf Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-43-35-441Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-44-13-683Z.png b/.playwright-mcp/page-2026-05-01T12-44-13-683Z.png new file mode 100644 index 0000000..2db1c2d Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-44-13-683Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-45-04-215Z.yml b/.playwright-mcp/page-2026-05-01T12-45-04-215Z.yml new file mode 100644 index 0000000..404b764 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-45-04-215Z.yml @@ -0,0 +1,852 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue 1" [ref=e94] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - generic [ref=e95]: "1" + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e124]: + - generic [ref=e125]: + - generic [ref=e126]: + - generic [ref=e127]: + - heading "test-video" [level=1] [ref=e128] + - button "Rename" [ref=e129]: + - img [ref=e130] + - generic [ref=e132]: + - generic [ref=e133]: Pending QC + - generic [ref=e134]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e135]: "Language: EN" + - generic [ref=e136]: "Duration: 68s" + - generic [ref=e137]: + - button "↗ Share link" [ref=e138] + - button "← Back to Queue" [ref=e139] + - generic [ref=e140]: + - generic [ref=e142]: + - generic [ref=e143]: Languages + - generic [ref=e144]: 0/1 approved + - generic [ref=e146]: + - button "⏳ EN (source) Pending ▲" [ref=e147]: + - generic [ref=e148]: + - generic [ref=e149]: ⏳ + - generic [ref=e150]: EN + - generic [ref=e151]: (source) + - generic [ref=e152]: Pending + - generic [ref=e153]: ▲ + - generic [ref=e154]: + - generic [ref=e155]: + - generic [ref=e156]: + - generic [ref=e157]: Linguist + - generic [ref=e158]: Unassigned + - button "Assign linguist" [ref=e159] + - generic [ref=e160]: + - generic [ref=e161]: Reviewer + - generic [ref=e162]: Unassigned + - button "Assign reviewer" [ref=e163] + - generic [ref=e164]: + - button "✓ Approve" [ref=e166] + - button "✕ Request changes" [active] [ref=e167] + - button "💬 Comments (0)" [ref=e169] + - generic [ref=e1116]: + - heading "Request changes — EN" [level=3] [ref=e1117] + - paragraph [ref=e1118]: Describe what the linguist needs to correct. This will be sent to them by email. + - generic [ref=e1119]: + - generic [ref=e1120]: Issue category + - generic [ref=e1121]: + - button "timing" [ref=e1122] + - button "mistranslation" [ref=e1123] + - button "terminology" [ref=e1124] + - button "profanity" [ref=e1125] + - button "length" [ref=e1126] + - button "other" [ref=e1127] + - textbox "Required feedback…" [ref=e1128] + - generic [ref=e1129]: + - button "Cancel" [ref=e1130] + - button "Send feedback" [disabled] [ref=e1131] + - generic [ref=e170]: + - generic [ref=e171]: + - generic [ref=e172]: "View Mode:" + - generic [ref=e173]: + - button "Side by Side (1)" [ref=e174] + - button "Video Only (2)" [ref=e175] + - button "Editor Only (3)" [ref=e176] + - generic [ref=e177]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e285]: + - generic [ref=e286]: + - generic [ref=e287]: + - generic [ref=e288]: Closed Captions (EN) + - button "Upload .vtt" [ref=e289] + - generic [ref=e290]: + - heading "Closed Captions (EN)" [level=3] [ref=e293] + - generic [ref=e295]: + - generic [ref=e296]: + - generic [ref=e297]: + - generic [ref=e298]: + - generic [ref=e299]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e300]': 00:00:00.000 + - generic [ref=e301]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e302]': 00:00:05.500 + - generic [ref=e303]: (5500ms) + - generic [ref=e304]: + - button "Insert cue before" [ref=e305]: + - img [ref=e306] + - button "Insert cue after" [ref=e308]: + - img [ref=e309] + - button "Delete cue" [ref=e311]: + - img [ref=e312] + - generic [ref=e314]: + - generic [ref=e315]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e316] + - generic [ref=e317]: + - generic [ref=e318]: + - generic [ref=e319]: + - generic [ref=e320]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e321]': 00:00:06.000 + - generic [ref=e322]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e323]': 00:00:10.000 + - generic [ref=e324]: (4000ms) + - generic [ref=e325]: + - button "Insert cue before" [ref=e326]: + - img [ref=e327] + - button "Insert cue after" [ref=e329]: + - img [ref=e330] + - button "Delete cue" [ref=e332]: + - img [ref=e333] + - generic [ref=e335]: + - generic [ref=e336]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e337] + - generic [ref=e338]: + - generic [ref=e339]: + - generic [ref=e340]: + - generic [ref=e341]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e342]': 00:00:10.000 + - generic [ref=e343]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e344]': 00:00:13.500 + - generic [ref=e345]: (3500ms) + - generic [ref=e346]: + - button "Insert cue before" [ref=e347]: + - img [ref=e348] + - button "Insert cue after" [ref=e350]: + - img [ref=e351] + - button "Delete cue" [ref=e353]: + - img [ref=e354] + - generic [ref=e356]: + - generic [ref=e357]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e358] + - generic [ref=e359]: + - generic [ref=e360]: + - generic [ref=e361]: + - generic [ref=e362]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e363]': 00:00:13.500 + - generic [ref=e364]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e365]': 00:00:16.000 + - generic [ref=e366]: (2500ms) + - generic [ref=e367]: + - button "Insert cue before" [ref=e368]: + - img [ref=e369] + - button "Insert cue after" [ref=e371]: + - img [ref=e372] + - button "Delete cue" [ref=e374]: + - img [ref=e375] + - generic [ref=e377]: + - generic [ref=e378]: and faster for solar energy projects, + - button "Edit text" [ref=e379] + - generic [ref=e380]: + - generic [ref=e381]: + - generic [ref=e382]: + - generic [ref=e383]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e384]': 00:00:16.000 + - generic [ref=e385]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e386]': 00:00:18.500 + - generic [ref=e387]: (2500ms) + - generic [ref=e388]: + - button "Insert cue before" [ref=e389]: + - img [ref=e390] + - button "Insert cue after" [ref=e392]: + - img [ref=e393] + - button "Delete cue" [ref=e395]: + - img [ref=e396] + - generic [ref=e398]: + - generic [ref=e399]: wind energy projects, + - button "Edit text" [ref=e400] + - generic [ref=e401]: + - generic [ref=e402]: + - generic [ref=e403]: + - generic [ref=e404]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e405]': 00:00:18.500 + - generic [ref=e406]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e407]': 00:00:21.500 + - generic [ref=e408]: (3000ms) + - generic [ref=e409]: + - button "Insert cue before" [ref=e410]: + - img [ref=e411] + - button "Insert cue after" [ref=e413]: + - img [ref=e414] + - button "Delete cue" [ref=e416]: + - img [ref=e417] + - generic [ref=e419]: + - generic [ref=e420]: and battery energy storage systems. + - button "Edit text" [ref=e421] + - generic [ref=e422]: + - generic [ref=e423]: + - generic [ref=e424]: + - generic [ref=e425]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e426]': 00:00:21.500 + - generic [ref=e427]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e428]': 00:00:25.000 + - generic [ref=e429]: (3500ms) + - generic [ref=e430]: + - button "Insert cue before" [ref=e431]: + - img [ref=e432] + - button "Insert cue after" [ref=e434]: + - img [ref=e435] + - button "Delete cue" [ref=e437]: + - img [ref=e438] + - generic [ref=e440]: + - generic [ref=e441]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e442] + - generic [ref=e443]: + - generic [ref=e444]: + - generic [ref=e445]: + - generic [ref=e446]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e447]': 00:00:25.000 + - generic [ref=e448]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e449]': 00:00:28.000 + - generic [ref=e450]: (3000ms) + - generic [ref=e451]: + - button "Insert cue before" [ref=e452]: + - img [ref=e453] + - button "Insert cue after" [ref=e455]: + - img [ref=e456] + - button "Delete cue" [ref=e458]: + - img [ref=e459] + - generic [ref=e461]: + - generic [ref=e462]: 3M provides advanced technology solutions + - button "Edit text" [ref=e463] + - generic [ref=e464]: + - generic [ref=e465]: + - generic [ref=e466]: + - generic [ref=e467]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e468]': 00:00:28.000 + - generic [ref=e469]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e470]': 00:00:32.000 + - generic [ref=e471]: (4000ms) + - generic [ref=e472]: + - button "Insert cue before" [ref=e473]: + - img [ref=e474] + - button "Insert cue after" [ref=e476]: + - img [ref=e477] + - button "Delete cue" [ref=e479]: + - img [ref=e480] + - generic [ref=e482]: + - generic [ref=e483]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e484] + - generic [ref=e485]: + - generic [ref=e486]: + - generic [ref=e487]: + - generic [ref=e488]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e489]': 00:00:32.000 + - generic [ref=e490]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e491]': 00:00:35.000 + - generic [ref=e492]: (3000ms) + - generic [ref=e493]: + - button "Insert cue before" [ref=e494]: + - img [ref=e495] + - button "Insert cue after" [ref=e497]: + - img [ref=e498] + - button "Delete cue" [ref=e500]: + - img [ref=e501] + - generic [ref=e503]: + - generic [ref=e504]: Our engineers can help with your projects + - button "Edit text" [ref=e505] + - generic [ref=e506]: + - generic [ref=e507]: + - generic [ref=e508]: + - generic [ref=e509]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e510]': 00:00:35.000 + - generic [ref=e511]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e512]': 00:00:37.500 + - generic [ref=e513]: (2500ms) + - generic [ref=e514]: + - button "Insert cue before" [ref=e515]: + - img [ref=e516] + - button "Insert cue after" [ref=e518]: + - img [ref=e519] + - button "Delete cue" [ref=e521]: + - img [ref=e522] + - generic [ref=e524]: + - generic [ref=e525]: and recommend customized product kits + - button "Edit text" [ref=e526] + - generic [ref=e527]: + - generic [ref=e528]: + - generic [ref=e529]: + - generic [ref=e530]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e531]': 00:00:37.500 + - generic [ref=e532]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e533]': 00:00:40.500 + - generic [ref=e534]: (3000ms) + - generic [ref=e535]: + - button "Insert cue before" [ref=e536]: + - img [ref=e537] + - button "Insert cue after" [ref=e539]: + - img [ref=e540] + - button "Delete cue" [ref=e542]: + - img [ref=e543] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e546]: ⚡ 22 CPS + - generic [ref=e547]: + - generic [ref=e548]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e549] + - generic [ref=e550]: + - generic [ref=e551]: + - generic [ref=e552]: + - generic [ref=e553]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e554]': 00:00:40.500 + - generic [ref=e555]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e556]': 00:00:44.500 + - generic [ref=e557]: (4000ms) + - generic [ref=e558]: + - button "Insert cue before" [ref=e559]: + - img [ref=e560] + - button "Insert cue after" [ref=e562]: + - img [ref=e563] + - button "Delete cue" [ref=e565]: + - img [ref=e566] + - generic [ref=e568]: + - generic [ref=e569]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e570] + - generic [ref=e571]: + - generic [ref=e572]: + - generic [ref=e573]: + - generic [ref=e574]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e575]': 00:00:45.000 + - generic [ref=e576]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e577]': 00:00:48.500 + - generic [ref=e578]: (3500ms) + - generic [ref=e579]: + - button "Insert cue before" [ref=e580]: + - img [ref=e581] + - button "Insert cue after" [ref=e583]: + - img [ref=e584] + - button "Delete cue" [ref=e586]: + - img [ref=e587] + - generic [ref=e589]: + - generic [ref=e590]: Your work, combined with our solutions, + - button "Edit text" [ref=e591] + - generic "Insert cue in this gap (1.5s gap)" [ref=e592] [cursor=pointer]: + - generic [ref=e593]: + Add cue here · 1.5s gap + - generic [ref=e594]: + - generic [ref=e595]: + - generic [ref=e596]: + - generic [ref=e597]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e598]': 00:00:50.000 + - generic [ref=e599]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e600]': 00:00:52.000 + - generic [ref=e601]: (2000ms) + - generic [ref=e602]: + - button "Insert cue before" [ref=e603]: + - img [ref=e604] + - button "Insert cue after" [ref=e606]: + - img [ref=e607] + - button "Delete cue" [ref=e609]: + - img [ref=e610] + - generic [ref=e612]: + - generic [ref=e613]: can help avoid costly downtime + - button "Edit text" [ref=e614] + - generic [ref=e615]: + - generic [ref=e616]: + - generic [ref=e617]: + - generic [ref=e618]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e619]': 00:00:52.000 + - generic [ref=e620]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e621]': 00:00:55.500 + - generic [ref=e622]: (3500ms) + - generic [ref=e623]: + - button "Insert cue before" [ref=e624]: + - img [ref=e625] + - button "Insert cue after" [ref=e627]: + - img [ref=e628] + - button "Delete cue" [ref=e630]: + - img [ref=e631] + - generic [ref=e633]: + - generic [ref=e634]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e635] + - generic "Insert cue in this gap (1.0s gap)" [ref=e636] [cursor=pointer]: + - generic [ref=e637]: + Add cue here · 1.0s gap + - generic [ref=e638]: + - generic [ref=e639]: + - generic [ref=e640]: + - generic [ref=e641]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e642]': 00:00:56.500 + - generic [ref=e643]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e644]': 00:00:59.500 + - generic [ref=e645]: (3000ms) + - generic [ref=e646]: + - button "Insert cue before" [ref=e647]: + - img [ref=e648] + - button "Insert cue after" [ref=e650]: + - img [ref=e651] + - button "Delete cue" [ref=e653]: + - img [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e658] + - generic "Insert cue in this gap (1.5s gap)" [ref=e659] [cursor=pointer]: + - generic [ref=e660]: + Add cue here · 1.5s gap + - generic [ref=e661]: + - generic [ref=e662]: + - generic [ref=e663]: + - generic [ref=e664]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e665]': 00:01:01.000 + - generic [ref=e666]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e667]': 00:01:04.000 + - generic [ref=e668]: (3000ms) + - generic [ref=e669]: + - button "Insert cue before" [ref=e670]: + - img [ref=e671] + - button "Insert cue after" [ref=e673]: + - img [ref=e674] + - button "Delete cue" [ref=e676]: + - img [ref=e677] + - generic [ref=e679]: + - generic [ref=e680]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e681] + - generic [ref=e682]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e684] + - generic [ref=e685]: + - generic [ref=e686]: + - generic [ref=e687]: Audio Description (EN) + - button "Upload .vtt" [ref=e688] + - generic [ref=e689]: + - heading "Audio Description (EN)" [level=3] [ref=e692] + - generic [ref=e694]: + - generic [ref=e695]: + - generic [ref=e696]: + - generic [ref=e697]: + - generic [ref=e698]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e699]': 00:00:00.000 + - generic [ref=e700]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e701]': 00:00:05.500 + - generic [ref=e702]: (5500ms) + - generic [ref=e703]: + - button "Insert cue before" [ref=e704]: + - img [ref=e705] + - button "Insert cue after" [ref=e707]: + - img [ref=e708] + - button "Delete cue" [ref=e710]: + - img [ref=e711] + - generic [ref=e713]: + - generic [ref=e714]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e715] + - generic [ref=e716]: + - generic [ref=e717]: + - generic [ref=e718]: + - generic [ref=e719]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e720]': 00:00:06.000 + - generic [ref=e721]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e722]': 00:00:10.000 + - generic [ref=e723]: (4000ms) + - generic [ref=e724]: + - button "Insert cue before" [ref=e725]: + - img [ref=e726] + - button "Insert cue after" [ref=e728]: + - img [ref=e729] + - button "Delete cue" [ref=e731]: + - img [ref=e732] + - generic [ref=e734]: + - generic [ref=e735]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e736] + - generic [ref=e737]: + - generic [ref=e738]: + - generic [ref=e739]: + - generic [ref=e740]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e741]': 00:00:10.000 + - generic [ref=e742]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e743]': 00:00:13.500 + - generic [ref=e744]: (3500ms) + - generic [ref=e745]: + - button "Insert cue before" [ref=e746]: + - img [ref=e747] + - button "Insert cue after" [ref=e749]: + - img [ref=e750] + - button "Delete cue" [ref=e752]: + - img [ref=e753] + - generic [ref=e755]: + - generic [ref=e756]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e757] + - generic [ref=e758]: + - generic [ref=e759]: + - generic [ref=e760]: + - generic [ref=e761]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e762]': 00:00:13.500 + - generic [ref=e763]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e764]': 00:00:16.000 + - generic [ref=e765]: (2500ms) + - generic [ref=e766]: + - button "Insert cue before" [ref=e767]: + - img [ref=e768] + - button "Insert cue after" [ref=e770]: + - img [ref=e771] + - button "Delete cue" [ref=e773]: + - img [ref=e774] + - generic [ref=e776]: + - generic [ref=e777]: Three workers walk past solar panels. + - button "Edit text" [ref=e778] + - generic [ref=e779]: + - generic [ref=e780]: + - generic [ref=e781]: + - generic [ref=e782]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e783]': 00:00:16.000 + - generic [ref=e784]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e785]': 00:00:18.500 + - generic [ref=e786]: (2500ms) + - generic [ref=e787]: + - button "Insert cue before" [ref=e788]: + - img [ref=e789] + - button "Insert cue after" [ref=e791]: + - img [ref=e792] + - button "Delete cue" [ref=e794]: + - img [ref=e795] + - generic [ref=e797]: + - generic [ref=e798]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e799] + - generic [ref=e800]: + - generic [ref=e801]: + - generic [ref=e802]: + - generic [ref=e803]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e804]': 00:00:18.500 + - generic [ref=e805]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e806]': 00:00:21.500 + - generic [ref=e807]: (3000ms) + - generic [ref=e808]: + - button "Insert cue before" [ref=e809]: + - img [ref=e810] + - button "Insert cue after" [ref=e812]: + - img [ref=e813] + - button "Delete cue" [ref=e815]: + - img [ref=e816] + - generic [ref=e818]: + - generic [ref=e819]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e820] + - generic [ref=e821]: + - generic [ref=e822]: + - generic [ref=e823]: + - generic [ref=e824]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e825]': 00:00:21.500 + - generic [ref=e826]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e827]': 00:00:25.000 + - generic [ref=e828]: (3500ms) + - generic [ref=e829]: + - button "Insert cue before" [ref=e830]: + - img [ref=e831] + - button "Insert cue after" [ref=e833]: + - img [ref=e834] + - button "Delete cue" [ref=e836]: + - img [ref=e837] + - generic [ref=e839]: + - generic [ref=e840]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e841] + - generic [ref=e842]: + - generic [ref=e843]: + - generic [ref=e844]: + - generic [ref=e845]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e846]': 00:00:25.000 + - generic [ref=e847]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e848]': 00:00:28.000 + - generic [ref=e849]: (3000ms) + - generic [ref=e850]: + - button "Insert cue before" [ref=e851]: + - img [ref=e852] + - button "Insert cue after" [ref=e854]: + - img [ref=e855] + - button "Delete cue" [ref=e857]: + - img [ref=e858] + - generic [ref=e860]: + - generic [ref=e861]: Workers install cables in a trench. + - button "Edit text" [ref=e862] + - generic [ref=e863]: + - generic [ref=e864]: + - generic [ref=e865]: + - generic [ref=e866]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e867]': 00:00:28.000 + - generic [ref=e868]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e869]': 00:00:32.000 + - generic [ref=e870]: (4000ms) + - generic [ref=e871]: + - button "Insert cue before" [ref=e872]: + - img [ref=e873] + - button "Insert cue after" [ref=e875]: + - img [ref=e876] + - button "Delete cue" [ref=e878]: + - img [ref=e879] + - generic [ref=e881]: + - generic [ref=e882]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e883] + - generic [ref=e884]: + - generic [ref=e885]: + - generic [ref=e886]: + - generic [ref=e887]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e888]': 00:00:32.000 + - generic [ref=e889]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e890]': 00:00:35.000 + - generic [ref=e891]: (3000ms) + - generic [ref=e892]: + - button "Insert cue before" [ref=e893]: + - img [ref=e894] + - button "Insert cue after" [ref=e896]: + - img [ref=e897] + - button "Delete cue" [ref=e899]: + - img [ref=e900] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e903]: ⚡ 22 CPS + - generic [ref=e904]: + - generic [ref=e905]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e906] + - generic [ref=e907]: + - generic [ref=e908]: + - generic [ref=e909]: + - generic [ref=e910]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e911]': 00:00:35.000 + - generic [ref=e912]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e913]': 00:00:40.500 + - generic [ref=e914]: (5500ms) + - generic [ref=e915]: + - button "Insert cue before" [ref=e916]: + - img [ref=e917] + - button "Insert cue after" [ref=e919]: + - img [ref=e920] + - button "Delete cue" [ref=e922]: + - img [ref=e923] + - generic [ref=e925]: + - generic [ref=e926]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e927] + - generic [ref=e928]: + - generic [ref=e929]: + - generic [ref=e930]: + - generic [ref=e931]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e932]': 00:00:40.500 + - generic [ref=e933]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e934]': 00:00:44.500 + - generic [ref=e935]: (4000ms) + - generic [ref=e936]: + - button "Insert cue before" [ref=e937]: + - img [ref=e938] + - button "Insert cue after" [ref=e940]: + - img [ref=e941] + - button "Delete cue" [ref=e943]: + - img [ref=e944] + - generic [ref=e946]: + - generic [ref=e947]: Two workers examine a cable component. + - button "Edit text" [ref=e948] + - generic [ref=e949]: + - generic [ref=e950]: + - generic [ref=e951]: + - generic [ref=e952]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e953]': 00:00:44.500 + - generic [ref=e954]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e955]': 00:00:48.500 + - generic [ref=e956]: (4000ms) + - generic [ref=e957]: + - button "Insert cue before" [ref=e958]: + - img [ref=e959] + - button "Insert cue after" [ref=e961]: + - img [ref=e962] + - button "Delete cue" [ref=e964]: + - img [ref=e965] + - generic [ref=e967]: + - generic [ref=e968]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e969] + - generic [ref=e970]: + - generic [ref=e971]: + - generic [ref=e972]: + - generic [ref=e973]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e974]': 00:00:48.500 + - generic [ref=e975]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e976]': 00:00:51.500 + - generic [ref=e977]: (3000ms) + - generic [ref=e978]: + - button "Insert cue before" [ref=e979]: + - img [ref=e980] + - button "Insert cue after" [ref=e982]: + - img [ref=e983] + - button "Delete cue" [ref=e985]: + - img [ref=e986] + - generic [ref=e988]: + - generic [ref=e989]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e990] + - generic [ref=e991]: + - generic [ref=e992]: + - generic [ref=e993]: + - generic [ref=e994]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e995]': 00:00:51.500 + - generic [ref=e996]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e997]': 00:00:55.500 + - generic [ref=e998]: (4000ms) + - generic [ref=e999]: + - button "Insert cue before" [ref=e1000]: + - img [ref=e1001] + - button "Insert cue after" [ref=e1003]: + - img [ref=e1004] + - button "Delete cue" [ref=e1006]: + - img [ref=e1007] + - generic [ref=e1009]: + - generic [ref=e1010]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e1011] + - generic [ref=e1012]: + - generic [ref=e1013]: + - generic [ref=e1014]: + - generic [ref=e1015]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1016]': 00:00:55.500 + - generic [ref=e1017]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1018]': 00:01:00.000 + - generic [ref=e1019]: (4500ms) + - generic [ref=e1020]: + - button "Insert cue before" [ref=e1021]: + - img [ref=e1022] + - button "Insert cue after" [ref=e1024]: + - img [ref=e1025] + - button "Delete cue" [ref=e1027]: + - img [ref=e1028] + - generic [ref=e1030]: + - generic [ref=e1031]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e1032] + - generic [ref=e1033]: + - generic [ref=e1034]: + - generic [ref=e1035]: + - generic [ref=e1036]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1037]': 00:01:00.000 + - generic [ref=e1038]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1039]': 00:01:04.000 + - generic [ref=e1040]: (4000ms) + - generic [ref=e1041]: + - button "Insert cue before" [ref=e1042]: + - img [ref=e1043] + - button "Insert cue after" [ref=e1045]: + - img [ref=e1046] + - button "Delete cue" [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: + - generic [ref=e1052]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1053] + - generic [ref=e1054]: + - generic [ref=e1055]: + - generic [ref=e1056]: + - generic [ref=e1057]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1058]': 00:01:04.000 + - generic [ref=e1059]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1060]': 00:01:08.000 + - generic [ref=e1061]: (4000ms) + - generic [ref=e1062]: + - button "Insert cue before" [ref=e1063]: + - img [ref=e1064] + - button "Insert cue after" [ref=e1066]: + - img [ref=e1067] + - button "Delete cue" [ref=e1069]: + - img [ref=e1070] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1073]: ⚡ 139 CPS + - generic [ref=e1074]: + - generic [ref=e1075]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1076] + - generic [ref=e1077]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1079] + - generic [ref=e1081]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1082] + - button "Adjust Timing" [ref=e1083] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1085]: + - generic [ref=e1086]: + - img [ref=e1087] + - generic [ref=e1089]: Voice Settings for Audio Description + - generic [ref=e1090]: (Configured) + - generic [ref=e1091]: Click to customize or override TTS voice + - generic [ref=e1092]: + - generic [ref=e1093]: Cost Tracker Project ID + - generic [ref=e1094]: + - textbox "e.g. ford-q3-2026" [ref=e1095] + - button "Save" [ref=e1096] + - paragraph [ref=e1097]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1099]: + - generic [ref=e1100]: + - img [ref=e1101] + - generic [ref=e1103]: Download Assets + - generic [ref=e1104]: Click to download individual files + - generic [ref=e1105]: + - generic [ref=e1106]: Review Notes + - textbox "Add any notes about this review..." [ref=e1107] + - generic [ref=e1111]: + - generic [ref=e1112]: "Rejection notes are required:" + - button "Confirm Rejection" [disabled] [ref=e1113] + - button "Cancel" [ref=e1114] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-45-22-419Z.yml b/.playwright-mcp/page-2026-05-01T12-45-22-419Z.yml new file mode 100644 index 0000000..35ba623 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-45-22-419Z.yml @@ -0,0 +1,841 @@ +- generic [ref=e3]: + - generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue 1" [ref=e94] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - generic [ref=e95]: "1" + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e124]: + - generic [ref=e125]: + - generic [ref=e126]: + - generic [ref=e127]: + - heading "test-video" [level=1] [ref=e128] + - button "Rename" [ref=e129]: + - img [ref=e130] + - generic [ref=e132]: + - generic [ref=e133]: Pending QC + - generic [ref=e134]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e135]: "Language: EN" + - generic [ref=e136]: "Duration: 68s" + - generic [ref=e137]: + - button "↗ Share link" [ref=e138] + - button "← Back to Queue" [ref=e139] + - generic [ref=e140]: + - generic [ref=e142]: + - generic [ref=e143]: Languages + - generic [ref=e144]: 1/1 approved— all done ✓ + - generic [ref=e146]: + - button "✓ EN (source) Approved ▲" [ref=e1134]: + - generic [ref=e148]: + - generic [ref=e149]: ✓ + - generic [ref=e150]: EN + - generic [ref=e151]: (source) + - generic [ref=e152]: Approved + - generic [ref=e153]: ▲ + - generic [ref=e154]: + - generic [ref=e155]: + - generic [ref=e156]: + - generic [ref=e157]: Linguist + - generic [ref=e158]: Unassigned + - button "Assign linguist" [ref=e159] + - generic [ref=e160]: + - generic [ref=e161]: Reviewer + - generic [ref=e162]: Unassigned + - button "Assign reviewer" [ref=e163] + - generic [ref=e164]: + - button "✕ Request changes" [ref=e167] + - button "Reopen" [ref=e1135] + - button "💬 Comments (0)" [ref=e169] + - generic [ref=e170]: + - generic [ref=e171]: + - generic [ref=e172]: "View Mode:" + - generic [ref=e173]: + - button "Side by Side (1)" [ref=e174] + - button "Video Only (2)" [ref=e175] + - button "Editor Only (3)" [ref=e176] + - generic [ref=e177]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e285]: + - generic [ref=e286]: + - generic [ref=e287]: + - generic [ref=e288]: Closed Captions (EN) + - button "Upload .vtt" [ref=e289] + - generic [ref=e290]: + - heading "Closed Captions (EN)" [level=3] [ref=e293] + - generic [ref=e295]: + - generic [ref=e296]: + - generic [ref=e297]: + - generic [ref=e298]: + - generic [ref=e299]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e300]': 00:00:00.000 + - generic [ref=e301]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e302]': 00:00:05.500 + - generic [ref=e303]: (5500ms) + - generic [ref=e304]: + - button "Insert cue before" [ref=e305]: + - img [ref=e306] + - button "Insert cue after" [ref=e308]: + - img [ref=e309] + - button "Delete cue" [ref=e311]: + - img [ref=e312] + - generic [ref=e314]: + - generic [ref=e315]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e316] + - generic [ref=e317]: + - generic [ref=e318]: + - generic [ref=e319]: + - generic [ref=e320]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e321]': 00:00:06.000 + - generic [ref=e322]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e323]': 00:00:10.000 + - generic [ref=e324]: (4000ms) + - generic [ref=e325]: + - button "Insert cue before" [ref=e326]: + - img [ref=e327] + - button "Insert cue after" [ref=e329]: + - img [ref=e330] + - button "Delete cue" [ref=e332]: + - img [ref=e333] + - generic [ref=e335]: + - generic [ref=e336]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e337] + - generic [ref=e338]: + - generic [ref=e339]: + - generic [ref=e340]: + - generic [ref=e341]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e342]': 00:00:10.000 + - generic [ref=e343]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e344]': 00:00:13.500 + - generic [ref=e345]: (3500ms) + - generic [ref=e346]: + - button "Insert cue before" [ref=e347]: + - img [ref=e348] + - button "Insert cue after" [ref=e350]: + - img [ref=e351] + - button "Delete cue" [ref=e353]: + - img [ref=e354] + - generic [ref=e356]: + - generic [ref=e357]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e358] + - generic [ref=e359]: + - generic [ref=e360]: + - generic [ref=e361]: + - generic [ref=e362]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e363]': 00:00:13.500 + - generic [ref=e364]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e365]': 00:00:16.000 + - generic [ref=e366]: (2500ms) + - generic [ref=e367]: + - button "Insert cue before" [ref=e368]: + - img [ref=e369] + - button "Insert cue after" [ref=e371]: + - img [ref=e372] + - button "Delete cue" [ref=e374]: + - img [ref=e375] + - generic [ref=e377]: + - generic [ref=e378]: and faster for solar energy projects, + - button "Edit text" [ref=e379] + - generic [ref=e380]: + - generic [ref=e381]: + - generic [ref=e382]: + - generic [ref=e383]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e384]': 00:00:16.000 + - generic [ref=e385]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e386]': 00:00:18.500 + - generic [ref=e387]: (2500ms) + - generic [ref=e388]: + - button "Insert cue before" [ref=e389]: + - img [ref=e390] + - button "Insert cue after" [ref=e392]: + - img [ref=e393] + - button "Delete cue" [ref=e395]: + - img [ref=e396] + - generic [ref=e398]: + - generic [ref=e399]: wind energy projects, + - button "Edit text" [ref=e400] + - generic [ref=e401]: + - generic [ref=e402]: + - generic [ref=e403]: + - generic [ref=e404]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e405]': 00:00:18.500 + - generic [ref=e406]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e407]': 00:00:21.500 + - generic [ref=e408]: (3000ms) + - generic [ref=e409]: + - button "Insert cue before" [ref=e410]: + - img [ref=e411] + - button "Insert cue after" [ref=e413]: + - img [ref=e414] + - button "Delete cue" [ref=e416]: + - img [ref=e417] + - generic [ref=e419]: + - generic [ref=e420]: and battery energy storage systems. + - button "Edit text" [ref=e421] + - generic [ref=e422]: + - generic [ref=e423]: + - generic [ref=e424]: + - generic [ref=e425]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e426]': 00:00:21.500 + - generic [ref=e427]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e428]': 00:00:25.000 + - generic [ref=e429]: (3500ms) + - generic [ref=e430]: + - button "Insert cue before" [ref=e431]: + - img [ref=e432] + - button "Insert cue after" [ref=e434]: + - img [ref=e435] + - button "Delete cue" [ref=e437]: + - img [ref=e438] + - generic [ref=e440]: + - generic [ref=e441]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e442] + - generic [ref=e443]: + - generic [ref=e444]: + - generic [ref=e445]: + - generic [ref=e446]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e447]': 00:00:25.000 + - generic [ref=e448]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e449]': 00:00:28.000 + - generic [ref=e450]: (3000ms) + - generic [ref=e451]: + - button "Insert cue before" [ref=e452]: + - img [ref=e453] + - button "Insert cue after" [ref=e455]: + - img [ref=e456] + - button "Delete cue" [ref=e458]: + - img [ref=e459] + - generic [ref=e461]: + - generic [ref=e462]: 3M provides advanced technology solutions + - button "Edit text" [ref=e463] + - generic [ref=e464]: + - generic [ref=e465]: + - generic [ref=e466]: + - generic [ref=e467]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e468]': 00:00:28.000 + - generic [ref=e469]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e470]': 00:00:32.000 + - generic [ref=e471]: (4000ms) + - generic [ref=e472]: + - button "Insert cue before" [ref=e473]: + - img [ref=e474] + - button "Insert cue after" [ref=e476]: + - img [ref=e477] + - button "Delete cue" [ref=e479]: + - img [ref=e480] + - generic [ref=e482]: + - generic [ref=e483]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e484] + - generic [ref=e485]: + - generic [ref=e486]: + - generic [ref=e487]: + - generic [ref=e488]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e489]': 00:00:32.000 + - generic [ref=e490]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e491]': 00:00:35.000 + - generic [ref=e492]: (3000ms) + - generic [ref=e493]: + - button "Insert cue before" [ref=e494]: + - img [ref=e495] + - button "Insert cue after" [ref=e497]: + - img [ref=e498] + - button "Delete cue" [ref=e500]: + - img [ref=e501] + - generic [ref=e503]: + - generic [ref=e504]: Our engineers can help with your projects + - button "Edit text" [ref=e505] + - generic [ref=e506]: + - generic [ref=e507]: + - generic [ref=e508]: + - generic [ref=e509]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e510]': 00:00:35.000 + - generic [ref=e511]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e512]': 00:00:37.500 + - generic [ref=e513]: (2500ms) + - generic [ref=e514]: + - button "Insert cue before" [ref=e515]: + - img [ref=e516] + - button "Insert cue after" [ref=e518]: + - img [ref=e519] + - button "Delete cue" [ref=e521]: + - img [ref=e522] + - generic [ref=e524]: + - generic [ref=e525]: and recommend customized product kits + - button "Edit text" [ref=e526] + - generic [ref=e527]: + - generic [ref=e528]: + - generic [ref=e529]: + - generic [ref=e530]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e531]': 00:00:37.500 + - generic [ref=e532]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e533]': 00:00:40.500 + - generic [ref=e534]: (3000ms) + - generic [ref=e535]: + - button "Insert cue before" [ref=e536]: + - img [ref=e537] + - button "Insert cue after" [ref=e539]: + - img [ref=e540] + - button "Delete cue" [ref=e542]: + - img [ref=e543] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e546]: ⚡ 22 CPS + - generic [ref=e547]: + - generic [ref=e548]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e549] + - generic [ref=e550]: + - generic [ref=e551]: + - generic [ref=e552]: + - generic [ref=e553]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e554]': 00:00:40.500 + - generic [ref=e555]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e556]': 00:00:44.500 + - generic [ref=e557]: (4000ms) + - generic [ref=e558]: + - button "Insert cue before" [ref=e559]: + - img [ref=e560] + - button "Insert cue after" [ref=e562]: + - img [ref=e563] + - button "Delete cue" [ref=e565]: + - img [ref=e566] + - generic [ref=e568]: + - generic [ref=e569]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e570] + - generic [ref=e571]: + - generic [ref=e572]: + - generic [ref=e573]: + - generic [ref=e574]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e575]': 00:00:45.000 + - generic [ref=e576]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e577]': 00:00:48.500 + - generic [ref=e578]: (3500ms) + - generic [ref=e579]: + - button "Insert cue before" [ref=e580]: + - img [ref=e581] + - button "Insert cue after" [ref=e583]: + - img [ref=e584] + - button "Delete cue" [ref=e586]: + - img [ref=e587] + - generic [ref=e589]: + - generic [ref=e590]: Your work, combined with our solutions, + - button "Edit text" [ref=e591] + - generic "Insert cue in this gap (1.5s gap)" [ref=e592] [cursor=pointer]: + - generic [ref=e593]: + Add cue here · 1.5s gap + - generic [ref=e594]: + - generic [ref=e595]: + - generic [ref=e596]: + - generic [ref=e597]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e598]': 00:00:50.000 + - generic [ref=e599]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e600]': 00:00:52.000 + - generic [ref=e601]: (2000ms) + - generic [ref=e602]: + - button "Insert cue before" [ref=e603]: + - img [ref=e604] + - button "Insert cue after" [ref=e606]: + - img [ref=e607] + - button "Delete cue" [ref=e609]: + - img [ref=e610] + - generic [ref=e612]: + - generic [ref=e613]: can help avoid costly downtime + - button "Edit text" [ref=e614] + - generic [ref=e615]: + - generic [ref=e616]: + - generic [ref=e617]: + - generic [ref=e618]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e619]': 00:00:52.000 + - generic [ref=e620]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e621]': 00:00:55.500 + - generic [ref=e622]: (3500ms) + - generic [ref=e623]: + - button "Insert cue before" [ref=e624]: + - img [ref=e625] + - button "Insert cue after" [ref=e627]: + - img [ref=e628] + - button "Delete cue" [ref=e630]: + - img [ref=e631] + - generic [ref=e633]: + - generic [ref=e634]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e635] + - generic "Insert cue in this gap (1.0s gap)" [ref=e636] [cursor=pointer]: + - generic [ref=e637]: + Add cue here · 1.0s gap + - generic [ref=e638]: + - generic [ref=e639]: + - generic [ref=e640]: + - generic [ref=e641]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e642]': 00:00:56.500 + - generic [ref=e643]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e644]': 00:00:59.500 + - generic [ref=e645]: (3000ms) + - generic [ref=e646]: + - button "Insert cue before" [ref=e647]: + - img [ref=e648] + - button "Insert cue after" [ref=e650]: + - img [ref=e651] + - button "Delete cue" [ref=e653]: + - img [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e658] + - generic "Insert cue in this gap (1.5s gap)" [ref=e659] [cursor=pointer]: + - generic [ref=e660]: + Add cue here · 1.5s gap + - generic [ref=e661]: + - generic [ref=e662]: + - generic [ref=e663]: + - generic [ref=e664]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e665]': 00:01:01.000 + - generic [ref=e666]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e667]': 00:01:04.000 + - generic [ref=e668]: (3000ms) + - generic [ref=e669]: + - button "Insert cue before" [ref=e670]: + - img [ref=e671] + - button "Insert cue after" [ref=e673]: + - img [ref=e674] + - button "Delete cue" [ref=e676]: + - img [ref=e677] + - generic [ref=e679]: + - generic [ref=e680]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e681] + - generic [ref=e682]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e684] + - generic [ref=e685]: + - generic [ref=e686]: + - generic [ref=e687]: Audio Description (EN) + - button "Upload .vtt" [ref=e688] + - generic [ref=e689]: + - heading "Audio Description (EN)" [level=3] [ref=e692] + - generic [ref=e694]: + - generic [ref=e695]: + - generic [ref=e696]: + - generic [ref=e697]: + - generic [ref=e698]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e699]': 00:00:00.000 + - generic [ref=e700]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e701]': 00:00:05.500 + - generic [ref=e702]: (5500ms) + - generic [ref=e703]: + - button "Insert cue before" [ref=e704]: + - img [ref=e705] + - button "Insert cue after" [ref=e707]: + - img [ref=e708] + - button "Delete cue" [ref=e710]: + - img [ref=e711] + - generic [ref=e713]: + - generic [ref=e714]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e715] + - generic [ref=e716]: + - generic [ref=e717]: + - generic [ref=e718]: + - generic [ref=e719]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e720]': 00:00:06.000 + - generic [ref=e721]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e722]': 00:00:10.000 + - generic [ref=e723]: (4000ms) + - generic [ref=e724]: + - button "Insert cue before" [ref=e725]: + - img [ref=e726] + - button "Insert cue after" [ref=e728]: + - img [ref=e729] + - button "Delete cue" [ref=e731]: + - img [ref=e732] + - generic [ref=e734]: + - generic [ref=e735]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e736] + - generic [ref=e737]: + - generic [ref=e738]: + - generic [ref=e739]: + - generic [ref=e740]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e741]': 00:00:10.000 + - generic [ref=e742]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e743]': 00:00:13.500 + - generic [ref=e744]: (3500ms) + - generic [ref=e745]: + - button "Insert cue before" [ref=e746]: + - img [ref=e747] + - button "Insert cue after" [ref=e749]: + - img [ref=e750] + - button "Delete cue" [ref=e752]: + - img [ref=e753] + - generic [ref=e755]: + - generic [ref=e756]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e757] + - generic [ref=e758]: + - generic [ref=e759]: + - generic [ref=e760]: + - generic [ref=e761]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e762]': 00:00:13.500 + - generic [ref=e763]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e764]': 00:00:16.000 + - generic [ref=e765]: (2500ms) + - generic [ref=e766]: + - button "Insert cue before" [ref=e767]: + - img [ref=e768] + - button "Insert cue after" [ref=e770]: + - img [ref=e771] + - button "Delete cue" [ref=e773]: + - img [ref=e774] + - generic [ref=e776]: + - generic [ref=e777]: Three workers walk past solar panels. + - button "Edit text" [ref=e778] + - generic [ref=e779]: + - generic [ref=e780]: + - generic [ref=e781]: + - generic [ref=e782]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e783]': 00:00:16.000 + - generic [ref=e784]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e785]': 00:00:18.500 + - generic [ref=e786]: (2500ms) + - generic [ref=e787]: + - button "Insert cue before" [ref=e788]: + - img [ref=e789] + - button "Insert cue after" [ref=e791]: + - img [ref=e792] + - button "Delete cue" [ref=e794]: + - img [ref=e795] + - generic [ref=e797]: + - generic [ref=e798]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e799] + - generic [ref=e800]: + - generic [ref=e801]: + - generic [ref=e802]: + - generic [ref=e803]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e804]': 00:00:18.500 + - generic [ref=e805]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e806]': 00:00:21.500 + - generic [ref=e807]: (3000ms) + - generic [ref=e808]: + - button "Insert cue before" [ref=e809]: + - img [ref=e810] + - button "Insert cue after" [ref=e812]: + - img [ref=e813] + - button "Delete cue" [ref=e815]: + - img [ref=e816] + - generic [ref=e818]: + - generic [ref=e819]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e820] + - generic [ref=e821]: + - generic [ref=e822]: + - generic [ref=e823]: + - generic [ref=e824]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e825]': 00:00:21.500 + - generic [ref=e826]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e827]': 00:00:25.000 + - generic [ref=e828]: (3500ms) + - generic [ref=e829]: + - button "Insert cue before" [ref=e830]: + - img [ref=e831] + - button "Insert cue after" [ref=e833]: + - img [ref=e834] + - button "Delete cue" [ref=e836]: + - img [ref=e837] + - generic [ref=e839]: + - generic [ref=e840]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e841] + - generic [ref=e842]: + - generic [ref=e843]: + - generic [ref=e844]: + - generic [ref=e845]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e846]': 00:00:25.000 + - generic [ref=e847]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e848]': 00:00:28.000 + - generic [ref=e849]: (3000ms) + - generic [ref=e850]: + - button "Insert cue before" [ref=e851]: + - img [ref=e852] + - button "Insert cue after" [ref=e854]: + - img [ref=e855] + - button "Delete cue" [ref=e857]: + - img [ref=e858] + - generic [ref=e860]: + - generic [ref=e861]: Workers install cables in a trench. + - button "Edit text" [ref=e862] + - generic [ref=e863]: + - generic [ref=e864]: + - generic [ref=e865]: + - generic [ref=e866]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e867]': 00:00:28.000 + - generic [ref=e868]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e869]': 00:00:32.000 + - generic [ref=e870]: (4000ms) + - generic [ref=e871]: + - button "Insert cue before" [ref=e872]: + - img [ref=e873] + - button "Insert cue after" [ref=e875]: + - img [ref=e876] + - button "Delete cue" [ref=e878]: + - img [ref=e879] + - generic [ref=e881]: + - generic [ref=e882]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e883] + - generic [ref=e884]: + - generic [ref=e885]: + - generic [ref=e886]: + - generic [ref=e887]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e888]': 00:00:32.000 + - generic [ref=e889]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e890]': 00:00:35.000 + - generic [ref=e891]: (3000ms) + - generic [ref=e892]: + - button "Insert cue before" [ref=e893]: + - img [ref=e894] + - button "Insert cue after" [ref=e896]: + - img [ref=e897] + - button "Delete cue" [ref=e899]: + - img [ref=e900] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e903]: ⚡ 22 CPS + - generic [ref=e904]: + - generic [ref=e905]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e906] + - generic [ref=e907]: + - generic [ref=e908]: + - generic [ref=e909]: + - generic [ref=e910]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e911]': 00:00:35.000 + - generic [ref=e912]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e913]': 00:00:40.500 + - generic [ref=e914]: (5500ms) + - generic [ref=e915]: + - button "Insert cue before" [ref=e916]: + - img [ref=e917] + - button "Insert cue after" [ref=e919]: + - img [ref=e920] + - button "Delete cue" [ref=e922]: + - img [ref=e923] + - generic [ref=e925]: + - generic [ref=e926]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e927] + - generic [ref=e928]: + - generic [ref=e929]: + - generic [ref=e930]: + - generic [ref=e931]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e932]': 00:00:40.500 + - generic [ref=e933]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e934]': 00:00:44.500 + - generic [ref=e935]: (4000ms) + - generic [ref=e936]: + - button "Insert cue before" [ref=e937]: + - img [ref=e938] + - button "Insert cue after" [ref=e940]: + - img [ref=e941] + - button "Delete cue" [ref=e943]: + - img [ref=e944] + - generic [ref=e946]: + - generic [ref=e947]: Two workers examine a cable component. + - button "Edit text" [ref=e948] + - generic [ref=e949]: + - generic [ref=e950]: + - generic [ref=e951]: + - generic [ref=e952]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e953]': 00:00:44.500 + - generic [ref=e954]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e955]': 00:00:48.500 + - generic [ref=e956]: (4000ms) + - generic [ref=e957]: + - button "Insert cue before" [ref=e958]: + - img [ref=e959] + - button "Insert cue after" [ref=e961]: + - img [ref=e962] + - button "Delete cue" [ref=e964]: + - img [ref=e965] + - generic [ref=e967]: + - generic [ref=e968]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e969] + - generic [ref=e970]: + - generic [ref=e971]: + - generic [ref=e972]: + - generic [ref=e973]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e974]': 00:00:48.500 + - generic [ref=e975]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e976]': 00:00:51.500 + - generic [ref=e977]: (3000ms) + - generic [ref=e978]: + - button "Insert cue before" [ref=e979]: + - img [ref=e980] + - button "Insert cue after" [ref=e982]: + - img [ref=e983] + - button "Delete cue" [ref=e985]: + - img [ref=e986] + - generic [ref=e988]: + - generic [ref=e989]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e990] + - generic [ref=e991]: + - generic [ref=e992]: + - generic [ref=e993]: + - generic [ref=e994]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e995]': 00:00:51.500 + - generic [ref=e996]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e997]': 00:00:55.500 + - generic [ref=e998]: (4000ms) + - generic [ref=e999]: + - button "Insert cue before" [ref=e1000]: + - img [ref=e1001] + - button "Insert cue after" [ref=e1003]: + - img [ref=e1004] + - button "Delete cue" [ref=e1006]: + - img [ref=e1007] + - generic [ref=e1009]: + - generic [ref=e1010]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e1011] + - generic [ref=e1012]: + - generic [ref=e1013]: + - generic [ref=e1014]: + - generic [ref=e1015]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1016]': 00:00:55.500 + - generic [ref=e1017]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1018]': 00:01:00.000 + - generic [ref=e1019]: (4500ms) + - generic [ref=e1020]: + - button "Insert cue before" [ref=e1021]: + - img [ref=e1022] + - button "Insert cue after" [ref=e1024]: + - img [ref=e1025] + - button "Delete cue" [ref=e1027]: + - img [ref=e1028] + - generic [ref=e1030]: + - generic [ref=e1031]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e1032] + - generic [ref=e1033]: + - generic [ref=e1034]: + - generic [ref=e1035]: + - generic [ref=e1036]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1037]': 00:01:00.000 + - generic [ref=e1038]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1039]': 00:01:04.000 + - generic [ref=e1040]: (4000ms) + - generic [ref=e1041]: + - button "Insert cue before" [ref=e1042]: + - img [ref=e1043] + - button "Insert cue after" [ref=e1045]: + - img [ref=e1046] + - button "Delete cue" [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: + - generic [ref=e1052]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1053] + - generic [ref=e1054]: + - generic [ref=e1055]: + - generic [ref=e1056]: + - generic [ref=e1057]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1058]': 00:01:04.000 + - generic [ref=e1059]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1060]': 00:01:08.000 + - generic [ref=e1061]: (4000ms) + - generic [ref=e1062]: + - button "Insert cue before" [ref=e1063]: + - img [ref=e1064] + - button "Insert cue after" [ref=e1066]: + - img [ref=e1067] + - button "Delete cue" [ref=e1069]: + - img [ref=e1070] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1073]: ⚡ 139 CPS + - generic [ref=e1074]: + - generic [ref=e1075]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1076] + - generic [ref=e1077]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1079] + - generic [ref=e1081]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1082] + - button "Adjust Timing" [ref=e1083] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1085]: + - generic [ref=e1086]: + - img [ref=e1087] + - generic [ref=e1089]: Voice Settings for Audio Description + - generic [ref=e1090]: (Configured) + - generic [ref=e1091]: Click to customize or override TTS voice + - generic [ref=e1092]: + - generic [ref=e1093]: Cost Tracker Project ID + - generic [ref=e1094]: + - textbox "e.g. ford-q3-2026" [ref=e1095] + - button "Save" [ref=e1096] + - paragraph [ref=e1097]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1099]: + - generic [ref=e1100]: + - img [ref=e1101] + - generic [ref=e1103]: Download Assets + - generic [ref=e1104]: Click to download individual files + - generic [ref=e1105]: + - generic [ref=e1106]: Review Notes + - textbox "Add any notes about this review..." [ref=e1107] + - generic [ref=e1108]: + - button "Approve All Languages" [ref=e1132] + - button "Reject Job" [ref=e1133] + - generic [ref=e1137]: + - img [ref=e1138] + - paragraph [ref=e1140]: Language approved + - button [ref=e1141]: + - img [ref=e1142] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-45-25-791Z.png b/.playwright-mcp/page-2026-05-01T12-45-25-791Z.png new file mode 100644 index 0000000..12952d3 Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-45-25-791Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-45-32-864Z.yml b/.playwright-mcp/page-2026-05-01T12-45-32-864Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-45-32-864Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-45-54-193Z.yml b/.playwright-mcp/page-2026-05-01T12-45-54-193Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-45-54-193Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-46-36-320Z.yml b/.playwright-mcp/page-2026-05-01T12-46-36-320Z.yml new file mode 100644 index 0000000..d92714a --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-46-36-320Z.yml @@ -0,0 +1,142 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e87]: + - generic [ref=e88]: + - heading "Welcome back, test-admin! 👋" [level=1] [ref=e89] + - paragraph [ref=e90]: Here's what's happening with your video accessibility projects + - generic [ref=e92]: + - paragraph [ref=e93]: Today + - paragraph [ref=e94]: Friday, May 1 + - generic [ref=e95]: + - link "📋 Total Jobs 0 View all →" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e98]: + - generic [ref=e99]: + - generic [ref=e101]: 📋 + - heading "Total Jobs" [level=3] [ref=e102] + - paragraph [ref=e103]: "0" + - paragraph [ref=e104]: View all → + - link "⚙️ Processing 0 View processing →" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc + - generic [ref=e107]: + - generic [ref=e108]: + - generic [ref=e110]: ⚙️ + - heading "Processing" [level=3] [ref=e111] + - paragraph [ref=e112]: "0" + - paragraph [ref=e113]: View processing → + - link "🔍 In QC Review 0 Review now →" [ref=e114] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e116]: + - generic [ref=e117]: + - generic [ref=e119]: 🔍 + - heading "In QC Review" [level=3] [ref=e120] + - paragraph [ref=e121]: "0" + - paragraph [ref=e122]: Review now → + - link "✅ Completed 0 View completed →" [ref=e123] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=completed + - generic [ref=e125]: + - generic [ref=e126]: + - generic [ref=e128]: ✅ + - heading "Completed" [level=3] [ref=e129] + - paragraph [ref=e130]: "0" + - paragraph [ref=e131]: View completed → + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: + - generic [ref=e136]: 🔍 + - heading "Quality Control" [level=2] [ref=e137] + - paragraph [ref=e138]: 0 jobs awaiting review + - paragraph [ref=e139]: Review AI-generated content for accuracy and compliance with accessibility standards. + - link "Start Reviewing →" [ref=e140] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e141]: + - generic [ref=e142]: + - generic [ref=e144]: ✅ + - heading "Final Approval" [level=2] [ref=e145] + - paragraph [ref=e146]: Jobs ready for delivery + - paragraph [ref=e147]: Complete the final review process and approve jobs for client delivery. + - link "Review Finals →" [ref=e148] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - heading "Recent Activity" [level=2] [ref=e151] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-46-54-435Z.yml b/.playwright-mcp/page-2026-05-01T12-46-54-435Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-46-54-435Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-47-19-609Z.yml b/.playwright-mcp/page-2026-05-01T12-47-19-609Z.yml new file mode 100644 index 0000000..a32c0da --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-47-19-609Z.yml @@ -0,0 +1,133 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review 1" [ref=e91] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - generic [ref=e92]: "1" + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e104]: + - generic [ref=e105]: + - paragraph [ref=e106]: + - text: ← + - link "Clients" [ref=e107] [cursor=pointer]: + - /url: /admin/clients + - heading "3M-Test" [level=1] [ref=e108] + - paragraph [ref=e109]: 3m-test + - generic [ref=e110]: + - heading "Project Managers" [level=2] [ref=e111] + - paragraph [ref=e113]: No PMs assigned + - generic [ref=e114]: + - combobox [ref=e115]: + - option "Select user to assign as PM…" [selected] + - option "Test Project Manager (test-pm@oliver.agency)" + - option "Test Production (test-production@oliver.agency)" + - option "Test Reviewer (test-reviewer@oliver.agency)" + - option "Test Linguist (test-linguist@oliver.agency)" + - option "Test Client (test-client@oliver.agency)" + - option "Test Admin (test-admin@oliver.agency)" + - option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)" + - button "Assign" [disabled] [ref=e116] + - generic [ref=e117]: + - heading "Teams" [level=2] [ref=e118] + - paragraph [ref=e120]: No teams yet + - generic [ref=e121]: + - textbox "New team name…" [ref=e122] + - button "+ Team" [disabled] [ref=e123] + - generic [ref=e124]: + - heading "Projects" [level=2] [ref=e125] + - generic [ref=e127]: + - generic [ref=e129]: Test_Vadym + - generic [ref=e130]: + - button "Rename" [ref=e131] + - button "Archive" [ref=e132] + - generic [ref=e133]: + - textbox "New project name…" [ref=e134] + - button "+ Project" [disabled] [ref=e135] + - generic [ref=e136]: + - generic [ref=e137]: + - heading "Glossaries" [level=2] [ref=e138] + - link "View all →" [ref=e139] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries + - generic [ref=e141]: + - link "3M Terms" [ref=e142] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e143]: active + - link "+ Upload glossary" [ref=e145] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-47-31-548Z.yml b/.playwright-mcp/page-2026-05-01T12-47-31-548Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-47-31-548Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-47-41-850Z.yml b/.playwright-mcp/page-2026-05-01T12-47-41-850Z.yml new file mode 100644 index 0000000..d31dbc5 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-47-41-850Z.yml @@ -0,0 +1,100 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - heading "My QC Queue" [level=1] [ref=e88] + - paragraph [ref=e89]: Languages assigned to you for quality control + - button "Refresh" [ref=e90] + - generic [ref=e91]: + - button "As linguist" [ref=e92] + - button "As reviewer" [ref=e93] + - generic [ref=e94]: + - button "All" [ref=e95] + - button "Pending" [ref=e96] + - button "In Progress" [ref=e97] + - button "Pending Review" [ref=e98] + - button "In Review" [ref=e99] + - button "Approved" [ref=e100] + - button "Rejected" [ref=e101] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-49-45-379Z.yml b/.playwright-mcp/page-2026-05-01T12-49-45-379Z.yml new file mode 100644 index 0000000..a2dd10f --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-49-45-379Z.yml @@ -0,0 +1,97 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - heading "Reviewer Queue" [level=1] [ref=e88] + - paragraph [ref=e89]: Languages assigned to you for quality control + - button "Refresh" [ref=e90] + - generic [ref=e91]: + - button "All" [ref=e92] + - button "Pending" [ref=e93] + - button "In Progress" [ref=e94] + - button "Pending Review" [ref=e95] + - button "In Review" [ref=e96] + - button "Approved" [ref=e97] + - button "Rejected" [ref=e98] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-49-55-561Z.yml b/.playwright-mcp/page-2026-05-01T12-49-55-561Z.yml new file mode 100644 index 0000000..e69de29 diff --git a/.playwright-mcp/page-2026-05-01T12-50-13-551Z.yml b/.playwright-mcp/page-2026-05-01T12-50-13-551Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-50-13-551Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-50-38-348Z.yml b/.playwright-mcp/page-2026-05-01T12-50-38-348Z.yml new file mode 100644 index 0000000..2acc331 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-50-38-348Z.yml @@ -0,0 +1,643 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review 1" [ref=e91] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - generic [ref=e92]: "1" + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - button "← Back to Final Review Queue" [ref=e93] + - generic [ref=e88]: + - generic [ref=e89]: + - heading "test-video" [level=1] [ref=e94] + - paragraph [ref=e95]: "Source: test-video.mp4 • Duration: 68s" + - generic [ref=e96]: Pending Final Review + - generic [ref=e97]: + - heading "Asset Validation ✓ Passed" [level=3] [ref=e98] + - generic [ref=e99]: + - generic [ref=e100]: Languages:1 + - generic [ref=e101]: VTT Files:2 + - generic [ref=e102]: MP3 Files:1 + - generic [ref=e103]: AD Videos:0 + - generic [ref=e104]: + - heading "Video Review" [level=2] [ref=e105] + - generic [ref=e106]: + - navigation "Asset tabs" [ref=e108]: + - button "English" [ref=e109] + - generic [ref=e110]: + - generic [ref=e111]: + - generic [ref=e112]: + - generic [ref=e113]: Your browser does not support the video tag. + - generic [ref=e115]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e116]: + - generic [ref=e117]: + - checkbox "Show Captions" [checked] [ref=e118] + - text: Show Captions + - generic [ref=e119]: 0:00 + - generic [ref=e121]: + - heading "Caption Timeline (18 cues)" [level=4] [ref=e122] + - generic [ref=e123]: + - generic [ref=e124] [cursor=pointer]: + - generic [ref=e125]: + - generic [ref=e126]: 0:00 → 0:05 + - button "Jump" [ref=e127] + - generic [ref=e128]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e129] [cursor=pointer]: + - generic [ref=e130]: + - generic [ref=e131]: 0:06 → 0:10 + - button "Jump" [ref=e132] + - generic [ref=e133]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e134] [cursor=pointer]: + - generic [ref=e135]: + - generic [ref=e136]: 0:10 → 0:13 + - button "Jump" [ref=e137] + - generic [ref=e138]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e139] [cursor=pointer]: + - generic [ref=e140]: + - generic [ref=e141]: 0:13 → 0:16 + - button "Jump" [ref=e142] + - generic [ref=e143]: and faster for solar energy projects, + - generic [ref=e144] [cursor=pointer]: + - generic [ref=e145]: + - generic [ref=e146]: 0:16 → 0:18 + - button "Jump" [ref=e147] + - generic [ref=e148]: wind energy projects, + - generic [ref=e149] [cursor=pointer]: + - generic [ref=e150]: + - generic [ref=e151]: 0:18 → 0:21 + - button "Jump" [ref=e152] + - generic [ref=e153]: and battery energy storage systems. + - generic [ref=e154] [cursor=pointer]: + - generic [ref=e155]: + - generic [ref=e156]: 0:21 → 0:25 + - button "Jump" [ref=e157] + - generic [ref=e158]: We can help you solve your electrical installation challenges. + - generic [ref=e159] [cursor=pointer]: + - generic [ref=e160]: + - generic [ref=e161]: 0:25 → 0:28 + - button "Jump" [ref=e162] + - generic [ref=e163]: 3M provides advanced technology solutions + - generic [ref=e164] [cursor=pointer]: + - generic [ref=e165]: + - generic [ref=e166]: 0:28 → 0:32 + - button "Jump" [ref=e167] + - generic [ref=e168]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e169] [cursor=pointer]: + - generic [ref=e170]: + - generic [ref=e171]: 0:32 → 0:35 + - button "Jump" [ref=e172] + - generic [ref=e173]: Our engineers can help with your projects + - generic [ref=e174] [cursor=pointer]: + - generic [ref=e175]: + - generic [ref=e176]: 0:35 → 0:37 + - button "Jump" [ref=e177] + - generic [ref=e178]: and recommend customized product kits + - generic [ref=e179] [cursor=pointer]: + - generic [ref=e180]: + - generic [ref=e181]: 0:37 → 0:40 + - button "Jump" [ref=e182] + - generic [ref=e183]: so you get exactly what you need for reliable product performance. + - generic [ref=e184] [cursor=pointer]: + - generic [ref=e185]: + - generic [ref=e186]: 0:40 → 0:44 + - button "Jump" [ref=e187] + - generic [ref=e188]: We work closely with you, so you get the support you need. + - generic [ref=e189] [cursor=pointer]: + - generic [ref=e190]: + - generic [ref=e191]: 0:45 → 0:48 + - button "Jump" [ref=e192] + - generic [ref=e193]: Your work, combined with our solutions, + - generic [ref=e194] [cursor=pointer]: + - generic [ref=e195]: + - generic [ref=e196]: 0:50 → 0:52 + - button "Jump" [ref=e197] + - generic [ref=e198]: can help avoid costly downtime + - generic [ref=e199] [cursor=pointer]: + - generic [ref=e200]: + - generic [ref=e201]: 0:52 → 0:55 + - button "Jump" [ref=e202] + - generic [ref=e203]: and keep your renewable systems up and running smoothly. + - generic [ref=e204] [cursor=pointer]: + - generic [ref=e205]: + - generic [ref=e206]: 0:56 → 0:59 + - button "Jump" [ref=e207] + - generic [ref=e208]: Wherever the job takes you, we have your solution. + - generic [ref=e209] [cursor=pointer]: + - generic [ref=e210]: + - generic [ref=e211]: 1:01 → 1:04 + - button "Jump" [ref=e212] + - generic [ref=e213]: 3M. Science. Applied to Life. + - generic [ref=e215]: + - heading "Notes 0" [level=3] [ref=e217]: + - img [ref=e218] + - text: Notes + - generic [ref=e220]: "0" + - generic [ref=e222]: + - generic [ref=e223]: + - generic [ref=e224]: + - generic [ref=e225]: Add Note + - generic [ref=e226]: "@ 0:00" + - textbox "Add Note" [ref=e227]: + - /placeholder: Add a note at this timestamp... + - button "Add Note" [disabled] [ref=e229] + - generic [ref=e231]: + - img [ref=e232] + - paragraph [ref=e234]: No notes yet + - paragraph [ref=e235]: Pause the video and add a note + - generic [ref=e236]: + - heading "Language Assets (1 languages)" [level=2] [ref=e237] + - generic [ref=e238]: + - generic [ref=e239]: + - generic [ref=e240]: + - heading "EN" [level=3] [ref=e241] + - generic [ref=e242]: Original + - generic [ref=e243]: + - button "Captions" [ref=e244] + - button "Audio Descriptions" [ref=e245] + - generic [ref=e247]: + - heading "EN Captions" [level=3] [ref=e250] + - generic [ref=e252]: + - generic [ref=e253]: + - generic [ref=e254]: + - generic [ref=e255]: + - generic [ref=e256]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e257]': 00:00:00.000 + - generic [ref=e258]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e259]': 00:00:05.500 + - generic [ref=e260]: (5500ms) + - generic [ref=e261]: + - button "Insert cue before" [ref=e262]: + - img [ref=e263] + - button "Insert cue after" [ref=e265]: + - img [ref=e266] + - button "Delete cue" [ref=e268]: + - img [ref=e269] + - generic [ref=e271]: + - generic [ref=e272]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e273] + - generic [ref=e274]: + - generic [ref=e275]: + - generic [ref=e276]: + - generic [ref=e277]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e278]': 00:00:06.000 + - generic [ref=e279]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e280]': 00:00:10.000 + - generic [ref=e281]: (4000ms) + - generic [ref=e282]: + - button "Insert cue before" [ref=e283]: + - img [ref=e284] + - button "Insert cue after" [ref=e286]: + - img [ref=e287] + - button "Delete cue" [ref=e289]: + - img [ref=e290] + - generic [ref=e292]: + - generic [ref=e293]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e294] + - generic [ref=e295]: + - generic [ref=e296]: + - generic [ref=e297]: + - generic [ref=e298]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e299]': 00:00:10.000 + - generic [ref=e300]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e301]': 00:00:13.500 + - generic [ref=e302]: (3500ms) + - generic [ref=e303]: + - button "Insert cue before" [ref=e304]: + - img [ref=e305] + - button "Insert cue after" [ref=e307]: + - img [ref=e308] + - button "Delete cue" [ref=e310]: + - img [ref=e311] + - generic [ref=e313]: + - generic [ref=e314]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e315] + - generic [ref=e316]: + - generic [ref=e317]: + - generic [ref=e318]: + - generic [ref=e319]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e320]': 00:00:13.500 + - generic [ref=e321]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e322]': 00:00:16.000 + - generic [ref=e323]: (2500ms) + - generic [ref=e324]: + - button "Insert cue before" [ref=e325]: + - img [ref=e326] + - button "Insert cue after" [ref=e328]: + - img [ref=e329] + - button "Delete cue" [ref=e331]: + - img [ref=e332] + - generic [ref=e334]: + - generic [ref=e335]: and faster for solar energy projects, + - button "Edit text" [ref=e336] + - generic [ref=e337]: + - generic [ref=e338]: + - generic [ref=e339]: + - generic [ref=e340]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e341]': 00:00:16.000 + - generic [ref=e342]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e343]': 00:00:18.500 + - generic [ref=e344]: (2500ms) + - generic [ref=e345]: + - button "Insert cue before" [ref=e346]: + - img [ref=e347] + - button "Insert cue after" [ref=e349]: + - img [ref=e350] + - button "Delete cue" [ref=e352]: + - img [ref=e353] + - generic [ref=e355]: + - generic [ref=e356]: wind energy projects, + - button "Edit text" [ref=e357] + - generic [ref=e358]: + - generic [ref=e359]: + - generic [ref=e360]: + - generic [ref=e361]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e362]': 00:00:18.500 + - generic [ref=e363]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e364]': 00:00:21.500 + - generic [ref=e365]: (3000ms) + - generic [ref=e366]: + - button "Insert cue before" [ref=e367]: + - img [ref=e368] + - button "Insert cue after" [ref=e370]: + - img [ref=e371] + - button "Delete cue" [ref=e373]: + - img [ref=e374] + - generic [ref=e376]: + - generic [ref=e377]: and battery energy storage systems. + - button "Edit text" [ref=e378] + - generic [ref=e379]: + - generic [ref=e380]: + - generic [ref=e381]: + - generic [ref=e382]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e383]': 00:00:21.500 + - generic [ref=e384]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e385]': 00:00:25.000 + - generic [ref=e386]: (3500ms) + - generic [ref=e387]: + - button "Insert cue before" [ref=e388]: + - img [ref=e389] + - button "Insert cue after" [ref=e391]: + - img [ref=e392] + - button "Delete cue" [ref=e394]: + - img [ref=e395] + - generic [ref=e397]: + - generic [ref=e398]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e399] + - generic [ref=e400]: + - generic [ref=e401]: + - generic [ref=e402]: + - generic [ref=e403]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e404]': 00:00:25.000 + - generic [ref=e405]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e406]': 00:00:28.000 + - generic [ref=e407]: (3000ms) + - generic [ref=e408]: + - button "Insert cue before" [ref=e409]: + - img [ref=e410] + - button "Insert cue after" [ref=e412]: + - img [ref=e413] + - button "Delete cue" [ref=e415]: + - img [ref=e416] + - generic [ref=e418]: + - generic [ref=e419]: 3M provides advanced technology solutions + - button "Edit text" [ref=e420] + - generic [ref=e421]: + - generic [ref=e422]: + - generic [ref=e423]: + - generic [ref=e424]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e425]': 00:00:28.000 + - generic [ref=e426]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e427]': 00:00:32.000 + - generic [ref=e428]: (4000ms) + - generic [ref=e429]: + - button "Insert cue before" [ref=e430]: + - img [ref=e431] + - button "Insert cue after" [ref=e433]: + - img [ref=e434] + - button "Delete cue" [ref=e436]: + - img [ref=e437] + - generic [ref=e439]: + - generic [ref=e440]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e441] + - generic [ref=e442]: + - generic [ref=e443]: + - generic [ref=e444]: + - generic [ref=e445]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e446]': 00:00:32.000 + - generic [ref=e447]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e448]': 00:00:35.000 + - generic [ref=e449]: (3000ms) + - generic [ref=e450]: + - button "Insert cue before" [ref=e451]: + - img [ref=e452] + - button "Insert cue after" [ref=e454]: + - img [ref=e455] + - button "Delete cue" [ref=e457]: + - img [ref=e458] + - generic [ref=e460]: + - generic [ref=e461]: Our engineers can help with your projects + - button "Edit text" [ref=e462] + - generic [ref=e463]: + - generic [ref=e464]: + - generic [ref=e465]: + - generic [ref=e466]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e467]': 00:00:35.000 + - generic [ref=e468]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e469]': 00:00:37.500 + - generic [ref=e470]: (2500ms) + - generic [ref=e471]: + - button "Insert cue before" [ref=e472]: + - img [ref=e473] + - button "Insert cue after" [ref=e475]: + - img [ref=e476] + - button "Delete cue" [ref=e478]: + - img [ref=e479] + - generic [ref=e481]: + - generic [ref=e482]: and recommend customized product kits + - button "Edit text" [ref=e483] + - generic [ref=e484]: + - generic [ref=e485]: + - generic [ref=e486]: + - generic [ref=e487]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e488]': 00:00:37.500 + - generic [ref=e489]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e490]': 00:00:40.500 + - generic [ref=e491]: (3000ms) + - generic [ref=e492]: + - button "Insert cue before" [ref=e493]: + - img [ref=e494] + - button "Insert cue after" [ref=e496]: + - img [ref=e497] + - button "Delete cue" [ref=e499]: + - img [ref=e500] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e503]: ⚡ 22 CPS + - generic [ref=e504]: + - generic [ref=e505]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e506] + - generic [ref=e507]: + - generic [ref=e508]: + - generic [ref=e509]: + - generic [ref=e510]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e511]': 00:00:40.500 + - generic [ref=e512]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e513]': 00:00:44.500 + - generic [ref=e514]: (4000ms) + - generic [ref=e515]: + - button "Insert cue before" [ref=e516]: + - img [ref=e517] + - button "Insert cue after" [ref=e519]: + - img [ref=e520] + - button "Delete cue" [ref=e522]: + - img [ref=e523] + - generic [ref=e525]: + - generic [ref=e526]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e527] + - generic [ref=e528]: + - generic [ref=e529]: + - generic [ref=e530]: + - generic [ref=e531]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e532]': 00:00:45.000 + - generic [ref=e533]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e534]': 00:00:48.500 + - generic [ref=e535]: (3500ms) + - generic [ref=e536]: + - button "Insert cue before" [ref=e537]: + - img [ref=e538] + - button "Insert cue after" [ref=e540]: + - img [ref=e541] + - button "Delete cue" [ref=e543]: + - img [ref=e544] + - generic [ref=e546]: + - generic [ref=e547]: Your work, combined with our solutions, + - button "Edit text" [ref=e548] + - generic "Insert cue in this gap (1.5s gap)" [ref=e549] [cursor=pointer]: + - generic [ref=e550]: + Add cue here · 1.5s gap + - generic [ref=e551]: + - generic [ref=e552]: + - generic [ref=e553]: + - generic [ref=e554]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e555]': 00:00:50.000 + - generic [ref=e556]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e557]': 00:00:52.000 + - generic [ref=e558]: (2000ms) + - generic [ref=e559]: + - button "Insert cue before" [ref=e560]: + - img [ref=e561] + - button "Insert cue after" [ref=e563]: + - img [ref=e564] + - button "Delete cue" [ref=e566]: + - img [ref=e567] + - generic [ref=e569]: + - generic [ref=e570]: can help avoid costly downtime + - button "Edit text" [ref=e571] + - generic [ref=e572]: + - generic [ref=e573]: + - generic [ref=e574]: + - generic [ref=e575]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e576]': 00:00:52.000 + - generic [ref=e577]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e578]': 00:00:55.500 + - generic [ref=e579]: (3500ms) + - generic [ref=e580]: + - button "Insert cue before" [ref=e581]: + - img [ref=e582] + - button "Insert cue after" [ref=e584]: + - img [ref=e585] + - button "Delete cue" [ref=e587]: + - img [ref=e588] + - generic [ref=e590]: + - generic [ref=e591]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e592] + - generic "Insert cue in this gap (1.0s gap)" [ref=e593] [cursor=pointer]: + - generic [ref=e594]: + Add cue here · 1.0s gap + - generic [ref=e595]: + - generic [ref=e596]: + - generic [ref=e597]: + - generic [ref=e598]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e599]': 00:00:56.500 + - generic [ref=e600]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e601]': 00:00:59.500 + - generic [ref=e602]: (3000ms) + - generic [ref=e603]: + - button "Insert cue before" [ref=e604]: + - img [ref=e605] + - button "Insert cue after" [ref=e607]: + - img [ref=e608] + - button "Delete cue" [ref=e610]: + - img [ref=e611] + - generic [ref=e613]: + - generic [ref=e614]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e615] + - generic "Insert cue in this gap (1.5s gap)" [ref=e616] [cursor=pointer]: + - generic [ref=e617]: + Add cue here · 1.5s gap + - generic [ref=e618]: + - generic [ref=e619]: + - generic [ref=e620]: + - generic [ref=e621]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e622]': 00:01:01.000 + - generic [ref=e623]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e624]': 00:01:04.000 + - generic [ref=e625]: (3000ms) + - generic [ref=e626]: + - button "Insert cue before" [ref=e627]: + - img [ref=e628] + - button "Insert cue after" [ref=e630]: + - img [ref=e631] + - button "Delete cue" [ref=e633]: + - img [ref=e634] + - generic [ref=e636]: + - generic [ref=e637]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e638] + - generic [ref=e639]: "18 cues • Total duration: 1:04.000" + - generic [ref=e640]: + - generic [ref=e641]: + - generic [ref=e642]: "Captions: ✓" + - generic [ref=e643]: "Audio Descriptions: ✓" + - generic [ref=e644]: "MP3 Audio: ✓" + - generic [ref=e645]: Your browser does not support the audio element. + - generic [ref=e646]: + - generic [ref=e647]: Cost Tracker Project ID + - generic [ref=e648]: + - textbox "e.g. ford-q3-2026" [ref=e649] + - button "Save" [ref=e650] + - paragraph [ref=e651]: Links this job to a project in the AI Cost Dashboard. + - generic [ref=e652]: + - heading "Final Review Decision" [level=3] [ref=e653] + - generic [ref=e654]: + - generic [ref=e655]: + - generic [ref=e656]: Review Decision + - generic [ref=e657]: + - generic [ref=e658]: + - radio "Approve for Client Delivery" [ref=e659] + - generic [ref=e660]: Approve for Client Delivery + - generic [ref=e661]: + - radio "Return for Quality Control" [checked] [active] [ref=e662] + - generic [ref=e663]: Return for Quality Control + - generic [ref=e664]: + - generic [ref=e665]: Review Notes + - textbox "Review Notes" [ref=e666]: + - /placeholder: "Required: Explain what needs to be fixed..." + - generic [ref=e667]: + - button "Cancel" [ref=e668] + - button "Return for QC" [disabled] [ref=e713] + - generic [ref=e670]: + - heading "Job History" [level=3] [ref=e671] + - generic [ref=e672]: + - generic [ref=e673]: + - generic [ref=e674]: + - generic [ref=e675]: CREATED + - generic [ref=e676]: by system + - generic [ref=e677]: 5/1/2026 + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: INGESTING + - generic [ref=e681]: by system + - generic [ref=e682]: 5/1/2026 + - generic [ref=e683]: + - generic [ref=e684]: + - generic [ref=e685]: AI PROCESSING + - generic [ref=e686]: by system + - generic [ref=e687]: 5/1/2026 + - generic [ref=e688]: + - generic [ref=e689]: + - generic [ref=e690]: TRANSLATING + - generic [ref=e691]: by system + - generic [ref=e692]: 5/1/2026 + - generic [ref=e693]: + - generic [ref=e694]: + - generic [ref=e695]: TRANSLATING + - generic [ref=e696]: by system + - generic [ref=e697]: 5/1/2026 + - generic [ref=e698]: + - generic [ref=e699]: + - generic [ref=e700]: TTS GENERATING + - generic [ref=e701]: by system + - generic [ref=e702]: 5/1/2026 + - generic [ref=e703]: + - generic [ref=e704]: + - generic [ref=e705]: PENDING QC + - generic [ref=e706]: by system + - generic [ref=e707]: 5/1/2026 + - generic [ref=e708]: + - generic [ref=e709]: + - generic [ref=e710]: PENDING FINAL REVIEW + - generic [ref=e711]: by system + - generic [ref=e712]: 5/1/2026 \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-51-00-046Z.yml b/.playwright-mcp/page-2026-05-01T12-51-00-046Z.yml new file mode 100644 index 0000000..ed95d6d --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-51-00-046Z.yml @@ -0,0 +1,117 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e714] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e715]: + - generic [ref=e716]: + - heading "Final Review Queue" [level=1] [ref=e717] + - generic [ref=e718]: + - generic [ref=e719]: "Pending: 0" + - generic [ref=e720]: "Completed: 1" + - generic [ref=e721]: + - heading "Pending Final Review" [level=2] [ref=e722] + - paragraph [ref=e724]: No jobs pending final review + - generic [ref=e725]: + - heading "Recently Completed" [level=2] [ref=e726] + - generic [ref=e727]: + - generic [ref=e728]: + - generic [ref=e729]: Job Details + - generic [ref=e730]: Languages Requested + - list [ref=e731]: + - listitem [ref=e732]: + - 'link "Completed source.mp4 3 languages, MP3 audio Completed: 4/30/2026 Created: 4/30/2026 de-DE, fr-CA Ready for download" [ref=e733] [cursor=pointer]': + - /url: /video-accessibility/admin/final/69f3b6d2cde5f3709e55301e + - generic [ref=e734]: + - generic [ref=e735]: + - generic [ref=e737]: Completed + - generic [ref=e738]: + - generic [ref=e739]: + - paragraph [ref=e740]: source.mp4 + - generic [ref=e741]: 3 languages, MP3 audio + - generic [ref=e742]: + - paragraph [ref=e743]: "Completed: 4/30/2026" + - paragraph [ref=e744]: "Created: 4/30/2026" + - generic [ref=e745]: + - generic [ref=e746]: + - paragraph [ref=e747]: de-DE, fr-CA + - paragraph [ref=e748]: Ready for download + - img [ref=e750] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-51-04-136Z.yml b/.playwright-mcp/page-2026-05-01T12-51-04-136Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-51-04-136Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-51-25-871Z.yml b/.playwright-mcp/page-2026-05-01T12-51-25-871Z.yml new file mode 100644 index 0000000..75bf508 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-51-25-871Z.yml @@ -0,0 +1,951 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e91]: + - heading "test-video" [level=1] [ref=e92] + - button "Rename" [ref=e93]: + - img [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: QC Feedback + - generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e99]: "Language: EN" + - generic [ref=e100]: "Duration: 68s" + - generic [ref=e88]: + - button "↗ Share link" [ref=e101] + - button "← Back to Queue" [ref=e102] + - generic [ref=e103]: + - generic [ref=e105]: + - generic [ref=e106]: Languages + - generic [ref=e107]: 1/1 approved— all done ✓ + - generic [ref=e109]: + - button "✓ EN (source) Approved ▲" [ref=e110]: + - generic [ref=e111]: + - generic [ref=e112]: ✓ + - generic [ref=e113]: EN + - generic [ref=e114]: (source) + - generic [ref=e115]: Approved + - generic [ref=e116]: ▲ + - generic [ref=e117]: + - generic [ref=e118]: + - generic [ref=e119]: + - generic [ref=e120]: Linguist + - generic [ref=e121]: Unassigned + - button "Assign linguist" [active] [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: Reviewer + - generic [ref=e125]: Unassigned + - button "Assign reviewer" [ref=e126] + - generic [ref=e127]: + - button "✕ Request changes" [ref=e128] + - button "Reopen" [ref=e129] + - button "💬 Comments (0)" [ref=e131] + - generic [ref=e1074]: + - heading "Assign linguist — EN" [level=3] [ref=e1075] + - generic [ref=e1076]: + - generic [ref=e1077]: Linguist + - combobox [ref=e1078]: + - option "Select linguist…" [selected] + - option "Test Linguist (test-linguist@oliver.agency)" + - generic [ref=e1079]: + - generic [ref=e1080]: Deadline (optional) + - textbox [ref=e1081] + - generic [ref=e1082]: + - button "Cancel" [ref=e1083] + - button "Assign" [disabled] [ref=e1084] + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: "View Mode:" + - generic [ref=e135]: + - button "Side by Side (1)" [ref=e136] + - button "Video Only (2)" [ref=e137] + - button "Editor Only (3)" [ref=e138] + - generic [ref=e139]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e141]: + - heading "Video Preview" [level=3] [ref=e143] + - generic [ref=e144]: + - generic [ref=e145]: + - generic [ref=e146]: Your browser does not support the video tag. + - generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e149]: + - generic [ref=e150]: + - checkbox "Show Captions" [checked] [ref=e151] + - generic [ref=e152]: Show Captions + - generic [ref=e153]: "Time: 0:00" + - generic [ref=e154]: + - heading "Caption Timeline (English)" [level=4] [ref=e155] + - generic [ref=e156]: + - generic [ref=e157] [cursor=pointer]: + - generic [ref=e158]: + - generic [ref=e159]: 0:00 → 0:05 + - button "Jump" [ref=e160] + - generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e162] [cursor=pointer]: + - generic [ref=e163]: + - generic [ref=e164]: 0:06 → 0:10 + - button "Jump" [ref=e165] + - generic [ref=e166]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e167] [cursor=pointer]: + - generic [ref=e168]: + - generic [ref=e169]: 0:10 → 0:13 + - button "Jump" [ref=e170] + - generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e172] [cursor=pointer]: + - generic [ref=e173]: + - generic [ref=e174]: 0:13 → 0:16 + - button "Jump" [ref=e175] + - generic [ref=e176]: and faster for solar energy projects, + - generic [ref=e177] [cursor=pointer]: + - generic [ref=e178]: + - generic [ref=e179]: 0:16 → 0:18 + - button "Jump" [ref=e180] + - generic [ref=e181]: wind energy projects, + - generic [ref=e182] [cursor=pointer]: + - generic [ref=e183]: + - generic [ref=e184]: 0:18 → 0:21 + - button "Jump" [ref=e185] + - generic [ref=e186]: and battery energy storage systems. + - generic [ref=e187] [cursor=pointer]: + - generic [ref=e188]: + - generic [ref=e189]: 0:21 → 0:25 + - button "Jump" [ref=e190] + - generic [ref=e191]: We can help you solve your electrical installation challenges. + - generic [ref=e192] [cursor=pointer]: + - generic [ref=e193]: + - generic [ref=e194]: 0:25 → 0:28 + - button "Jump" [ref=e195] + - generic [ref=e196]: 3M provides advanced technology solutions + - generic [ref=e197] [cursor=pointer]: + - generic [ref=e198]: + - generic [ref=e199]: 0:28 → 0:32 + - button "Jump" [ref=e200] + - generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e202] [cursor=pointer]: + - generic [ref=e203]: + - generic [ref=e204]: 0:32 → 0:35 + - button "Jump" [ref=e205] + - generic [ref=e206]: Our engineers can help with your projects + - generic [ref=e207] [cursor=pointer]: + - generic [ref=e208]: + - generic [ref=e209]: 0:35 → 0:37 + - button "Jump" [ref=e210] + - generic [ref=e211]: and recommend customized product kits + - generic [ref=e212] [cursor=pointer]: + - generic [ref=e213]: + - generic [ref=e214]: 0:37 → 0:40 + - button "Jump" [ref=e215] + - generic [ref=e216]: so you get exactly what you need for reliable product performance. + - generic [ref=e217] [cursor=pointer]: + - generic [ref=e218]: + - generic [ref=e219]: 0:40 → 0:44 + - button "Jump" [ref=e220] + - generic [ref=e221]: We work closely with you, so you get the support you need. + - generic [ref=e222] [cursor=pointer]: + - generic [ref=e223]: + - generic [ref=e224]: 0:45 → 0:48 + - button "Jump" [ref=e225] + - generic [ref=e226]: Your work, combined with our solutions, + - generic [ref=e227] [cursor=pointer]: + - generic [ref=e228]: + - generic [ref=e229]: 0:50 → 0:52 + - button "Jump" [ref=e230] + - generic [ref=e231]: can help avoid costly downtime + - generic [ref=e232] [cursor=pointer]: + - generic [ref=e233]: + - generic [ref=e234]: 0:52 → 0:55 + - button "Jump" [ref=e235] + - generic [ref=e236]: and keep your renewable systems up and running smoothly. + - generic [ref=e237] [cursor=pointer]: + - generic [ref=e238]: + - generic [ref=e239]: 0:56 → 0:59 + - button "Jump" [ref=e240] + - generic [ref=e241]: Wherever the job takes you, we have your solution. + - generic [ref=e242] [cursor=pointer]: + - generic [ref=e243]: + - generic [ref=e244]: 1:01 → 1:04 + - button "Jump" [ref=e245] + - generic [ref=e246]: 3M. Science. Applied to Life. + - generic [ref=e247]: + - generic [ref=e248]: + - generic [ref=e249]: + - generic [ref=e250]: Closed Captions (EN) + - button "Upload .vtt" [ref=e251] + - generic [ref=e252]: + - heading "Closed Captions (EN)" [level=3] [ref=e255] + - generic [ref=e257]: + - generic [ref=e258]: + - generic [ref=e259]: + - generic [ref=e260]: + - generic [ref=e261]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000 + - generic [ref=e263]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500 + - generic [ref=e265]: (5500ms) + - generic [ref=e266]: + - button "Insert cue before" [ref=e267]: + - img [ref=e268] + - button "Insert cue after" [ref=e270]: + - img [ref=e271] + - button "Delete cue" [ref=e273]: + - img [ref=e274] + - generic [ref=e276]: + - generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: + - generic [ref=e281]: + - generic [ref=e282]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000 + - generic [ref=e284]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000 + - generic [ref=e286]: (4000ms) + - generic [ref=e287]: + - button "Insert cue before" [ref=e288]: + - img [ref=e289] + - button "Insert cue after" [ref=e291]: + - img [ref=e292] + - button "Delete cue" [ref=e294]: + - img [ref=e295] + - generic [ref=e297]: + - generic [ref=e298]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e299] + - generic [ref=e300]: + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000 + - generic [ref=e305]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500 + - generic [ref=e307]: (3500ms) + - generic [ref=e308]: + - button "Insert cue before" [ref=e309]: + - img [ref=e310] + - button "Insert cue after" [ref=e312]: + - img [ref=e313] + - button "Delete cue" [ref=e315]: + - img [ref=e316] + - generic [ref=e318]: + - generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e320] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500 + - generic [ref=e326]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000 + - generic [ref=e328]: (2500ms) + - generic [ref=e329]: + - button "Insert cue before" [ref=e330]: + - img [ref=e331] + - button "Insert cue after" [ref=e333]: + - img [ref=e334] + - button "Delete cue" [ref=e336]: + - img [ref=e337] + - generic [ref=e339]: + - generic [ref=e340]: and faster for solar energy projects, + - button "Edit text" [ref=e341] + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: + - generic [ref=e345]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000 + - generic [ref=e347]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500 + - generic [ref=e349]: (2500ms) + - generic [ref=e350]: + - button "Insert cue before" [ref=e351]: + - img [ref=e352] + - button "Insert cue after" [ref=e354]: + - img [ref=e355] + - button "Delete cue" [ref=e357]: + - img [ref=e358] + - generic [ref=e360]: + - generic [ref=e361]: wind energy projects, + - button "Edit text" [ref=e362] + - generic [ref=e363]: + - generic [ref=e364]: + - generic [ref=e365]: + - generic [ref=e366]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500 + - generic [ref=e368]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500 + - generic [ref=e370]: (3000ms) + - generic [ref=e371]: + - button "Insert cue before" [ref=e372]: + - img [ref=e373] + - button "Insert cue after" [ref=e375]: + - img [ref=e376] + - button "Delete cue" [ref=e378]: + - img [ref=e379] + - generic [ref=e381]: + - generic [ref=e382]: and battery energy storage systems. + - button "Edit text" [ref=e383] + - generic [ref=e384]: + - generic [ref=e385]: + - generic [ref=e386]: + - generic [ref=e387]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500 + - generic [ref=e389]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000 + - generic [ref=e391]: (3500ms) + - generic [ref=e392]: + - button "Insert cue before" [ref=e393]: + - img [ref=e394] + - button "Insert cue after" [ref=e396]: + - img [ref=e397] + - button "Delete cue" [ref=e399]: + - img [ref=e400] + - generic [ref=e402]: + - generic [ref=e403]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e404] + - generic [ref=e405]: + - generic [ref=e406]: + - generic [ref=e407]: + - generic [ref=e408]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000 + - generic [ref=e410]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000 + - generic [ref=e412]: (3000ms) + - generic [ref=e413]: + - button "Insert cue before" [ref=e414]: + - img [ref=e415] + - button "Insert cue after" [ref=e417]: + - img [ref=e418] + - button "Delete cue" [ref=e420]: + - img [ref=e421] + - generic [ref=e423]: + - generic [ref=e424]: 3M provides advanced technology solutions + - button "Edit text" [ref=e425] + - generic [ref=e426]: + - generic [ref=e427]: + - generic [ref=e428]: + - generic [ref=e429]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000 + - generic [ref=e431]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000 + - generic [ref=e433]: (4000ms) + - generic [ref=e434]: + - button "Insert cue before" [ref=e435]: + - img [ref=e436] + - button "Insert cue after" [ref=e438]: + - img [ref=e439] + - button "Delete cue" [ref=e441]: + - img [ref=e442] + - generic [ref=e444]: + - generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e446] + - generic [ref=e447]: + - generic [ref=e448]: + - generic [ref=e449]: + - generic [ref=e450]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000 + - generic [ref=e452]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000 + - generic [ref=e454]: (3000ms) + - generic [ref=e455]: + - button "Insert cue before" [ref=e456]: + - img [ref=e457] + - button "Insert cue after" [ref=e459]: + - img [ref=e460] + - button "Delete cue" [ref=e462]: + - img [ref=e463] + - generic [ref=e465]: + - generic [ref=e466]: Our engineers can help with your projects + - button "Edit text" [ref=e467] + - generic [ref=e468]: + - generic [ref=e469]: + - generic [ref=e470]: + - generic [ref=e471]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000 + - generic [ref=e473]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500 + - generic [ref=e475]: (2500ms) + - generic [ref=e476]: + - button "Insert cue before" [ref=e477]: + - img [ref=e478] + - button "Insert cue after" [ref=e480]: + - img [ref=e481] + - button "Delete cue" [ref=e483]: + - img [ref=e484] + - generic [ref=e486]: + - generic [ref=e487]: and recommend customized product kits + - button "Edit text" [ref=e488] + - generic [ref=e489]: + - generic [ref=e490]: + - generic [ref=e491]: + - generic [ref=e492]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500 + - generic [ref=e494]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500 + - generic [ref=e496]: (3000ms) + - generic [ref=e497]: + - button "Insert cue before" [ref=e498]: + - img [ref=e499] + - button "Insert cue after" [ref=e501]: + - img [ref=e502] + - button "Delete cue" [ref=e504]: + - img [ref=e505] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS + - generic [ref=e509]: + - generic [ref=e510]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e511] + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: + - generic [ref=e515]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500 + - generic [ref=e517]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500 + - generic [ref=e519]: (4000ms) + - generic [ref=e520]: + - button "Insert cue before" [ref=e521]: + - img [ref=e522] + - button "Insert cue after" [ref=e524]: + - img [ref=e525] + - button "Delete cue" [ref=e527]: + - img [ref=e528] + - generic [ref=e530]: + - generic [ref=e531]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e532] + - generic [ref=e533]: + - generic [ref=e534]: + - generic [ref=e535]: + - generic [ref=e536]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000 + - generic [ref=e538]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500 + - generic [ref=e540]: (3500ms) + - generic [ref=e541]: + - button "Insert cue before" [ref=e542]: + - img [ref=e543] + - button "Insert cue after" [ref=e545]: + - img [ref=e546] + - button "Delete cue" [ref=e548]: + - img [ref=e549] + - generic [ref=e551]: + - generic [ref=e552]: Your work, combined with our solutions, + - button "Edit text" [ref=e553] + - generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]: + - generic [ref=e555]: + Add cue here · 1.5s gap + - generic [ref=e556]: + - generic [ref=e557]: + - generic [ref=e558]: + - generic [ref=e559]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000 + - generic [ref=e561]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000 + - generic [ref=e563]: (2000ms) + - generic [ref=e564]: + - button "Insert cue before" [ref=e565]: + - img [ref=e566] + - button "Insert cue after" [ref=e568]: + - img [ref=e569] + - button "Delete cue" [ref=e571]: + - img [ref=e572] + - generic [ref=e574]: + - generic [ref=e575]: can help avoid costly downtime + - button "Edit text" [ref=e576] + - generic [ref=e577]: + - generic [ref=e578]: + - generic [ref=e579]: + - generic [ref=e580]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000 + - generic [ref=e582]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500 + - generic [ref=e584]: (3500ms) + - generic [ref=e585]: + - button "Insert cue before" [ref=e586]: + - img [ref=e587] + - button "Insert cue after" [ref=e589]: + - img [ref=e590] + - button "Delete cue" [ref=e592]: + - img [ref=e593] + - generic [ref=e595]: + - generic [ref=e596]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e597] + - generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]: + - generic [ref=e599]: + Add cue here · 1.0s gap + - generic [ref=e600]: + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500 + - generic [ref=e605]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500 + - generic [ref=e607]: (3000ms) + - generic [ref=e608]: + - button "Insert cue before" [ref=e609]: + - img [ref=e610] + - button "Insert cue after" [ref=e612]: + - img [ref=e613] + - button "Delete cue" [ref=e615]: + - img [ref=e616] + - generic [ref=e618]: + - generic [ref=e619]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e620] + - generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]: + - generic [ref=e622]: + Add cue here · 1.5s gap + - generic [ref=e623]: + - generic [ref=e624]: + - generic [ref=e625]: + - generic [ref=e626]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000 + - generic [ref=e628]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000 + - generic [ref=e630]: (3000ms) + - generic [ref=e631]: + - button "Insert cue before" [ref=e632]: + - img [ref=e633] + - button "Insert cue after" [ref=e635]: + - img [ref=e636] + - button "Delete cue" [ref=e638]: + - img [ref=e639] + - generic [ref=e641]: + - generic [ref=e642]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e643] + - generic [ref=e644]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e646] + - generic [ref=e647]: + - generic [ref=e648]: + - generic [ref=e649]: Audio Description (EN) + - button "Upload .vtt" [ref=e650] + - generic [ref=e651]: + - heading "Audio Description (EN)" [level=3] [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: + - generic [ref=e658]: + - generic [ref=e659]: + - generic [ref=e660]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000 + - generic [ref=e662]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500 + - generic [ref=e664]: (5500ms) + - generic [ref=e665]: + - button "Insert cue before" [ref=e666]: + - img [ref=e667] + - button "Insert cue after" [ref=e669]: + - img [ref=e670] + - button "Delete cue" [ref=e672]: + - img [ref=e673] + - generic [ref=e675]: + - generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e677] + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: + - generic [ref=e681]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000 + - generic [ref=e683]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000 + - generic [ref=e685]: (4000ms) + - generic [ref=e686]: + - button "Insert cue before" [ref=e687]: + - img [ref=e688] + - button "Insert cue after" [ref=e690]: + - img [ref=e691] + - button "Delete cue" [ref=e693]: + - img [ref=e694] + - generic [ref=e696]: + - generic [ref=e697]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e698] + - generic [ref=e699]: + - generic [ref=e700]: + - generic [ref=e701]: + - generic [ref=e702]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000 + - generic [ref=e704]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500 + - generic [ref=e706]: (3500ms) + - generic [ref=e707]: + - button "Insert cue before" [ref=e708]: + - img [ref=e709] + - button "Insert cue after" [ref=e711]: + - img [ref=e712] + - button "Delete cue" [ref=e714]: + - img [ref=e715] + - generic [ref=e717]: + - generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e719] + - generic [ref=e720]: + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500 + - generic [ref=e725]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000 + - generic [ref=e727]: (2500ms) + - generic [ref=e728]: + - button "Insert cue before" [ref=e729]: + - img [ref=e730] + - button "Insert cue after" [ref=e732]: + - img [ref=e733] + - button "Delete cue" [ref=e735]: + - img [ref=e736] + - generic [ref=e738]: + - generic [ref=e739]: Three workers walk past solar panels. + - button "Edit text" [ref=e740] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000 + - generic [ref=e746]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500 + - generic [ref=e748]: (2500ms) + - generic [ref=e749]: + - button "Insert cue before" [ref=e750]: + - img [ref=e751] + - button "Insert cue after" [ref=e753]: + - img [ref=e754] + - button "Delete cue" [ref=e756]: + - img [ref=e757] + - generic [ref=e759]: + - generic [ref=e760]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e761] + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: + - generic [ref=e765]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500 + - generic [ref=e767]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500 + - generic [ref=e769]: (3000ms) + - generic [ref=e770]: + - button "Insert cue before" [ref=e771]: + - img [ref=e772] + - button "Insert cue after" [ref=e774]: + - img [ref=e775] + - button "Delete cue" [ref=e777]: + - img [ref=e778] + - generic [ref=e780]: + - generic [ref=e781]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e782] + - generic [ref=e783]: + - generic [ref=e784]: + - generic [ref=e785]: + - generic [ref=e786]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500 + - generic [ref=e788]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000 + - generic [ref=e790]: (3500ms) + - generic [ref=e791]: + - button "Insert cue before" [ref=e792]: + - img [ref=e793] + - button "Insert cue after" [ref=e795]: + - img [ref=e796] + - button "Delete cue" [ref=e798]: + - img [ref=e799] + - generic [ref=e801]: + - generic [ref=e802]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e803] + - generic [ref=e804]: + - generic [ref=e805]: + - generic [ref=e806]: + - generic [ref=e807]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000 + - generic [ref=e809]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000 + - generic [ref=e811]: (3000ms) + - generic [ref=e812]: + - button "Insert cue before" [ref=e813]: + - img [ref=e814] + - button "Insert cue after" [ref=e816]: + - img [ref=e817] + - button "Delete cue" [ref=e819]: + - img [ref=e820] + - generic [ref=e822]: + - generic [ref=e823]: Workers install cables in a trench. + - button "Edit text" [ref=e824] + - generic [ref=e825]: + - generic [ref=e826]: + - generic [ref=e827]: + - generic [ref=e828]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000 + - generic [ref=e830]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000 + - generic [ref=e832]: (4000ms) + - generic [ref=e833]: + - button "Insert cue before" [ref=e834]: + - img [ref=e835] + - button "Insert cue after" [ref=e837]: + - img [ref=e838] + - button "Delete cue" [ref=e840]: + - img [ref=e841] + - generic [ref=e843]: + - generic [ref=e844]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e845] + - generic [ref=e846]: + - generic [ref=e847]: + - generic [ref=e848]: + - generic [ref=e849]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000 + - generic [ref=e851]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000 + - generic [ref=e853]: (3000ms) + - generic [ref=e854]: + - button "Insert cue before" [ref=e855]: + - img [ref=e856] + - button "Insert cue after" [ref=e858]: + - img [ref=e859] + - button "Delete cue" [ref=e861]: + - img [ref=e862] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS + - generic [ref=e866]: + - generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e868] + - generic [ref=e869]: + - generic [ref=e870]: + - generic [ref=e871]: + - generic [ref=e872]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000 + - generic [ref=e874]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500 + - generic [ref=e876]: (5500ms) + - generic [ref=e877]: + - button "Insert cue before" [ref=e878]: + - img [ref=e879] + - button "Insert cue after" [ref=e881]: + - img [ref=e882] + - button "Delete cue" [ref=e884]: + - img [ref=e885] + - generic [ref=e887]: + - generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e889] + - generic [ref=e890]: + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500 + - generic [ref=e895]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500 + - generic [ref=e897]: (4000ms) + - generic [ref=e898]: + - button "Insert cue before" [ref=e899]: + - img [ref=e900] + - button "Insert cue after" [ref=e902]: + - img [ref=e903] + - button "Delete cue" [ref=e905]: + - img [ref=e906] + - generic [ref=e908]: + - generic [ref=e909]: Two workers examine a cable component. + - button "Edit text" [ref=e910] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500 + - generic [ref=e916]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500 + - generic [ref=e918]: (4000ms) + - generic [ref=e919]: + - button "Insert cue before" [ref=e920]: + - img [ref=e921] + - button "Insert cue after" [ref=e923]: + - img [ref=e924] + - button "Delete cue" [ref=e926]: + - img [ref=e927] + - generic [ref=e929]: + - generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e931] + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: + - generic [ref=e935]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500 + - generic [ref=e937]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500 + - generic [ref=e939]: (3000ms) + - generic [ref=e940]: + - button "Insert cue before" [ref=e941]: + - img [ref=e942] + - button "Insert cue after" [ref=e944]: + - img [ref=e945] + - button "Delete cue" [ref=e947]: + - img [ref=e948] + - generic [ref=e950]: + - generic [ref=e951]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e952] + - generic [ref=e953]: + - generic [ref=e954]: + - generic [ref=e955]: + - generic [ref=e956]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500 + - generic [ref=e958]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500 + - generic [ref=e960]: (4000ms) + - generic [ref=e961]: + - button "Insert cue before" [ref=e962]: + - img [ref=e963] + - button "Insert cue after" [ref=e965]: + - img [ref=e966] + - button "Delete cue" [ref=e968]: + - img [ref=e969] + - generic [ref=e971]: + - generic [ref=e972]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e973] + - generic [ref=e974]: + - generic [ref=e975]: + - generic [ref=e976]: + - generic [ref=e977]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500 + - generic [ref=e979]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000 + - generic [ref=e981]: (4500ms) + - generic [ref=e982]: + - button "Insert cue before" [ref=e983]: + - img [ref=e984] + - button "Insert cue after" [ref=e986]: + - img [ref=e987] + - button "Delete cue" [ref=e989]: + - img [ref=e990] + - generic [ref=e992]: + - generic [ref=e993]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e994] + - generic [ref=e995]: + - generic [ref=e996]: + - generic [ref=e997]: + - generic [ref=e998]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000 + - generic [ref=e1000]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000 + - generic [ref=e1002]: (4000ms) + - generic [ref=e1003]: + - button "Insert cue before" [ref=e1004]: + - img [ref=e1005] + - button "Insert cue after" [ref=e1007]: + - img [ref=e1008] + - button "Delete cue" [ref=e1010]: + - img [ref=e1011] + - generic [ref=e1013]: + - generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1015] + - generic [ref=e1016]: + - generic [ref=e1017]: + - generic [ref=e1018]: + - generic [ref=e1019]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000 + - generic [ref=e1021]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000 + - generic [ref=e1023]: (4000ms) + - generic [ref=e1024]: + - button "Insert cue before" [ref=e1025]: + - img [ref=e1026] + - button "Insert cue after" [ref=e1028]: + - img [ref=e1029] + - button "Delete cue" [ref=e1031]: + - img [ref=e1032] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS + - generic [ref=e1036]: + - generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1038] + - generic [ref=e1039]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1041] + - generic [ref=e1043]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1044] + - button "Adjust Timing" [ref=e1045] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]: + - generic [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: Voice Settings for Audio Description + - generic [ref=e1052]: (Configured) + - generic [ref=e1053]: Click to customize or override TTS voice + - generic [ref=e1054]: + - generic [ref=e1055]: Cost Tracker Project ID + - generic [ref=e1056]: + - textbox "e.g. ford-q3-2026" [ref=e1057] + - button "Save" [ref=e1058] + - paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1061]: + - generic [ref=e1062]: + - img [ref=e1063] + - generic [ref=e1065]: Download Assets + - generic [ref=e1066]: Click to download individual files + - generic [ref=e1067]: + - generic [ref=e1068]: Review Notes + - textbox "Add any notes about this review..." [ref=e1069] + - generic [ref=e1070]: + - button "Approve All Languages" [ref=e1071] + - button "Reject Job" [ref=e1072] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-51-41-028Z.yml b/.playwright-mcp/page-2026-05-01T12-51-41-028Z.yml new file mode 100644 index 0000000..7c7dd65 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-51-41-028Z.yml @@ -0,0 +1,951 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e91]: + - heading "test-video" [level=1] [ref=e92] + - button "Rename" [ref=e93]: + - img [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: QC Feedback + - generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e99]: "Language: EN" + - generic [ref=e100]: "Duration: 68s" + - generic [ref=e88]: + - button "↗ Share link" [ref=e101] + - button "← Back to Queue" [ref=e102] + - generic [ref=e103]: + - generic [ref=e105]: + - generic [ref=e106]: Languages + - generic [ref=e107]: 1/1 approved— all done ✓ + - generic [ref=e109]: + - button "✓ EN (source) Approved ▲" [ref=e110]: + - generic [ref=e111]: + - generic [ref=e112]: ✓ + - generic [ref=e113]: EN + - generic [ref=e114]: (source) + - generic [ref=e115]: Approved + - generic [ref=e116]: ▲ + - generic [ref=e117]: + - generic [ref=e118]: + - generic [ref=e119]: + - generic [ref=e120]: Linguist + - generic [ref=e121]: Unassigned + - button "Assign linguist" [active] [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: Reviewer + - generic [ref=e125]: Unassigned + - button "Assign reviewer" [ref=e126] + - generic [ref=e127]: + - button "✕ Request changes" [ref=e128] + - button "Reopen" [ref=e129] + - button "💬 Comments (0)" [ref=e131] + - generic [ref=e1074]: + - heading "Assign linguist — EN" [level=3] [ref=e1075] + - generic [ref=e1076]: + - generic [ref=e1077]: Linguist + - combobox [ref=e1078]: + - option "Select linguist…" + - option "Test Linguist (test-linguist@oliver.agency)" [selected] + - generic [ref=e1079]: + - generic [ref=e1080]: Deadline (optional) + - textbox [ref=e1081] + - generic [ref=e1082]: + - button "Cancel" [ref=e1083] + - button "Assign" [ref=e1084] + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: "View Mode:" + - generic [ref=e135]: + - button "Side by Side (1)" [ref=e136] + - button "Video Only (2)" [ref=e137] + - button "Editor Only (3)" [ref=e138] + - generic [ref=e139]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e141]: + - heading "Video Preview" [level=3] [ref=e143] + - generic [ref=e144]: + - generic [ref=e145]: + - generic [ref=e146]: Your browser does not support the video tag. + - generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e149]: + - generic [ref=e150]: + - checkbox "Show Captions" [checked] [ref=e151] + - generic [ref=e152]: Show Captions + - generic [ref=e153]: "Time: 0:00" + - generic [ref=e154]: + - heading "Caption Timeline (English)" [level=4] [ref=e155] + - generic [ref=e156]: + - generic [ref=e157] [cursor=pointer]: + - generic [ref=e158]: + - generic [ref=e159]: 0:00 → 0:05 + - button "Jump" [ref=e160] + - generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e162] [cursor=pointer]: + - generic [ref=e163]: + - generic [ref=e164]: 0:06 → 0:10 + - button "Jump" [ref=e165] + - generic [ref=e166]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e167] [cursor=pointer]: + - generic [ref=e168]: + - generic [ref=e169]: 0:10 → 0:13 + - button "Jump" [ref=e170] + - generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e172] [cursor=pointer]: + - generic [ref=e173]: + - generic [ref=e174]: 0:13 → 0:16 + - button "Jump" [ref=e175] + - generic [ref=e176]: and faster for solar energy projects, + - generic [ref=e177] [cursor=pointer]: + - generic [ref=e178]: + - generic [ref=e179]: 0:16 → 0:18 + - button "Jump" [ref=e180] + - generic [ref=e181]: wind energy projects, + - generic [ref=e182] [cursor=pointer]: + - generic [ref=e183]: + - generic [ref=e184]: 0:18 → 0:21 + - button "Jump" [ref=e185] + - generic [ref=e186]: and battery energy storage systems. + - generic [ref=e187] [cursor=pointer]: + - generic [ref=e188]: + - generic [ref=e189]: 0:21 → 0:25 + - button "Jump" [ref=e190] + - generic [ref=e191]: We can help you solve your electrical installation challenges. + - generic [ref=e192] [cursor=pointer]: + - generic [ref=e193]: + - generic [ref=e194]: 0:25 → 0:28 + - button "Jump" [ref=e195] + - generic [ref=e196]: 3M provides advanced technology solutions + - generic [ref=e197] [cursor=pointer]: + - generic [ref=e198]: + - generic [ref=e199]: 0:28 → 0:32 + - button "Jump" [ref=e200] + - generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e202] [cursor=pointer]: + - generic [ref=e203]: + - generic [ref=e204]: 0:32 → 0:35 + - button "Jump" [ref=e205] + - generic [ref=e206]: Our engineers can help with your projects + - generic [ref=e207] [cursor=pointer]: + - generic [ref=e208]: + - generic [ref=e209]: 0:35 → 0:37 + - button "Jump" [ref=e210] + - generic [ref=e211]: and recommend customized product kits + - generic [ref=e212] [cursor=pointer]: + - generic [ref=e213]: + - generic [ref=e214]: 0:37 → 0:40 + - button "Jump" [ref=e215] + - generic [ref=e216]: so you get exactly what you need for reliable product performance. + - generic [ref=e217] [cursor=pointer]: + - generic [ref=e218]: + - generic [ref=e219]: 0:40 → 0:44 + - button "Jump" [ref=e220] + - generic [ref=e221]: We work closely with you, so you get the support you need. + - generic [ref=e222] [cursor=pointer]: + - generic [ref=e223]: + - generic [ref=e224]: 0:45 → 0:48 + - button "Jump" [ref=e225] + - generic [ref=e226]: Your work, combined with our solutions, + - generic [ref=e227] [cursor=pointer]: + - generic [ref=e228]: + - generic [ref=e229]: 0:50 → 0:52 + - button "Jump" [ref=e230] + - generic [ref=e231]: can help avoid costly downtime + - generic [ref=e232] [cursor=pointer]: + - generic [ref=e233]: + - generic [ref=e234]: 0:52 → 0:55 + - button "Jump" [ref=e235] + - generic [ref=e236]: and keep your renewable systems up and running smoothly. + - generic [ref=e237] [cursor=pointer]: + - generic [ref=e238]: + - generic [ref=e239]: 0:56 → 0:59 + - button "Jump" [ref=e240] + - generic [ref=e241]: Wherever the job takes you, we have your solution. + - generic [ref=e242] [cursor=pointer]: + - generic [ref=e243]: + - generic [ref=e244]: 1:01 → 1:04 + - button "Jump" [ref=e245] + - generic [ref=e246]: 3M. Science. Applied to Life. + - generic [ref=e247]: + - generic [ref=e248]: + - generic [ref=e249]: + - generic [ref=e250]: Closed Captions (EN) + - button "Upload .vtt" [ref=e251] + - generic [ref=e252]: + - heading "Closed Captions (EN)" [level=3] [ref=e255] + - generic [ref=e257]: + - generic [ref=e258]: + - generic [ref=e259]: + - generic [ref=e260]: + - generic [ref=e261]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000 + - generic [ref=e263]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500 + - generic [ref=e265]: (5500ms) + - generic [ref=e266]: + - button "Insert cue before" [ref=e267]: + - img [ref=e268] + - button "Insert cue after" [ref=e270]: + - img [ref=e271] + - button "Delete cue" [ref=e273]: + - img [ref=e274] + - generic [ref=e276]: + - generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: + - generic [ref=e281]: + - generic [ref=e282]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000 + - generic [ref=e284]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000 + - generic [ref=e286]: (4000ms) + - generic [ref=e287]: + - button "Insert cue before" [ref=e288]: + - img [ref=e289] + - button "Insert cue after" [ref=e291]: + - img [ref=e292] + - button "Delete cue" [ref=e294]: + - img [ref=e295] + - generic [ref=e297]: + - generic [ref=e298]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e299] + - generic [ref=e300]: + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000 + - generic [ref=e305]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500 + - generic [ref=e307]: (3500ms) + - generic [ref=e308]: + - button "Insert cue before" [ref=e309]: + - img [ref=e310] + - button "Insert cue after" [ref=e312]: + - img [ref=e313] + - button "Delete cue" [ref=e315]: + - img [ref=e316] + - generic [ref=e318]: + - generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e320] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500 + - generic [ref=e326]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000 + - generic [ref=e328]: (2500ms) + - generic [ref=e329]: + - button "Insert cue before" [ref=e330]: + - img [ref=e331] + - button "Insert cue after" [ref=e333]: + - img [ref=e334] + - button "Delete cue" [ref=e336]: + - img [ref=e337] + - generic [ref=e339]: + - generic [ref=e340]: and faster for solar energy projects, + - button "Edit text" [ref=e341] + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: + - generic [ref=e345]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000 + - generic [ref=e347]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500 + - generic [ref=e349]: (2500ms) + - generic [ref=e350]: + - button "Insert cue before" [ref=e351]: + - img [ref=e352] + - button "Insert cue after" [ref=e354]: + - img [ref=e355] + - button "Delete cue" [ref=e357]: + - img [ref=e358] + - generic [ref=e360]: + - generic [ref=e361]: wind energy projects, + - button "Edit text" [ref=e362] + - generic [ref=e363]: + - generic [ref=e364]: + - generic [ref=e365]: + - generic [ref=e366]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500 + - generic [ref=e368]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500 + - generic [ref=e370]: (3000ms) + - generic [ref=e371]: + - button "Insert cue before" [ref=e372]: + - img [ref=e373] + - button "Insert cue after" [ref=e375]: + - img [ref=e376] + - button "Delete cue" [ref=e378]: + - img [ref=e379] + - generic [ref=e381]: + - generic [ref=e382]: and battery energy storage systems. + - button "Edit text" [ref=e383] + - generic [ref=e384]: + - generic [ref=e385]: + - generic [ref=e386]: + - generic [ref=e387]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500 + - generic [ref=e389]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000 + - generic [ref=e391]: (3500ms) + - generic [ref=e392]: + - button "Insert cue before" [ref=e393]: + - img [ref=e394] + - button "Insert cue after" [ref=e396]: + - img [ref=e397] + - button "Delete cue" [ref=e399]: + - img [ref=e400] + - generic [ref=e402]: + - generic [ref=e403]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e404] + - generic [ref=e405]: + - generic [ref=e406]: + - generic [ref=e407]: + - generic [ref=e408]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000 + - generic [ref=e410]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000 + - generic [ref=e412]: (3000ms) + - generic [ref=e413]: + - button "Insert cue before" [ref=e414]: + - img [ref=e415] + - button "Insert cue after" [ref=e417]: + - img [ref=e418] + - button "Delete cue" [ref=e420]: + - img [ref=e421] + - generic [ref=e423]: + - generic [ref=e424]: 3M provides advanced technology solutions + - button "Edit text" [ref=e425] + - generic [ref=e426]: + - generic [ref=e427]: + - generic [ref=e428]: + - generic [ref=e429]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000 + - generic [ref=e431]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000 + - generic [ref=e433]: (4000ms) + - generic [ref=e434]: + - button "Insert cue before" [ref=e435]: + - img [ref=e436] + - button "Insert cue after" [ref=e438]: + - img [ref=e439] + - button "Delete cue" [ref=e441]: + - img [ref=e442] + - generic [ref=e444]: + - generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e446] + - generic [ref=e447]: + - generic [ref=e448]: + - generic [ref=e449]: + - generic [ref=e450]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000 + - generic [ref=e452]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000 + - generic [ref=e454]: (3000ms) + - generic [ref=e455]: + - button "Insert cue before" [ref=e456]: + - img [ref=e457] + - button "Insert cue after" [ref=e459]: + - img [ref=e460] + - button "Delete cue" [ref=e462]: + - img [ref=e463] + - generic [ref=e465]: + - generic [ref=e466]: Our engineers can help with your projects + - button "Edit text" [ref=e467] + - generic [ref=e468]: + - generic [ref=e469]: + - generic [ref=e470]: + - generic [ref=e471]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000 + - generic [ref=e473]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500 + - generic [ref=e475]: (2500ms) + - generic [ref=e476]: + - button "Insert cue before" [ref=e477]: + - img [ref=e478] + - button "Insert cue after" [ref=e480]: + - img [ref=e481] + - button "Delete cue" [ref=e483]: + - img [ref=e484] + - generic [ref=e486]: + - generic [ref=e487]: and recommend customized product kits + - button "Edit text" [ref=e488] + - generic [ref=e489]: + - generic [ref=e490]: + - generic [ref=e491]: + - generic [ref=e492]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500 + - generic [ref=e494]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500 + - generic [ref=e496]: (3000ms) + - generic [ref=e497]: + - button "Insert cue before" [ref=e498]: + - img [ref=e499] + - button "Insert cue after" [ref=e501]: + - img [ref=e502] + - button "Delete cue" [ref=e504]: + - img [ref=e505] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS + - generic [ref=e509]: + - generic [ref=e510]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e511] + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: + - generic [ref=e515]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500 + - generic [ref=e517]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500 + - generic [ref=e519]: (4000ms) + - generic [ref=e520]: + - button "Insert cue before" [ref=e521]: + - img [ref=e522] + - button "Insert cue after" [ref=e524]: + - img [ref=e525] + - button "Delete cue" [ref=e527]: + - img [ref=e528] + - generic [ref=e530]: + - generic [ref=e531]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e532] + - generic [ref=e533]: + - generic [ref=e534]: + - generic [ref=e535]: + - generic [ref=e536]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000 + - generic [ref=e538]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500 + - generic [ref=e540]: (3500ms) + - generic [ref=e541]: + - button "Insert cue before" [ref=e542]: + - img [ref=e543] + - button "Insert cue after" [ref=e545]: + - img [ref=e546] + - button "Delete cue" [ref=e548]: + - img [ref=e549] + - generic [ref=e551]: + - generic [ref=e552]: Your work, combined with our solutions, + - button "Edit text" [ref=e553] + - generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]: + - generic [ref=e555]: + Add cue here · 1.5s gap + - generic [ref=e556]: + - generic [ref=e557]: + - generic [ref=e558]: + - generic [ref=e559]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000 + - generic [ref=e561]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000 + - generic [ref=e563]: (2000ms) + - generic [ref=e564]: + - button "Insert cue before" [ref=e565]: + - img [ref=e566] + - button "Insert cue after" [ref=e568]: + - img [ref=e569] + - button "Delete cue" [ref=e571]: + - img [ref=e572] + - generic [ref=e574]: + - generic [ref=e575]: can help avoid costly downtime + - button "Edit text" [ref=e576] + - generic [ref=e577]: + - generic [ref=e578]: + - generic [ref=e579]: + - generic [ref=e580]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000 + - generic [ref=e582]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500 + - generic [ref=e584]: (3500ms) + - generic [ref=e585]: + - button "Insert cue before" [ref=e586]: + - img [ref=e587] + - button "Insert cue after" [ref=e589]: + - img [ref=e590] + - button "Delete cue" [ref=e592]: + - img [ref=e593] + - generic [ref=e595]: + - generic [ref=e596]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e597] + - generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]: + - generic [ref=e599]: + Add cue here · 1.0s gap + - generic [ref=e600]: + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500 + - generic [ref=e605]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500 + - generic [ref=e607]: (3000ms) + - generic [ref=e608]: + - button "Insert cue before" [ref=e609]: + - img [ref=e610] + - button "Insert cue after" [ref=e612]: + - img [ref=e613] + - button "Delete cue" [ref=e615]: + - img [ref=e616] + - generic [ref=e618]: + - generic [ref=e619]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e620] + - generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]: + - generic [ref=e622]: + Add cue here · 1.5s gap + - generic [ref=e623]: + - generic [ref=e624]: + - generic [ref=e625]: + - generic [ref=e626]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000 + - generic [ref=e628]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000 + - generic [ref=e630]: (3000ms) + - generic [ref=e631]: + - button "Insert cue before" [ref=e632]: + - img [ref=e633] + - button "Insert cue after" [ref=e635]: + - img [ref=e636] + - button "Delete cue" [ref=e638]: + - img [ref=e639] + - generic [ref=e641]: + - generic [ref=e642]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e643] + - generic [ref=e644]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e646] + - generic [ref=e647]: + - generic [ref=e648]: + - generic [ref=e649]: Audio Description (EN) + - button "Upload .vtt" [ref=e650] + - generic [ref=e651]: + - heading "Audio Description (EN)" [level=3] [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: + - generic [ref=e658]: + - generic [ref=e659]: + - generic [ref=e660]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000 + - generic [ref=e662]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500 + - generic [ref=e664]: (5500ms) + - generic [ref=e665]: + - button "Insert cue before" [ref=e666]: + - img [ref=e667] + - button "Insert cue after" [ref=e669]: + - img [ref=e670] + - button "Delete cue" [ref=e672]: + - img [ref=e673] + - generic [ref=e675]: + - generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e677] + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: + - generic [ref=e681]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000 + - generic [ref=e683]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000 + - generic [ref=e685]: (4000ms) + - generic [ref=e686]: + - button "Insert cue before" [ref=e687]: + - img [ref=e688] + - button "Insert cue after" [ref=e690]: + - img [ref=e691] + - button "Delete cue" [ref=e693]: + - img [ref=e694] + - generic [ref=e696]: + - generic [ref=e697]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e698] + - generic [ref=e699]: + - generic [ref=e700]: + - generic [ref=e701]: + - generic [ref=e702]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000 + - generic [ref=e704]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500 + - generic [ref=e706]: (3500ms) + - generic [ref=e707]: + - button "Insert cue before" [ref=e708]: + - img [ref=e709] + - button "Insert cue after" [ref=e711]: + - img [ref=e712] + - button "Delete cue" [ref=e714]: + - img [ref=e715] + - generic [ref=e717]: + - generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e719] + - generic [ref=e720]: + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500 + - generic [ref=e725]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000 + - generic [ref=e727]: (2500ms) + - generic [ref=e728]: + - button "Insert cue before" [ref=e729]: + - img [ref=e730] + - button "Insert cue after" [ref=e732]: + - img [ref=e733] + - button "Delete cue" [ref=e735]: + - img [ref=e736] + - generic [ref=e738]: + - generic [ref=e739]: Three workers walk past solar panels. + - button "Edit text" [ref=e740] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000 + - generic [ref=e746]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500 + - generic [ref=e748]: (2500ms) + - generic [ref=e749]: + - button "Insert cue before" [ref=e750]: + - img [ref=e751] + - button "Insert cue after" [ref=e753]: + - img [ref=e754] + - button "Delete cue" [ref=e756]: + - img [ref=e757] + - generic [ref=e759]: + - generic [ref=e760]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e761] + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: + - generic [ref=e765]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500 + - generic [ref=e767]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500 + - generic [ref=e769]: (3000ms) + - generic [ref=e770]: + - button "Insert cue before" [ref=e771]: + - img [ref=e772] + - button "Insert cue after" [ref=e774]: + - img [ref=e775] + - button "Delete cue" [ref=e777]: + - img [ref=e778] + - generic [ref=e780]: + - generic [ref=e781]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e782] + - generic [ref=e783]: + - generic [ref=e784]: + - generic [ref=e785]: + - generic [ref=e786]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500 + - generic [ref=e788]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000 + - generic [ref=e790]: (3500ms) + - generic [ref=e791]: + - button "Insert cue before" [ref=e792]: + - img [ref=e793] + - button "Insert cue after" [ref=e795]: + - img [ref=e796] + - button "Delete cue" [ref=e798]: + - img [ref=e799] + - generic [ref=e801]: + - generic [ref=e802]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e803] + - generic [ref=e804]: + - generic [ref=e805]: + - generic [ref=e806]: + - generic [ref=e807]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000 + - generic [ref=e809]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000 + - generic [ref=e811]: (3000ms) + - generic [ref=e812]: + - button "Insert cue before" [ref=e813]: + - img [ref=e814] + - button "Insert cue after" [ref=e816]: + - img [ref=e817] + - button "Delete cue" [ref=e819]: + - img [ref=e820] + - generic [ref=e822]: + - generic [ref=e823]: Workers install cables in a trench. + - button "Edit text" [ref=e824] + - generic [ref=e825]: + - generic [ref=e826]: + - generic [ref=e827]: + - generic [ref=e828]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000 + - generic [ref=e830]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000 + - generic [ref=e832]: (4000ms) + - generic [ref=e833]: + - button "Insert cue before" [ref=e834]: + - img [ref=e835] + - button "Insert cue after" [ref=e837]: + - img [ref=e838] + - button "Delete cue" [ref=e840]: + - img [ref=e841] + - generic [ref=e843]: + - generic [ref=e844]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e845] + - generic [ref=e846]: + - generic [ref=e847]: + - generic [ref=e848]: + - generic [ref=e849]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000 + - generic [ref=e851]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000 + - generic [ref=e853]: (3000ms) + - generic [ref=e854]: + - button "Insert cue before" [ref=e855]: + - img [ref=e856] + - button "Insert cue after" [ref=e858]: + - img [ref=e859] + - button "Delete cue" [ref=e861]: + - img [ref=e862] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS + - generic [ref=e866]: + - generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e868] + - generic [ref=e869]: + - generic [ref=e870]: + - generic [ref=e871]: + - generic [ref=e872]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000 + - generic [ref=e874]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500 + - generic [ref=e876]: (5500ms) + - generic [ref=e877]: + - button "Insert cue before" [ref=e878]: + - img [ref=e879] + - button "Insert cue after" [ref=e881]: + - img [ref=e882] + - button "Delete cue" [ref=e884]: + - img [ref=e885] + - generic [ref=e887]: + - generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e889] + - generic [ref=e890]: + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500 + - generic [ref=e895]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500 + - generic [ref=e897]: (4000ms) + - generic [ref=e898]: + - button "Insert cue before" [ref=e899]: + - img [ref=e900] + - button "Insert cue after" [ref=e902]: + - img [ref=e903] + - button "Delete cue" [ref=e905]: + - img [ref=e906] + - generic [ref=e908]: + - generic [ref=e909]: Two workers examine a cable component. + - button "Edit text" [ref=e910] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500 + - generic [ref=e916]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500 + - generic [ref=e918]: (4000ms) + - generic [ref=e919]: + - button "Insert cue before" [ref=e920]: + - img [ref=e921] + - button "Insert cue after" [ref=e923]: + - img [ref=e924] + - button "Delete cue" [ref=e926]: + - img [ref=e927] + - generic [ref=e929]: + - generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e931] + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: + - generic [ref=e935]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500 + - generic [ref=e937]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500 + - generic [ref=e939]: (3000ms) + - generic [ref=e940]: + - button "Insert cue before" [ref=e941]: + - img [ref=e942] + - button "Insert cue after" [ref=e944]: + - img [ref=e945] + - button "Delete cue" [ref=e947]: + - img [ref=e948] + - generic [ref=e950]: + - generic [ref=e951]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e952] + - generic [ref=e953]: + - generic [ref=e954]: + - generic [ref=e955]: + - generic [ref=e956]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500 + - generic [ref=e958]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500 + - generic [ref=e960]: (4000ms) + - generic [ref=e961]: + - button "Insert cue before" [ref=e962]: + - img [ref=e963] + - button "Insert cue after" [ref=e965]: + - img [ref=e966] + - button "Delete cue" [ref=e968]: + - img [ref=e969] + - generic [ref=e971]: + - generic [ref=e972]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e973] + - generic [ref=e974]: + - generic [ref=e975]: + - generic [ref=e976]: + - generic [ref=e977]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500 + - generic [ref=e979]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000 + - generic [ref=e981]: (4500ms) + - generic [ref=e982]: + - button "Insert cue before" [ref=e983]: + - img [ref=e984] + - button "Insert cue after" [ref=e986]: + - img [ref=e987] + - button "Delete cue" [ref=e989]: + - img [ref=e990] + - generic [ref=e992]: + - generic [ref=e993]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e994] + - generic [ref=e995]: + - generic [ref=e996]: + - generic [ref=e997]: + - generic [ref=e998]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000 + - generic [ref=e1000]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000 + - generic [ref=e1002]: (4000ms) + - generic [ref=e1003]: + - button "Insert cue before" [ref=e1004]: + - img [ref=e1005] + - button "Insert cue after" [ref=e1007]: + - img [ref=e1008] + - button "Delete cue" [ref=e1010]: + - img [ref=e1011] + - generic [ref=e1013]: + - generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1015] + - generic [ref=e1016]: + - generic [ref=e1017]: + - generic [ref=e1018]: + - generic [ref=e1019]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000 + - generic [ref=e1021]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000 + - generic [ref=e1023]: (4000ms) + - generic [ref=e1024]: + - button "Insert cue before" [ref=e1025]: + - img [ref=e1026] + - button "Insert cue after" [ref=e1028]: + - img [ref=e1029] + - button "Delete cue" [ref=e1031]: + - img [ref=e1032] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS + - generic [ref=e1036]: + - generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1038] + - generic [ref=e1039]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1041] + - generic [ref=e1043]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1044] + - button "Adjust Timing" [ref=e1045] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]: + - generic [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: Voice Settings for Audio Description + - generic [ref=e1052]: (Configured) + - generic [ref=e1053]: Click to customize or override TTS voice + - generic [ref=e1054]: + - generic [ref=e1055]: Cost Tracker Project ID + - generic [ref=e1056]: + - textbox "e.g. ford-q3-2026" [ref=e1057] + - button "Save" [ref=e1058] + - paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1061]: + - generic [ref=e1062]: + - img [ref=e1063] + - generic [ref=e1065]: Download Assets + - generic [ref=e1066]: Click to download individual files + - generic [ref=e1067]: + - generic [ref=e1068]: Review Notes + - textbox "Add any notes about this review..." [ref=e1069] + - generic [ref=e1070]: + - button "Approve All Languages" [ref=e1071] + - button "Reject Job" [ref=e1072] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-52-20-014Z.png b/.playwright-mcp/page-2026-05-01T12-52-20-014Z.png new file mode 100644 index 0000000..d624499 Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-52-20-014Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-52-30-391Z.yml b/.playwright-mcp/page-2026-05-01T12-52-30-391Z.yml new file mode 100644 index 0000000..6f4ddae --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-52-30-391Z.yml @@ -0,0 +1,938 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e91]: + - heading "test-video" [level=1] [ref=e92] + - button "Rename" [ref=e93]: + - img [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: QC Feedback + - generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e99]: "Language: EN" + - generic [ref=e100]: "Duration: 68s" + - generic [ref=e88]: + - button "↗ Share link" [ref=e101] + - button "← Back to Queue" [ref=e102] + - generic [ref=e103]: + - generic [ref=e105]: + - generic [ref=e106]: Languages + - generic [ref=e107]: 1/1 approved— all done ✓ + - generic [ref=e109]: + - button "✓ EN (source) Approved ▲" [ref=e110]: + - generic [ref=e111]: + - generic [ref=e112]: ✓ + - generic [ref=e113]: EN + - generic [ref=e114]: (source) + - generic [ref=e115]: Approved + - generic [ref=e116]: ▲ + - generic [ref=e117]: + - generic [ref=e118]: + - generic [ref=e119]: + - generic [ref=e120]: Linguist + - generic [ref=e121]: Unassigned + - button "Assign linguist" [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: Reviewer + - generic [ref=e125]: Unassigned + - button "Assign reviewer" [ref=e126] + - generic [ref=e127]: + - button "✕ Request changes" [ref=e128] + - button "Reopen" [ref=e129] + - button "💬 Comments (0)" [ref=e131] + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: "View Mode:" + - generic [ref=e135]: + - button "Side by Side (1)" [ref=e136] + - button "Video Only (2)" [ref=e137] + - button "Editor Only (3)" [ref=e138] + - generic [ref=e139]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e141]: + - heading "Video Preview" [level=3] [ref=e143] + - generic [ref=e144]: + - generic [ref=e145]: + - generic [ref=e146]: Your browser does not support the video tag. + - generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e149]: + - generic [ref=e150]: + - checkbox "Show Captions" [checked] [ref=e151] + - generic [ref=e152]: Show Captions + - generic [ref=e153]: "Time: 0:00" + - generic [ref=e154]: + - heading "Caption Timeline (English)" [level=4] [ref=e155] + - generic [ref=e156]: + - generic [ref=e157] [cursor=pointer]: + - generic [ref=e158]: + - generic [ref=e159]: 0:00 → 0:05 + - button "Jump" [ref=e160] + - generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e162] [cursor=pointer]: + - generic [ref=e163]: + - generic [ref=e164]: 0:06 → 0:10 + - button "Jump" [ref=e165] + - generic [ref=e166]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e167] [cursor=pointer]: + - generic [ref=e168]: + - generic [ref=e169]: 0:10 → 0:13 + - button "Jump" [ref=e170] + - generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e172] [cursor=pointer]: + - generic [ref=e173]: + - generic [ref=e174]: 0:13 → 0:16 + - button "Jump" [ref=e175] + - generic [ref=e176]: and faster for solar energy projects, + - generic [ref=e177] [cursor=pointer]: + - generic [ref=e178]: + - generic [ref=e179]: 0:16 → 0:18 + - button "Jump" [ref=e180] + - generic [ref=e181]: wind energy projects, + - generic [ref=e182] [cursor=pointer]: + - generic [ref=e183]: + - generic [ref=e184]: 0:18 → 0:21 + - button "Jump" [ref=e185] + - generic [ref=e186]: and battery energy storage systems. + - generic [ref=e187] [cursor=pointer]: + - generic [ref=e188]: + - generic [ref=e189]: 0:21 → 0:25 + - button "Jump" [ref=e190] + - generic [ref=e191]: We can help you solve your electrical installation challenges. + - generic [ref=e192] [cursor=pointer]: + - generic [ref=e193]: + - generic [ref=e194]: 0:25 → 0:28 + - button "Jump" [ref=e195] + - generic [ref=e196]: 3M provides advanced technology solutions + - generic [ref=e197] [cursor=pointer]: + - generic [ref=e198]: + - generic [ref=e199]: 0:28 → 0:32 + - button "Jump" [ref=e200] + - generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e202] [cursor=pointer]: + - generic [ref=e203]: + - generic [ref=e204]: 0:32 → 0:35 + - button "Jump" [ref=e205] + - generic [ref=e206]: Our engineers can help with your projects + - generic [ref=e207] [cursor=pointer]: + - generic [ref=e208]: + - generic [ref=e209]: 0:35 → 0:37 + - button "Jump" [ref=e210] + - generic [ref=e211]: and recommend customized product kits + - generic [ref=e212] [cursor=pointer]: + - generic [ref=e213]: + - generic [ref=e214]: 0:37 → 0:40 + - button "Jump" [ref=e215] + - generic [ref=e216]: so you get exactly what you need for reliable product performance. + - generic [ref=e217] [cursor=pointer]: + - generic [ref=e218]: + - generic [ref=e219]: 0:40 → 0:44 + - button "Jump" [ref=e220] + - generic [ref=e221]: We work closely with you, so you get the support you need. + - generic [ref=e222] [cursor=pointer]: + - generic [ref=e223]: + - generic [ref=e224]: 0:45 → 0:48 + - button "Jump" [ref=e225] + - generic [ref=e226]: Your work, combined with our solutions, + - generic [ref=e227] [cursor=pointer]: + - generic [ref=e228]: + - generic [ref=e229]: 0:50 → 0:52 + - button "Jump" [ref=e230] + - generic [ref=e231]: can help avoid costly downtime + - generic [ref=e232] [cursor=pointer]: + - generic [ref=e233]: + - generic [ref=e234]: 0:52 → 0:55 + - button "Jump" [ref=e235] + - generic [ref=e236]: and keep your renewable systems up and running smoothly. + - generic [ref=e237] [cursor=pointer]: + - generic [ref=e238]: + - generic [ref=e239]: 0:56 → 0:59 + - button "Jump" [ref=e240] + - generic [ref=e241]: Wherever the job takes you, we have your solution. + - generic [ref=e242] [cursor=pointer]: + - generic [ref=e243]: + - generic [ref=e244]: 1:01 → 1:04 + - button "Jump" [ref=e245] + - generic [ref=e246]: 3M. Science. Applied to Life. + - generic [ref=e247]: + - generic [ref=e248]: + - generic [ref=e249]: + - generic [ref=e250]: Closed Captions (EN) + - button "Upload .vtt" [ref=e251] + - generic [ref=e252]: + - heading "Closed Captions (EN)" [level=3] [ref=e255] + - generic [ref=e257]: + - generic [ref=e258]: + - generic [ref=e259]: + - generic [ref=e260]: + - generic [ref=e261]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000 + - generic [ref=e263]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500 + - generic [ref=e265]: (5500ms) + - generic [ref=e266]: + - button "Insert cue before" [ref=e267]: + - img [ref=e268] + - button "Insert cue after" [ref=e270]: + - img [ref=e271] + - button "Delete cue" [ref=e273]: + - img [ref=e274] + - generic [ref=e276]: + - generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: + - generic [ref=e281]: + - generic [ref=e282]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000 + - generic [ref=e284]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000 + - generic [ref=e286]: (4000ms) + - generic [ref=e287]: + - button "Insert cue before" [ref=e288]: + - img [ref=e289] + - button "Insert cue after" [ref=e291]: + - img [ref=e292] + - button "Delete cue" [ref=e294]: + - img [ref=e295] + - generic [ref=e297]: + - generic [ref=e298]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e299] + - generic [ref=e300]: + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000 + - generic [ref=e305]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500 + - generic [ref=e307]: (3500ms) + - generic [ref=e308]: + - button "Insert cue before" [ref=e309]: + - img [ref=e310] + - button "Insert cue after" [ref=e312]: + - img [ref=e313] + - button "Delete cue" [ref=e315]: + - img [ref=e316] + - generic [ref=e318]: + - generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e320] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500 + - generic [ref=e326]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000 + - generic [ref=e328]: (2500ms) + - generic [ref=e329]: + - button "Insert cue before" [ref=e330]: + - img [ref=e331] + - button "Insert cue after" [ref=e333]: + - img [ref=e334] + - button "Delete cue" [ref=e336]: + - img [ref=e337] + - generic [ref=e339]: + - generic [ref=e340]: and faster for solar energy projects, + - button "Edit text" [ref=e341] + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: + - generic [ref=e345]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000 + - generic [ref=e347]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500 + - generic [ref=e349]: (2500ms) + - generic [ref=e350]: + - button "Insert cue before" [ref=e351]: + - img [ref=e352] + - button "Insert cue after" [ref=e354]: + - img [ref=e355] + - button "Delete cue" [ref=e357]: + - img [ref=e358] + - generic [ref=e360]: + - generic [ref=e361]: wind energy projects, + - button "Edit text" [ref=e362] + - generic [ref=e363]: + - generic [ref=e364]: + - generic [ref=e365]: + - generic [ref=e366]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500 + - generic [ref=e368]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500 + - generic [ref=e370]: (3000ms) + - generic [ref=e371]: + - button "Insert cue before" [ref=e372]: + - img [ref=e373] + - button "Insert cue after" [ref=e375]: + - img [ref=e376] + - button "Delete cue" [ref=e378]: + - img [ref=e379] + - generic [ref=e381]: + - generic [ref=e382]: and battery energy storage systems. + - button "Edit text" [ref=e383] + - generic [ref=e384]: + - generic [ref=e385]: + - generic [ref=e386]: + - generic [ref=e387]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500 + - generic [ref=e389]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000 + - generic [ref=e391]: (3500ms) + - generic [ref=e392]: + - button "Insert cue before" [ref=e393]: + - img [ref=e394] + - button "Insert cue after" [ref=e396]: + - img [ref=e397] + - button "Delete cue" [ref=e399]: + - img [ref=e400] + - generic [ref=e402]: + - generic [ref=e403]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e404] + - generic [ref=e405]: + - generic [ref=e406]: + - generic [ref=e407]: + - generic [ref=e408]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000 + - generic [ref=e410]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000 + - generic [ref=e412]: (3000ms) + - generic [ref=e413]: + - button "Insert cue before" [ref=e414]: + - img [ref=e415] + - button "Insert cue after" [ref=e417]: + - img [ref=e418] + - button "Delete cue" [ref=e420]: + - img [ref=e421] + - generic [ref=e423]: + - generic [ref=e424]: 3M provides advanced technology solutions + - button "Edit text" [ref=e425] + - generic [ref=e426]: + - generic [ref=e427]: + - generic [ref=e428]: + - generic [ref=e429]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000 + - generic [ref=e431]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000 + - generic [ref=e433]: (4000ms) + - generic [ref=e434]: + - button "Insert cue before" [ref=e435]: + - img [ref=e436] + - button "Insert cue after" [ref=e438]: + - img [ref=e439] + - button "Delete cue" [ref=e441]: + - img [ref=e442] + - generic [ref=e444]: + - generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e446] + - generic [ref=e447]: + - generic [ref=e448]: + - generic [ref=e449]: + - generic [ref=e450]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000 + - generic [ref=e452]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000 + - generic [ref=e454]: (3000ms) + - generic [ref=e455]: + - button "Insert cue before" [ref=e456]: + - img [ref=e457] + - button "Insert cue after" [ref=e459]: + - img [ref=e460] + - button "Delete cue" [ref=e462]: + - img [ref=e463] + - generic [ref=e465]: + - generic [ref=e466]: Our engineers can help with your projects + - button "Edit text" [ref=e467] + - generic [ref=e468]: + - generic [ref=e469]: + - generic [ref=e470]: + - generic [ref=e471]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000 + - generic [ref=e473]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500 + - generic [ref=e475]: (2500ms) + - generic [ref=e476]: + - button "Insert cue before" [ref=e477]: + - img [ref=e478] + - button "Insert cue after" [ref=e480]: + - img [ref=e481] + - button "Delete cue" [ref=e483]: + - img [ref=e484] + - generic [ref=e486]: + - generic [ref=e487]: and recommend customized product kits + - button "Edit text" [ref=e488] + - generic [ref=e489]: + - generic [ref=e490]: + - generic [ref=e491]: + - generic [ref=e492]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500 + - generic [ref=e494]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500 + - generic [ref=e496]: (3000ms) + - generic [ref=e497]: + - button "Insert cue before" [ref=e498]: + - img [ref=e499] + - button "Insert cue after" [ref=e501]: + - img [ref=e502] + - button "Delete cue" [ref=e504]: + - img [ref=e505] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS + - generic [ref=e509]: + - generic [ref=e510]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e511] + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: + - generic [ref=e515]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500 + - generic [ref=e517]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500 + - generic [ref=e519]: (4000ms) + - generic [ref=e520]: + - button "Insert cue before" [ref=e521]: + - img [ref=e522] + - button "Insert cue after" [ref=e524]: + - img [ref=e525] + - button "Delete cue" [ref=e527]: + - img [ref=e528] + - generic [ref=e530]: + - generic [ref=e531]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e532] + - generic [ref=e533]: + - generic [ref=e534]: + - generic [ref=e535]: + - generic [ref=e536]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000 + - generic [ref=e538]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500 + - generic [ref=e540]: (3500ms) + - generic [ref=e541]: + - button "Insert cue before" [ref=e542]: + - img [ref=e543] + - button "Insert cue after" [ref=e545]: + - img [ref=e546] + - button "Delete cue" [ref=e548]: + - img [ref=e549] + - generic [ref=e551]: + - generic [ref=e552]: Your work, combined with our solutions, + - button "Edit text" [ref=e553] + - generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]: + - generic [ref=e555]: + Add cue here · 1.5s gap + - generic [ref=e556]: + - generic [ref=e557]: + - generic [ref=e558]: + - generic [ref=e559]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000 + - generic [ref=e561]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000 + - generic [ref=e563]: (2000ms) + - generic [ref=e564]: + - button "Insert cue before" [ref=e565]: + - img [ref=e566] + - button "Insert cue after" [ref=e568]: + - img [ref=e569] + - button "Delete cue" [ref=e571]: + - img [ref=e572] + - generic [ref=e574]: + - generic [ref=e575]: can help avoid costly downtime + - button "Edit text" [ref=e576] + - generic [ref=e577]: + - generic [ref=e578]: + - generic [ref=e579]: + - generic [ref=e580]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000 + - generic [ref=e582]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500 + - generic [ref=e584]: (3500ms) + - generic [ref=e585]: + - button "Insert cue before" [ref=e586]: + - img [ref=e587] + - button "Insert cue after" [ref=e589]: + - img [ref=e590] + - button "Delete cue" [ref=e592]: + - img [ref=e593] + - generic [ref=e595]: + - generic [ref=e596]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e597] + - generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]: + - generic [ref=e599]: + Add cue here · 1.0s gap + - generic [ref=e600]: + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500 + - generic [ref=e605]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500 + - generic [ref=e607]: (3000ms) + - generic [ref=e608]: + - button "Insert cue before" [ref=e609]: + - img [ref=e610] + - button "Insert cue after" [ref=e612]: + - img [ref=e613] + - button "Delete cue" [ref=e615]: + - img [ref=e616] + - generic [ref=e618]: + - generic [ref=e619]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e620] + - generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]: + - generic [ref=e622]: + Add cue here · 1.5s gap + - generic [ref=e623]: + - generic [ref=e624]: + - generic [ref=e625]: + - generic [ref=e626]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000 + - generic [ref=e628]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000 + - generic [ref=e630]: (3000ms) + - generic [ref=e631]: + - button "Insert cue before" [ref=e632]: + - img [ref=e633] + - button "Insert cue after" [ref=e635]: + - img [ref=e636] + - button "Delete cue" [ref=e638]: + - img [ref=e639] + - generic [ref=e641]: + - generic [ref=e642]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e643] + - generic [ref=e644]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e646] + - generic [ref=e647]: + - generic [ref=e648]: + - generic [ref=e649]: Audio Description (EN) + - button "Upload .vtt" [ref=e650] + - generic [ref=e651]: + - heading "Audio Description (EN)" [level=3] [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: + - generic [ref=e658]: + - generic [ref=e659]: + - generic [ref=e660]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000 + - generic [ref=e662]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500 + - generic [ref=e664]: (5500ms) + - generic [ref=e665]: + - button "Insert cue before" [ref=e666]: + - img [ref=e667] + - button "Insert cue after" [ref=e669]: + - img [ref=e670] + - button "Delete cue" [ref=e672]: + - img [ref=e673] + - generic [ref=e675]: + - generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e677] + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: + - generic [ref=e681]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000 + - generic [ref=e683]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000 + - generic [ref=e685]: (4000ms) + - generic [ref=e686]: + - button "Insert cue before" [ref=e687]: + - img [ref=e688] + - button "Insert cue after" [ref=e690]: + - img [ref=e691] + - button "Delete cue" [ref=e693]: + - img [ref=e694] + - generic [ref=e696]: + - generic [ref=e697]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e698] + - generic [ref=e699]: + - generic [ref=e700]: + - generic [ref=e701]: + - generic [ref=e702]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000 + - generic [ref=e704]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500 + - generic [ref=e706]: (3500ms) + - generic [ref=e707]: + - button "Insert cue before" [ref=e708]: + - img [ref=e709] + - button "Insert cue after" [ref=e711]: + - img [ref=e712] + - button "Delete cue" [ref=e714]: + - img [ref=e715] + - generic [ref=e717]: + - generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e719] + - generic [ref=e720]: + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500 + - generic [ref=e725]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000 + - generic [ref=e727]: (2500ms) + - generic [ref=e728]: + - button "Insert cue before" [ref=e729]: + - img [ref=e730] + - button "Insert cue after" [ref=e732]: + - img [ref=e733] + - button "Delete cue" [ref=e735]: + - img [ref=e736] + - generic [ref=e738]: + - generic [ref=e739]: Three workers walk past solar panels. + - button "Edit text" [ref=e740] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000 + - generic [ref=e746]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500 + - generic [ref=e748]: (2500ms) + - generic [ref=e749]: + - button "Insert cue before" [ref=e750]: + - img [ref=e751] + - button "Insert cue after" [ref=e753]: + - img [ref=e754] + - button "Delete cue" [ref=e756]: + - img [ref=e757] + - generic [ref=e759]: + - generic [ref=e760]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e761] + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: + - generic [ref=e765]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500 + - generic [ref=e767]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500 + - generic [ref=e769]: (3000ms) + - generic [ref=e770]: + - button "Insert cue before" [ref=e771]: + - img [ref=e772] + - button "Insert cue after" [ref=e774]: + - img [ref=e775] + - button "Delete cue" [ref=e777]: + - img [ref=e778] + - generic [ref=e780]: + - generic [ref=e781]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e782] + - generic [ref=e783]: + - generic [ref=e784]: + - generic [ref=e785]: + - generic [ref=e786]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500 + - generic [ref=e788]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000 + - generic [ref=e790]: (3500ms) + - generic [ref=e791]: + - button "Insert cue before" [ref=e792]: + - img [ref=e793] + - button "Insert cue after" [ref=e795]: + - img [ref=e796] + - button "Delete cue" [ref=e798]: + - img [ref=e799] + - generic [ref=e801]: + - generic [ref=e802]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e803] + - generic [ref=e804]: + - generic [ref=e805]: + - generic [ref=e806]: + - generic [ref=e807]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000 + - generic [ref=e809]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000 + - generic [ref=e811]: (3000ms) + - generic [ref=e812]: + - button "Insert cue before" [ref=e813]: + - img [ref=e814] + - button "Insert cue after" [ref=e816]: + - img [ref=e817] + - button "Delete cue" [ref=e819]: + - img [ref=e820] + - generic [ref=e822]: + - generic [ref=e823]: Workers install cables in a trench. + - button "Edit text" [ref=e824] + - generic [ref=e825]: + - generic [ref=e826]: + - generic [ref=e827]: + - generic [ref=e828]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000 + - generic [ref=e830]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000 + - generic [ref=e832]: (4000ms) + - generic [ref=e833]: + - button "Insert cue before" [ref=e834]: + - img [ref=e835] + - button "Insert cue after" [ref=e837]: + - img [ref=e838] + - button "Delete cue" [ref=e840]: + - img [ref=e841] + - generic [ref=e843]: + - generic [ref=e844]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e845] + - generic [ref=e846]: + - generic [ref=e847]: + - generic [ref=e848]: + - generic [ref=e849]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000 + - generic [ref=e851]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000 + - generic [ref=e853]: (3000ms) + - generic [ref=e854]: + - button "Insert cue before" [ref=e855]: + - img [ref=e856] + - button "Insert cue after" [ref=e858]: + - img [ref=e859] + - button "Delete cue" [ref=e861]: + - img [ref=e862] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS + - generic [ref=e866]: + - generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e868] + - generic [ref=e869]: + - generic [ref=e870]: + - generic [ref=e871]: + - generic [ref=e872]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000 + - generic [ref=e874]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500 + - generic [ref=e876]: (5500ms) + - generic [ref=e877]: + - button "Insert cue before" [ref=e878]: + - img [ref=e879] + - button "Insert cue after" [ref=e881]: + - img [ref=e882] + - button "Delete cue" [ref=e884]: + - img [ref=e885] + - generic [ref=e887]: + - generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e889] + - generic [ref=e890]: + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500 + - generic [ref=e895]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500 + - generic [ref=e897]: (4000ms) + - generic [ref=e898]: + - button "Insert cue before" [ref=e899]: + - img [ref=e900] + - button "Insert cue after" [ref=e902]: + - img [ref=e903] + - button "Delete cue" [ref=e905]: + - img [ref=e906] + - generic [ref=e908]: + - generic [ref=e909]: Two workers examine a cable component. + - button "Edit text" [ref=e910] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500 + - generic [ref=e916]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500 + - generic [ref=e918]: (4000ms) + - generic [ref=e919]: + - button "Insert cue before" [ref=e920]: + - img [ref=e921] + - button "Insert cue after" [ref=e923]: + - img [ref=e924] + - button "Delete cue" [ref=e926]: + - img [ref=e927] + - generic [ref=e929]: + - generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e931] + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: + - generic [ref=e935]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500 + - generic [ref=e937]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500 + - generic [ref=e939]: (3000ms) + - generic [ref=e940]: + - button "Insert cue before" [ref=e941]: + - img [ref=e942] + - button "Insert cue after" [ref=e944]: + - img [ref=e945] + - button "Delete cue" [ref=e947]: + - img [ref=e948] + - generic [ref=e950]: + - generic [ref=e951]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e952] + - generic [ref=e953]: + - generic [ref=e954]: + - generic [ref=e955]: + - generic [ref=e956]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500 + - generic [ref=e958]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500 + - generic [ref=e960]: (4000ms) + - generic [ref=e961]: + - button "Insert cue before" [ref=e962]: + - img [ref=e963] + - button "Insert cue after" [ref=e965]: + - img [ref=e966] + - button "Delete cue" [ref=e968]: + - img [ref=e969] + - generic [ref=e971]: + - generic [ref=e972]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e973] + - generic [ref=e974]: + - generic [ref=e975]: + - generic [ref=e976]: + - generic [ref=e977]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500 + - generic [ref=e979]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000 + - generic [ref=e981]: (4500ms) + - generic [ref=e982]: + - button "Insert cue before" [ref=e983]: + - img [ref=e984] + - button "Insert cue after" [ref=e986]: + - img [ref=e987] + - button "Delete cue" [ref=e989]: + - img [ref=e990] + - generic [ref=e992]: + - generic [ref=e993]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e994] + - generic [ref=e995]: + - generic [ref=e996]: + - generic [ref=e997]: + - generic [ref=e998]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000 + - generic [ref=e1000]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000 + - generic [ref=e1002]: (4000ms) + - generic [ref=e1003]: + - button "Insert cue before" [ref=e1004]: + - img [ref=e1005] + - button "Insert cue after" [ref=e1007]: + - img [ref=e1008] + - button "Delete cue" [ref=e1010]: + - img [ref=e1011] + - generic [ref=e1013]: + - generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1015] + - generic [ref=e1016]: + - generic [ref=e1017]: + - generic [ref=e1018]: + - generic [ref=e1019]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000 + - generic [ref=e1021]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000 + - generic [ref=e1023]: (4000ms) + - generic [ref=e1024]: + - button "Insert cue before" [ref=e1025]: + - img [ref=e1026] + - button "Insert cue after" [ref=e1028]: + - img [ref=e1029] + - button "Delete cue" [ref=e1031]: + - img [ref=e1032] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS + - generic [ref=e1036]: + - generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1038] + - generic [ref=e1039]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1041] + - generic [ref=e1043]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1044] + - button "Adjust Timing" [ref=e1045] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]: + - generic [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: Voice Settings for Audio Description + - generic [ref=e1052]: (Configured) + - generic [ref=e1053]: Click to customize or override TTS voice + - generic [ref=e1054]: + - generic [ref=e1055]: Cost Tracker Project ID + - generic [ref=e1056]: + - textbox "e.g. ford-q3-2026" [ref=e1057] + - button "Save" [ref=e1058] + - paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1061]: + - generic [ref=e1062]: + - img [ref=e1063] + - generic [ref=e1065]: Download Assets + - generic [ref=e1066]: Click to download individual files + - generic [ref=e1067]: + - generic [ref=e1068]: Review Notes + - textbox "Add any notes about this review..." [ref=e1069] + - generic [ref=e1070]: + - button "Approve All Languages" [ref=e1071] + - button "Reject Job" [ref=e1072] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-52-50-638Z.yml b/.playwright-mcp/page-2026-05-01T12-52-50-638Z.yml new file mode 100644 index 0000000..b396c99 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-52-50-638Z.yml @@ -0,0 +1,938 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e91]: + - heading "test-video" [level=1] [ref=e92] + - button "Rename" [ref=e93]: + - img [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: QC Feedback + - generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e99]: "Language: EN" + - generic [ref=e100]: "Duration: 68s" + - generic [ref=e88]: + - button "↗ Share link" [ref=e101] + - button "← Back to Queue" [ref=e102] + - generic [ref=e103]: + - generic [ref=e105]: + - generic [ref=e106]: Languages + - generic [ref=e107]: 0/1 approved + - generic [ref=e109]: + - button "⏳ EN (source) Pending ▲" [ref=e1093]: + - generic [ref=e111]: + - generic [ref=e112]: ⏳ + - generic [ref=e113]: EN + - generic [ref=e114]: (source) + - generic [ref=e115]: Pending + - generic [ref=e116]: ▲ + - generic [ref=e117]: + - generic [ref=e118]: + - generic [ref=e119]: + - generic [ref=e120]: Linguist + - generic [ref=e121]: Unassigned + - button "Assign linguist" [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: Reviewer + - generic [ref=e125]: Unassigned + - button "Assign reviewer" [ref=e126] + - generic [ref=e127]: + - button "✓ Approve" [ref=e1095] + - button "✕ Request changes" [ref=e128] + - button "💬 Comments (0)" [ref=e131] + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: "View Mode:" + - generic [ref=e135]: + - button "Side by Side (1)" [ref=e136] + - button "Video Only (2)" [ref=e137] + - button "Editor Only (3)" [ref=e138] + - generic [ref=e139]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e141]: + - heading "Video Preview" [level=3] [ref=e143] + - generic [ref=e144]: + - generic [ref=e145]: + - generic [ref=e146]: Your browser does not support the video tag. + - generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e149]: + - generic [ref=e150]: + - checkbox "Show Captions" [checked] [ref=e151] + - generic [ref=e152]: Show Captions + - generic [ref=e153]: "Time: 0:00" + - generic [ref=e154]: + - heading "Caption Timeline (English)" [level=4] [ref=e155] + - generic [ref=e156]: + - generic [ref=e157] [cursor=pointer]: + - generic [ref=e158]: + - generic [ref=e159]: 0:00 → 0:05 + - button "Jump" [ref=e160] + - generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e162] [cursor=pointer]: + - generic [ref=e163]: + - generic [ref=e164]: 0:06 → 0:10 + - button "Jump" [ref=e165] + - generic [ref=e166]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e167] [cursor=pointer]: + - generic [ref=e168]: + - generic [ref=e169]: 0:10 → 0:13 + - button "Jump" [ref=e170] + - generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e172] [cursor=pointer]: + - generic [ref=e173]: + - generic [ref=e174]: 0:13 → 0:16 + - button "Jump" [ref=e175] + - generic [ref=e176]: and faster for solar energy projects, + - generic [ref=e177] [cursor=pointer]: + - generic [ref=e178]: + - generic [ref=e179]: 0:16 → 0:18 + - button "Jump" [ref=e180] + - generic [ref=e181]: wind energy projects, + - generic [ref=e182] [cursor=pointer]: + - generic [ref=e183]: + - generic [ref=e184]: 0:18 → 0:21 + - button "Jump" [ref=e185] + - generic [ref=e186]: and battery energy storage systems. + - generic [ref=e187] [cursor=pointer]: + - generic [ref=e188]: + - generic [ref=e189]: 0:21 → 0:25 + - button "Jump" [ref=e190] + - generic [ref=e191]: We can help you solve your electrical installation challenges. + - generic [ref=e192] [cursor=pointer]: + - generic [ref=e193]: + - generic [ref=e194]: 0:25 → 0:28 + - button "Jump" [ref=e195] + - generic [ref=e196]: 3M provides advanced technology solutions + - generic [ref=e197] [cursor=pointer]: + - generic [ref=e198]: + - generic [ref=e199]: 0:28 → 0:32 + - button "Jump" [ref=e200] + - generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e202] [cursor=pointer]: + - generic [ref=e203]: + - generic [ref=e204]: 0:32 → 0:35 + - button "Jump" [ref=e205] + - generic [ref=e206]: Our engineers can help with your projects + - generic [ref=e207] [cursor=pointer]: + - generic [ref=e208]: + - generic [ref=e209]: 0:35 → 0:37 + - button "Jump" [ref=e210] + - generic [ref=e211]: and recommend customized product kits + - generic [ref=e212] [cursor=pointer]: + - generic [ref=e213]: + - generic [ref=e214]: 0:37 → 0:40 + - button "Jump" [ref=e215] + - generic [ref=e216]: so you get exactly what you need for reliable product performance. + - generic [ref=e217] [cursor=pointer]: + - generic [ref=e218]: + - generic [ref=e219]: 0:40 → 0:44 + - button "Jump" [ref=e220] + - generic [ref=e221]: We work closely with you, so you get the support you need. + - generic [ref=e222] [cursor=pointer]: + - generic [ref=e223]: + - generic [ref=e224]: 0:45 → 0:48 + - button "Jump" [ref=e225] + - generic [ref=e226]: Your work, combined with our solutions, + - generic [ref=e227] [cursor=pointer]: + - generic [ref=e228]: + - generic [ref=e229]: 0:50 → 0:52 + - button "Jump" [ref=e230] + - generic [ref=e231]: can help avoid costly downtime + - generic [ref=e232] [cursor=pointer]: + - generic [ref=e233]: + - generic [ref=e234]: 0:52 → 0:55 + - button "Jump" [ref=e235] + - generic [ref=e236]: and keep your renewable systems up and running smoothly. + - generic [ref=e237] [cursor=pointer]: + - generic [ref=e238]: + - generic [ref=e239]: 0:56 → 0:59 + - button "Jump" [ref=e240] + - generic [ref=e241]: Wherever the job takes you, we have your solution. + - generic [ref=e242] [cursor=pointer]: + - generic [ref=e243]: + - generic [ref=e244]: 1:01 → 1:04 + - button "Jump" [ref=e245] + - generic [ref=e246]: 3M. Science. Applied to Life. + - generic [ref=e247]: + - generic [ref=e248]: + - generic [ref=e249]: + - generic [ref=e250]: Closed Captions (EN) + - button "Upload .vtt" [ref=e251] + - generic [ref=e252]: + - heading "Closed Captions (EN)" [level=3] [ref=e255] + - generic [ref=e257]: + - generic [ref=e258]: + - generic [ref=e259]: + - generic [ref=e260]: + - generic [ref=e261]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000 + - generic [ref=e263]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500 + - generic [ref=e265]: (5500ms) + - generic [ref=e266]: + - button "Insert cue before" [ref=e267]: + - img [ref=e268] + - button "Insert cue after" [ref=e270]: + - img [ref=e271] + - button "Delete cue" [ref=e273]: + - img [ref=e274] + - generic [ref=e276]: + - generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: + - generic [ref=e281]: + - generic [ref=e282]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000 + - generic [ref=e284]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000 + - generic [ref=e286]: (4000ms) + - generic [ref=e287]: + - button "Insert cue before" [ref=e288]: + - img [ref=e289] + - button "Insert cue after" [ref=e291]: + - img [ref=e292] + - button "Delete cue" [ref=e294]: + - img [ref=e295] + - generic [ref=e297]: + - generic [ref=e298]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e299] + - generic [ref=e300]: + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000 + - generic [ref=e305]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500 + - generic [ref=e307]: (3500ms) + - generic [ref=e308]: + - button "Insert cue before" [ref=e309]: + - img [ref=e310] + - button "Insert cue after" [ref=e312]: + - img [ref=e313] + - button "Delete cue" [ref=e315]: + - img [ref=e316] + - generic [ref=e318]: + - generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e320] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500 + - generic [ref=e326]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000 + - generic [ref=e328]: (2500ms) + - generic [ref=e329]: + - button "Insert cue before" [ref=e330]: + - img [ref=e331] + - button "Insert cue after" [ref=e333]: + - img [ref=e334] + - button "Delete cue" [ref=e336]: + - img [ref=e337] + - generic [ref=e339]: + - generic [ref=e340]: and faster for solar energy projects, + - button "Edit text" [ref=e341] + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: + - generic [ref=e345]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000 + - generic [ref=e347]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500 + - generic [ref=e349]: (2500ms) + - generic [ref=e350]: + - button "Insert cue before" [ref=e351]: + - img [ref=e352] + - button "Insert cue after" [ref=e354]: + - img [ref=e355] + - button "Delete cue" [ref=e357]: + - img [ref=e358] + - generic [ref=e360]: + - generic [ref=e361]: wind energy projects, + - button "Edit text" [ref=e362] + - generic [ref=e363]: + - generic [ref=e364]: + - generic [ref=e365]: + - generic [ref=e366]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500 + - generic [ref=e368]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500 + - generic [ref=e370]: (3000ms) + - generic [ref=e371]: + - button "Insert cue before" [ref=e372]: + - img [ref=e373] + - button "Insert cue after" [ref=e375]: + - img [ref=e376] + - button "Delete cue" [ref=e378]: + - img [ref=e379] + - generic [ref=e381]: + - generic [ref=e382]: and battery energy storage systems. + - button "Edit text" [ref=e383] + - generic [ref=e384]: + - generic [ref=e385]: + - generic [ref=e386]: + - generic [ref=e387]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500 + - generic [ref=e389]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000 + - generic [ref=e391]: (3500ms) + - generic [ref=e392]: + - button "Insert cue before" [ref=e393]: + - img [ref=e394] + - button "Insert cue after" [ref=e396]: + - img [ref=e397] + - button "Delete cue" [ref=e399]: + - img [ref=e400] + - generic [ref=e402]: + - generic [ref=e403]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e404] + - generic [ref=e405]: + - generic [ref=e406]: + - generic [ref=e407]: + - generic [ref=e408]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000 + - generic [ref=e410]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000 + - generic [ref=e412]: (3000ms) + - generic [ref=e413]: + - button "Insert cue before" [ref=e414]: + - img [ref=e415] + - button "Insert cue after" [ref=e417]: + - img [ref=e418] + - button "Delete cue" [ref=e420]: + - img [ref=e421] + - generic [ref=e423]: + - generic [ref=e424]: 3M provides advanced technology solutions + - button "Edit text" [ref=e425] + - generic [ref=e426]: + - generic [ref=e427]: + - generic [ref=e428]: + - generic [ref=e429]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000 + - generic [ref=e431]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000 + - generic [ref=e433]: (4000ms) + - generic [ref=e434]: + - button "Insert cue before" [ref=e435]: + - img [ref=e436] + - button "Insert cue after" [ref=e438]: + - img [ref=e439] + - button "Delete cue" [ref=e441]: + - img [ref=e442] + - generic [ref=e444]: + - generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e446] + - generic [ref=e447]: + - generic [ref=e448]: + - generic [ref=e449]: + - generic [ref=e450]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000 + - generic [ref=e452]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000 + - generic [ref=e454]: (3000ms) + - generic [ref=e455]: + - button "Insert cue before" [ref=e456]: + - img [ref=e457] + - button "Insert cue after" [ref=e459]: + - img [ref=e460] + - button "Delete cue" [ref=e462]: + - img [ref=e463] + - generic [ref=e465]: + - generic [ref=e466]: Our engineers can help with your projects + - button "Edit text" [ref=e467] + - generic [ref=e468]: + - generic [ref=e469]: + - generic [ref=e470]: + - generic [ref=e471]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000 + - generic [ref=e473]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500 + - generic [ref=e475]: (2500ms) + - generic [ref=e476]: + - button "Insert cue before" [ref=e477]: + - img [ref=e478] + - button "Insert cue after" [ref=e480]: + - img [ref=e481] + - button "Delete cue" [ref=e483]: + - img [ref=e484] + - generic [ref=e486]: + - generic [ref=e487]: and recommend customized product kits + - button "Edit text" [ref=e488] + - generic [ref=e489]: + - generic [ref=e490]: + - generic [ref=e491]: + - generic [ref=e492]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500 + - generic [ref=e494]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500 + - generic [ref=e496]: (3000ms) + - generic [ref=e497]: + - button "Insert cue before" [ref=e498]: + - img [ref=e499] + - button "Insert cue after" [ref=e501]: + - img [ref=e502] + - button "Delete cue" [ref=e504]: + - img [ref=e505] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS + - generic [ref=e509]: + - generic [ref=e510]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e511] + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: + - generic [ref=e515]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500 + - generic [ref=e517]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500 + - generic [ref=e519]: (4000ms) + - generic [ref=e520]: + - button "Insert cue before" [ref=e521]: + - img [ref=e522] + - button "Insert cue after" [ref=e524]: + - img [ref=e525] + - button "Delete cue" [ref=e527]: + - img [ref=e528] + - generic [ref=e530]: + - generic [ref=e531]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e532] + - generic [ref=e533]: + - generic [ref=e534]: + - generic [ref=e535]: + - generic [ref=e536]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000 + - generic [ref=e538]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500 + - generic [ref=e540]: (3500ms) + - generic [ref=e541]: + - button "Insert cue before" [ref=e542]: + - img [ref=e543] + - button "Insert cue after" [ref=e545]: + - img [ref=e546] + - button "Delete cue" [ref=e548]: + - img [ref=e549] + - generic [ref=e551]: + - generic [ref=e552]: Your work, combined with our solutions, + - button "Edit text" [ref=e553] + - generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]: + - generic [ref=e555]: + Add cue here · 1.5s gap + - generic [ref=e556]: + - generic [ref=e557]: + - generic [ref=e558]: + - generic [ref=e559]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000 + - generic [ref=e561]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000 + - generic [ref=e563]: (2000ms) + - generic [ref=e564]: + - button "Insert cue before" [ref=e565]: + - img [ref=e566] + - button "Insert cue after" [ref=e568]: + - img [ref=e569] + - button "Delete cue" [ref=e571]: + - img [ref=e572] + - generic [ref=e574]: + - generic [ref=e575]: can help avoid costly downtime + - button "Edit text" [ref=e576] + - generic [ref=e577]: + - generic [ref=e578]: + - generic [ref=e579]: + - generic [ref=e580]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000 + - generic [ref=e582]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500 + - generic [ref=e584]: (3500ms) + - generic [ref=e585]: + - button "Insert cue before" [ref=e586]: + - img [ref=e587] + - button "Insert cue after" [ref=e589]: + - img [ref=e590] + - button "Delete cue" [ref=e592]: + - img [ref=e593] + - generic [ref=e595]: + - generic [ref=e596]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e597] + - generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]: + - generic [ref=e599]: + Add cue here · 1.0s gap + - generic [ref=e600]: + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500 + - generic [ref=e605]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500 + - generic [ref=e607]: (3000ms) + - generic [ref=e608]: + - button "Insert cue before" [ref=e609]: + - img [ref=e610] + - button "Insert cue after" [ref=e612]: + - img [ref=e613] + - button "Delete cue" [ref=e615]: + - img [ref=e616] + - generic [ref=e618]: + - generic [ref=e619]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e620] + - generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]: + - generic [ref=e622]: + Add cue here · 1.5s gap + - generic [ref=e623]: + - generic [ref=e624]: + - generic [ref=e625]: + - generic [ref=e626]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000 + - generic [ref=e628]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000 + - generic [ref=e630]: (3000ms) + - generic [ref=e631]: + - button "Insert cue before" [ref=e632]: + - img [ref=e633] + - button "Insert cue after" [ref=e635]: + - img [ref=e636] + - button "Delete cue" [ref=e638]: + - img [ref=e639] + - generic [ref=e641]: + - generic [ref=e642]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e643] + - generic [ref=e644]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e646] + - generic [ref=e647]: + - generic [ref=e648]: + - generic [ref=e649]: Audio Description (EN) + - button "Upload .vtt" [ref=e650] + - generic [ref=e651]: + - heading "Audio Description (EN)" [level=3] [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: + - generic [ref=e658]: + - generic [ref=e659]: + - generic [ref=e660]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000 + - generic [ref=e662]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500 + - generic [ref=e664]: (5500ms) + - generic [ref=e665]: + - button "Insert cue before" [ref=e666]: + - img [ref=e667] + - button "Insert cue after" [ref=e669]: + - img [ref=e670] + - button "Delete cue" [ref=e672]: + - img [ref=e673] + - generic [ref=e675]: + - generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e677] + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: + - generic [ref=e681]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000 + - generic [ref=e683]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000 + - generic [ref=e685]: (4000ms) + - generic [ref=e686]: + - button "Insert cue before" [ref=e687]: + - img [ref=e688] + - button "Insert cue after" [ref=e690]: + - img [ref=e691] + - button "Delete cue" [ref=e693]: + - img [ref=e694] + - generic [ref=e696]: + - generic [ref=e697]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e698] + - generic [ref=e699]: + - generic [ref=e700]: + - generic [ref=e701]: + - generic [ref=e702]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000 + - generic [ref=e704]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500 + - generic [ref=e706]: (3500ms) + - generic [ref=e707]: + - button "Insert cue before" [ref=e708]: + - img [ref=e709] + - button "Insert cue after" [ref=e711]: + - img [ref=e712] + - button "Delete cue" [ref=e714]: + - img [ref=e715] + - generic [ref=e717]: + - generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e719] + - generic [ref=e720]: + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500 + - generic [ref=e725]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000 + - generic [ref=e727]: (2500ms) + - generic [ref=e728]: + - button "Insert cue before" [ref=e729]: + - img [ref=e730] + - button "Insert cue after" [ref=e732]: + - img [ref=e733] + - button "Delete cue" [ref=e735]: + - img [ref=e736] + - generic [ref=e738]: + - generic [ref=e739]: Three workers walk past solar panels. + - button "Edit text" [ref=e740] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000 + - generic [ref=e746]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500 + - generic [ref=e748]: (2500ms) + - generic [ref=e749]: + - button "Insert cue before" [ref=e750]: + - img [ref=e751] + - button "Insert cue after" [ref=e753]: + - img [ref=e754] + - button "Delete cue" [ref=e756]: + - img [ref=e757] + - generic [ref=e759]: + - generic [ref=e760]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e761] + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: + - generic [ref=e765]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500 + - generic [ref=e767]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500 + - generic [ref=e769]: (3000ms) + - generic [ref=e770]: + - button "Insert cue before" [ref=e771]: + - img [ref=e772] + - button "Insert cue after" [ref=e774]: + - img [ref=e775] + - button "Delete cue" [ref=e777]: + - img [ref=e778] + - generic [ref=e780]: + - generic [ref=e781]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e782] + - generic [ref=e783]: + - generic [ref=e784]: + - generic [ref=e785]: + - generic [ref=e786]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500 + - generic [ref=e788]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000 + - generic [ref=e790]: (3500ms) + - generic [ref=e791]: + - button "Insert cue before" [ref=e792]: + - img [ref=e793] + - button "Insert cue after" [ref=e795]: + - img [ref=e796] + - button "Delete cue" [ref=e798]: + - img [ref=e799] + - generic [ref=e801]: + - generic [ref=e802]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e803] + - generic [ref=e804]: + - generic [ref=e805]: + - generic [ref=e806]: + - generic [ref=e807]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000 + - generic [ref=e809]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000 + - generic [ref=e811]: (3000ms) + - generic [ref=e812]: + - button "Insert cue before" [ref=e813]: + - img [ref=e814] + - button "Insert cue after" [ref=e816]: + - img [ref=e817] + - button "Delete cue" [ref=e819]: + - img [ref=e820] + - generic [ref=e822]: + - generic [ref=e823]: Workers install cables in a trench. + - button "Edit text" [ref=e824] + - generic [ref=e825]: + - generic [ref=e826]: + - generic [ref=e827]: + - generic [ref=e828]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000 + - generic [ref=e830]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000 + - generic [ref=e832]: (4000ms) + - generic [ref=e833]: + - button "Insert cue before" [ref=e834]: + - img [ref=e835] + - button "Insert cue after" [ref=e837]: + - img [ref=e838] + - button "Delete cue" [ref=e840]: + - img [ref=e841] + - generic [ref=e843]: + - generic [ref=e844]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e845] + - generic [ref=e846]: + - generic [ref=e847]: + - generic [ref=e848]: + - generic [ref=e849]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000 + - generic [ref=e851]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000 + - generic [ref=e853]: (3000ms) + - generic [ref=e854]: + - button "Insert cue before" [ref=e855]: + - img [ref=e856] + - button "Insert cue after" [ref=e858]: + - img [ref=e859] + - button "Delete cue" [ref=e861]: + - img [ref=e862] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS + - generic [ref=e866]: + - generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e868] + - generic [ref=e869]: + - generic [ref=e870]: + - generic [ref=e871]: + - generic [ref=e872]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000 + - generic [ref=e874]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500 + - generic [ref=e876]: (5500ms) + - generic [ref=e877]: + - button "Insert cue before" [ref=e878]: + - img [ref=e879] + - button "Insert cue after" [ref=e881]: + - img [ref=e882] + - button "Delete cue" [ref=e884]: + - img [ref=e885] + - generic [ref=e887]: + - generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e889] + - generic [ref=e890]: + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500 + - generic [ref=e895]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500 + - generic [ref=e897]: (4000ms) + - generic [ref=e898]: + - button "Insert cue before" [ref=e899]: + - img [ref=e900] + - button "Insert cue after" [ref=e902]: + - img [ref=e903] + - button "Delete cue" [ref=e905]: + - img [ref=e906] + - generic [ref=e908]: + - generic [ref=e909]: Two workers examine a cable component. + - button "Edit text" [ref=e910] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500 + - generic [ref=e916]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500 + - generic [ref=e918]: (4000ms) + - generic [ref=e919]: + - button "Insert cue before" [ref=e920]: + - img [ref=e921] + - button "Insert cue after" [ref=e923]: + - img [ref=e924] + - button "Delete cue" [ref=e926]: + - img [ref=e927] + - generic [ref=e929]: + - generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e931] + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: + - generic [ref=e935]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500 + - generic [ref=e937]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500 + - generic [ref=e939]: (3000ms) + - generic [ref=e940]: + - button "Insert cue before" [ref=e941]: + - img [ref=e942] + - button "Insert cue after" [ref=e944]: + - img [ref=e945] + - button "Delete cue" [ref=e947]: + - img [ref=e948] + - generic [ref=e950]: + - generic [ref=e951]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e952] + - generic [ref=e953]: + - generic [ref=e954]: + - generic [ref=e955]: + - generic [ref=e956]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500 + - generic [ref=e958]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500 + - generic [ref=e960]: (4000ms) + - generic [ref=e961]: + - button "Insert cue before" [ref=e962]: + - img [ref=e963] + - button "Insert cue after" [ref=e965]: + - img [ref=e966] + - button "Delete cue" [ref=e968]: + - img [ref=e969] + - generic [ref=e971]: + - generic [ref=e972]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e973] + - generic [ref=e974]: + - generic [ref=e975]: + - generic [ref=e976]: + - generic [ref=e977]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500 + - generic [ref=e979]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000 + - generic [ref=e981]: (4500ms) + - generic [ref=e982]: + - button "Insert cue before" [ref=e983]: + - img [ref=e984] + - button "Insert cue after" [ref=e986]: + - img [ref=e987] + - button "Delete cue" [ref=e989]: + - img [ref=e990] + - generic [ref=e992]: + - generic [ref=e993]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e994] + - generic [ref=e995]: + - generic [ref=e996]: + - generic [ref=e997]: + - generic [ref=e998]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000 + - generic [ref=e1000]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000 + - generic [ref=e1002]: (4000ms) + - generic [ref=e1003]: + - button "Insert cue before" [ref=e1004]: + - img [ref=e1005] + - button "Insert cue after" [ref=e1007]: + - img [ref=e1008] + - button "Delete cue" [ref=e1010]: + - img [ref=e1011] + - generic [ref=e1013]: + - generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1015] + - generic [ref=e1016]: + - generic [ref=e1017]: + - generic [ref=e1018]: + - generic [ref=e1019]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000 + - generic [ref=e1021]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000 + - generic [ref=e1023]: (4000ms) + - generic [ref=e1024]: + - button "Insert cue before" [ref=e1025]: + - img [ref=e1026] + - button "Insert cue after" [ref=e1028]: + - img [ref=e1029] + - button "Delete cue" [ref=e1031]: + - img [ref=e1032] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS + - generic [ref=e1036]: + - generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1038] + - generic [ref=e1039]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1041] + - generic [ref=e1043]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1044] + - button "Adjust Timing" [ref=e1045] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]: + - generic [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: Voice Settings for Audio Description + - generic [ref=e1052]: (Configured) + - generic [ref=e1053]: Click to customize or override TTS voice + - generic [ref=e1054]: + - generic [ref=e1055]: Cost Tracker Project ID + - generic [ref=e1056]: + - textbox "e.g. ford-q3-2026" [ref=e1057] + - button "Save" [ref=e1058] + - paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1061]: + - generic [ref=e1062]: + - img [ref=e1063] + - generic [ref=e1065]: Download Assets + - generic [ref=e1066]: Click to download individual files + - generic [ref=e1067]: + - generic [ref=e1068]: Review Notes + - textbox "Add any notes about this review..." [ref=e1069] + - generic [ref=e1070]: + - button "Approve All Languages" [ref=e1071] + - button "Reject Job" [ref=e1072] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-52-52-772Z.png b/.playwright-mcp/page-2026-05-01T12-52-52-772Z.png new file mode 100644 index 0000000..c22ab18 Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-52-52-772Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-53-14-010Z.yml b/.playwright-mcp/page-2026-05-01T12-53-14-010Z.yml new file mode 100644 index 0000000..bab994d --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-53-14-010Z.yml @@ -0,0 +1,944 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e91]: + - heading "test-video" [level=1] [ref=e92] + - button "Rename" [ref=e93]: + - img [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: QC Feedback + - generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e99]: "Language: EN" + - generic [ref=e100]: "Duration: 68s" + - generic [ref=e88]: + - button "↗ Share link" [ref=e101] + - button "← Back to Queue" [ref=e102] + - generic [ref=e103]: + - generic [ref=e105]: + - generic [ref=e106]: Languages + - generic [ref=e107]: 0/1 approved + - generic [ref=e109]: + - button "⏳ EN (source) Pending ▲" [ref=e1093]: + - generic [ref=e111]: + - generic [ref=e112]: ⏳ + - generic [ref=e113]: EN + - generic [ref=e114]: (source) + - generic [ref=e115]: Pending + - generic [ref=e116]: ▲ + - generic [ref=e117]: + - generic [ref=e118]: + - generic [ref=e119]: + - generic [ref=e120]: Linguist + - generic [ref=e121]: Unassigned + - button "Assign linguist" [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: Reviewer + - generic [ref=e125]: Unassigned + - button "Assign reviewer" [ref=e126] + - generic [ref=e127]: + - button "✓ Approve" [ref=e1095] + - button "✕ Request changes" [ref=e128] + - generic [ref=e130]: + - button "💬 Hide comments" [active] [ref=e1096] + - generic [ref=e1097]: + - paragraph [ref=e1098]: No comments yet. + - generic [ref=e1099]: + - textbox "Add a comment…" [ref=e1100] + - button "Send" [disabled] [ref=e1101] + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: "View Mode:" + - generic [ref=e135]: + - button "Side by Side (1)" [ref=e136] + - button "Video Only (2)" [ref=e137] + - button "Editor Only (3)" [ref=e138] + - generic [ref=e139]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e141]: + - heading "Video Preview" [level=3] [ref=e143] + - generic [ref=e144]: + - generic [ref=e145]: + - generic [ref=e146]: Your browser does not support the video tag. + - generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e149]: + - generic [ref=e150]: + - checkbox "Show Captions" [checked] [ref=e151] + - generic [ref=e152]: Show Captions + - generic [ref=e153]: "Time: 0:00" + - generic [ref=e154]: + - heading "Caption Timeline (English)" [level=4] [ref=e155] + - generic [ref=e156]: + - generic [ref=e157] [cursor=pointer]: + - generic [ref=e158]: + - generic [ref=e159]: 0:00 → 0:05 + - button "Jump" [ref=e160] + - generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - generic [ref=e162] [cursor=pointer]: + - generic [ref=e163]: + - generic [ref=e164]: 0:06 → 0:10 + - button "Jump" [ref=e165] + - generic [ref=e166]: With more than 50 years of experience working in the field on energy projects, + - generic [ref=e167] [cursor=pointer]: + - generic [ref=e168]: + - generic [ref=e169]: 0:10 → 0:13 + - button "Jump" [ref=e170] + - generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier, + - generic [ref=e172] [cursor=pointer]: + - generic [ref=e173]: + - generic [ref=e174]: 0:13 → 0:16 + - button "Jump" [ref=e175] + - generic [ref=e176]: and faster for solar energy projects, + - generic [ref=e177] [cursor=pointer]: + - generic [ref=e178]: + - generic [ref=e179]: 0:16 → 0:18 + - button "Jump" [ref=e180] + - generic [ref=e181]: wind energy projects, + - generic [ref=e182] [cursor=pointer]: + - generic [ref=e183]: + - generic [ref=e184]: 0:18 → 0:21 + - button "Jump" [ref=e185] + - generic [ref=e186]: and battery energy storage systems. + - generic [ref=e187] [cursor=pointer]: + - generic [ref=e188]: + - generic [ref=e189]: 0:21 → 0:25 + - button "Jump" [ref=e190] + - generic [ref=e191]: We can help you solve your electrical installation challenges. + - generic [ref=e192] [cursor=pointer]: + - generic [ref=e193]: + - generic [ref=e194]: 0:25 → 0:28 + - button "Jump" [ref=e195] + - generic [ref=e196]: 3M provides advanced technology solutions + - generic [ref=e197] [cursor=pointer]: + - generic [ref=e198]: + - generic [ref=e199]: 0:28 → 0:32 + - button "Jump" [ref=e200] + - generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables. + - generic [ref=e202] [cursor=pointer]: + - generic [ref=e203]: + - generic [ref=e204]: 0:32 → 0:35 + - button "Jump" [ref=e205] + - generic [ref=e206]: Our engineers can help with your projects + - generic [ref=e207] [cursor=pointer]: + - generic [ref=e208]: + - generic [ref=e209]: 0:35 → 0:37 + - button "Jump" [ref=e210] + - generic [ref=e211]: and recommend customized product kits + - generic [ref=e212] [cursor=pointer]: + - generic [ref=e213]: + - generic [ref=e214]: 0:37 → 0:40 + - button "Jump" [ref=e215] + - generic [ref=e216]: so you get exactly what you need for reliable product performance. + - generic [ref=e217] [cursor=pointer]: + - generic [ref=e218]: + - generic [ref=e219]: 0:40 → 0:44 + - button "Jump" [ref=e220] + - generic [ref=e221]: We work closely with you, so you get the support you need. + - generic [ref=e222] [cursor=pointer]: + - generic [ref=e223]: + - generic [ref=e224]: 0:45 → 0:48 + - button "Jump" [ref=e225] + - generic [ref=e226]: Your work, combined with our solutions, + - generic [ref=e227] [cursor=pointer]: + - generic [ref=e228]: + - generic [ref=e229]: 0:50 → 0:52 + - button "Jump" [ref=e230] + - generic [ref=e231]: can help avoid costly downtime + - generic [ref=e232] [cursor=pointer]: + - generic [ref=e233]: + - generic [ref=e234]: 0:52 → 0:55 + - button "Jump" [ref=e235] + - generic [ref=e236]: and keep your renewable systems up and running smoothly. + - generic [ref=e237] [cursor=pointer]: + - generic [ref=e238]: + - generic [ref=e239]: 0:56 → 0:59 + - button "Jump" [ref=e240] + - generic [ref=e241]: Wherever the job takes you, we have your solution. + - generic [ref=e242] [cursor=pointer]: + - generic [ref=e243]: + - generic [ref=e244]: 1:01 → 1:04 + - button "Jump" [ref=e245] + - generic [ref=e246]: 3M. Science. Applied to Life. + - generic [ref=e247]: + - generic [ref=e248]: + - generic [ref=e249]: + - generic [ref=e250]: Closed Captions (EN) + - button "Upload .vtt" [ref=e251] + - generic [ref=e252]: + - heading "Closed Captions (EN)" [level=3] [ref=e255] + - generic [ref=e257]: + - generic [ref=e258]: + - generic [ref=e259]: + - generic [ref=e260]: + - generic [ref=e261]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000 + - generic [ref=e263]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500 + - generic [ref=e265]: (5500ms) + - generic [ref=e266]: + - button "Insert cue before" [ref=e267]: + - img [ref=e268] + - button "Insert cue after" [ref=e270]: + - img [ref=e271] + - button "Delete cue" [ref=e273]: + - img [ref=e274] + - generic [ref=e276]: + - generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: + - generic [ref=e281]: + - generic [ref=e282]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000 + - generic [ref=e284]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000 + - generic [ref=e286]: (4000ms) + - generic [ref=e287]: + - button "Insert cue before" [ref=e288]: + - img [ref=e289] + - button "Insert cue after" [ref=e291]: + - img [ref=e292] + - button "Delete cue" [ref=e294]: + - img [ref=e295] + - generic [ref=e297]: + - generic [ref=e298]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e299] + - generic [ref=e300]: + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000 + - generic [ref=e305]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500 + - generic [ref=e307]: (3500ms) + - generic [ref=e308]: + - button "Insert cue before" [ref=e309]: + - img [ref=e310] + - button "Insert cue after" [ref=e312]: + - img [ref=e313] + - button "Delete cue" [ref=e315]: + - img [ref=e316] + - generic [ref=e318]: + - generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e320] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500 + - generic [ref=e326]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000 + - generic [ref=e328]: (2500ms) + - generic [ref=e329]: + - button "Insert cue before" [ref=e330]: + - img [ref=e331] + - button "Insert cue after" [ref=e333]: + - img [ref=e334] + - button "Delete cue" [ref=e336]: + - img [ref=e337] + - generic [ref=e339]: + - generic [ref=e340]: and faster for solar energy projects, + - button "Edit text" [ref=e341] + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: + - generic [ref=e345]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000 + - generic [ref=e347]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500 + - generic [ref=e349]: (2500ms) + - generic [ref=e350]: + - button "Insert cue before" [ref=e351]: + - img [ref=e352] + - button "Insert cue after" [ref=e354]: + - img [ref=e355] + - button "Delete cue" [ref=e357]: + - img [ref=e358] + - generic [ref=e360]: + - generic [ref=e361]: wind energy projects, + - button "Edit text" [ref=e362] + - generic [ref=e363]: + - generic [ref=e364]: + - generic [ref=e365]: + - generic [ref=e366]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500 + - generic [ref=e368]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500 + - generic [ref=e370]: (3000ms) + - generic [ref=e371]: + - button "Insert cue before" [ref=e372]: + - img [ref=e373] + - button "Insert cue after" [ref=e375]: + - img [ref=e376] + - button "Delete cue" [ref=e378]: + - img [ref=e379] + - generic [ref=e381]: + - generic [ref=e382]: and battery energy storage systems. + - button "Edit text" [ref=e383] + - generic [ref=e384]: + - generic [ref=e385]: + - generic [ref=e386]: + - generic [ref=e387]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500 + - generic [ref=e389]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000 + - generic [ref=e391]: (3500ms) + - generic [ref=e392]: + - button "Insert cue before" [ref=e393]: + - img [ref=e394] + - button "Insert cue after" [ref=e396]: + - img [ref=e397] + - button "Delete cue" [ref=e399]: + - img [ref=e400] + - generic [ref=e402]: + - generic [ref=e403]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e404] + - generic [ref=e405]: + - generic [ref=e406]: + - generic [ref=e407]: + - generic [ref=e408]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000 + - generic [ref=e410]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000 + - generic [ref=e412]: (3000ms) + - generic [ref=e413]: + - button "Insert cue before" [ref=e414]: + - img [ref=e415] + - button "Insert cue after" [ref=e417]: + - img [ref=e418] + - button "Delete cue" [ref=e420]: + - img [ref=e421] + - generic [ref=e423]: + - generic [ref=e424]: 3M provides advanced technology solutions + - button "Edit text" [ref=e425] + - generic [ref=e426]: + - generic [ref=e427]: + - generic [ref=e428]: + - generic [ref=e429]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000 + - generic [ref=e431]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000 + - generic [ref=e433]: (4000ms) + - generic [ref=e434]: + - button "Insert cue before" [ref=e435]: + - img [ref=e436] + - button "Insert cue after" [ref=e438]: + - img [ref=e439] + - button "Delete cue" [ref=e441]: + - img [ref=e442] + - generic [ref=e444]: + - generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e446] + - generic [ref=e447]: + - generic [ref=e448]: + - generic [ref=e449]: + - generic [ref=e450]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000 + - generic [ref=e452]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000 + - generic [ref=e454]: (3000ms) + - generic [ref=e455]: + - button "Insert cue before" [ref=e456]: + - img [ref=e457] + - button "Insert cue after" [ref=e459]: + - img [ref=e460] + - button "Delete cue" [ref=e462]: + - img [ref=e463] + - generic [ref=e465]: + - generic [ref=e466]: Our engineers can help with your projects + - button "Edit text" [ref=e467] + - generic [ref=e468]: + - generic [ref=e469]: + - generic [ref=e470]: + - generic [ref=e471]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000 + - generic [ref=e473]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500 + - generic [ref=e475]: (2500ms) + - generic [ref=e476]: + - button "Insert cue before" [ref=e477]: + - img [ref=e478] + - button "Insert cue after" [ref=e480]: + - img [ref=e481] + - button "Delete cue" [ref=e483]: + - img [ref=e484] + - generic [ref=e486]: + - generic [ref=e487]: and recommend customized product kits + - button "Edit text" [ref=e488] + - generic [ref=e489]: + - generic [ref=e490]: + - generic [ref=e491]: + - generic [ref=e492]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500 + - generic [ref=e494]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500 + - generic [ref=e496]: (3000ms) + - generic [ref=e497]: + - button "Insert cue before" [ref=e498]: + - img [ref=e499] + - button "Insert cue after" [ref=e501]: + - img [ref=e502] + - button "Delete cue" [ref=e504]: + - img [ref=e505] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS + - generic [ref=e509]: + - generic [ref=e510]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e511] + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: + - generic [ref=e515]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500 + - generic [ref=e517]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500 + - generic [ref=e519]: (4000ms) + - generic [ref=e520]: + - button "Insert cue before" [ref=e521]: + - img [ref=e522] + - button "Insert cue after" [ref=e524]: + - img [ref=e525] + - button "Delete cue" [ref=e527]: + - img [ref=e528] + - generic [ref=e530]: + - generic [ref=e531]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e532] + - generic [ref=e533]: + - generic [ref=e534]: + - generic [ref=e535]: + - generic [ref=e536]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000 + - generic [ref=e538]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500 + - generic [ref=e540]: (3500ms) + - generic [ref=e541]: + - button "Insert cue before" [ref=e542]: + - img [ref=e543] + - button "Insert cue after" [ref=e545]: + - img [ref=e546] + - button "Delete cue" [ref=e548]: + - img [ref=e549] + - generic [ref=e551]: + - generic [ref=e552]: Your work, combined with our solutions, + - button "Edit text" [ref=e553] + - generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]: + - generic [ref=e555]: + Add cue here · 1.5s gap + - generic [ref=e556]: + - generic [ref=e557]: + - generic [ref=e558]: + - generic [ref=e559]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000 + - generic [ref=e561]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000 + - generic [ref=e563]: (2000ms) + - generic [ref=e564]: + - button "Insert cue before" [ref=e565]: + - img [ref=e566] + - button "Insert cue after" [ref=e568]: + - img [ref=e569] + - button "Delete cue" [ref=e571]: + - img [ref=e572] + - generic [ref=e574]: + - generic [ref=e575]: can help avoid costly downtime + - button "Edit text" [ref=e576] + - generic [ref=e577]: + - generic [ref=e578]: + - generic [ref=e579]: + - generic [ref=e580]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000 + - generic [ref=e582]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500 + - generic [ref=e584]: (3500ms) + - generic [ref=e585]: + - button "Insert cue before" [ref=e586]: + - img [ref=e587] + - button "Insert cue after" [ref=e589]: + - img [ref=e590] + - button "Delete cue" [ref=e592]: + - img [ref=e593] + - generic [ref=e595]: + - generic [ref=e596]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e597] + - generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]: + - generic [ref=e599]: + Add cue here · 1.0s gap + - generic [ref=e600]: + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500 + - generic [ref=e605]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500 + - generic [ref=e607]: (3000ms) + - generic [ref=e608]: + - button "Insert cue before" [ref=e609]: + - img [ref=e610] + - button "Insert cue after" [ref=e612]: + - img [ref=e613] + - button "Delete cue" [ref=e615]: + - img [ref=e616] + - generic [ref=e618]: + - generic [ref=e619]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e620] + - generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]: + - generic [ref=e622]: + Add cue here · 1.5s gap + - generic [ref=e623]: + - generic [ref=e624]: + - generic [ref=e625]: + - generic [ref=e626]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000 + - generic [ref=e628]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000 + - generic [ref=e630]: (3000ms) + - generic [ref=e631]: + - button "Insert cue before" [ref=e632]: + - img [ref=e633] + - button "Insert cue after" [ref=e635]: + - img [ref=e636] + - button "Delete cue" [ref=e638]: + - img [ref=e639] + - generic [ref=e641]: + - generic [ref=e642]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e643] + - generic [ref=e644]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e646] + - generic [ref=e647]: + - generic [ref=e648]: + - generic [ref=e649]: Audio Description (EN) + - button "Upload .vtt" [ref=e650] + - generic [ref=e651]: + - heading "Audio Description (EN)" [level=3] [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: + - generic [ref=e658]: + - generic [ref=e659]: + - generic [ref=e660]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000 + - generic [ref=e662]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500 + - generic [ref=e664]: (5500ms) + - generic [ref=e665]: + - button "Insert cue before" [ref=e666]: + - img [ref=e667] + - button "Insert cue after" [ref=e669]: + - img [ref=e670] + - button "Delete cue" [ref=e672]: + - img [ref=e673] + - generic [ref=e675]: + - generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e677] + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: + - generic [ref=e681]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000 + - generic [ref=e683]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000 + - generic [ref=e685]: (4000ms) + - generic [ref=e686]: + - button "Insert cue before" [ref=e687]: + - img [ref=e688] + - button "Insert cue after" [ref=e690]: + - img [ref=e691] + - button "Delete cue" [ref=e693]: + - img [ref=e694] + - generic [ref=e696]: + - generic [ref=e697]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e698] + - generic [ref=e699]: + - generic [ref=e700]: + - generic [ref=e701]: + - generic [ref=e702]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000 + - generic [ref=e704]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500 + - generic [ref=e706]: (3500ms) + - generic [ref=e707]: + - button "Insert cue before" [ref=e708]: + - img [ref=e709] + - button "Insert cue after" [ref=e711]: + - img [ref=e712] + - button "Delete cue" [ref=e714]: + - img [ref=e715] + - generic [ref=e717]: + - generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e719] + - generic [ref=e720]: + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500 + - generic [ref=e725]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000 + - generic [ref=e727]: (2500ms) + - generic [ref=e728]: + - button "Insert cue before" [ref=e729]: + - img [ref=e730] + - button "Insert cue after" [ref=e732]: + - img [ref=e733] + - button "Delete cue" [ref=e735]: + - img [ref=e736] + - generic [ref=e738]: + - generic [ref=e739]: Three workers walk past solar panels. + - button "Edit text" [ref=e740] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000 + - generic [ref=e746]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500 + - generic [ref=e748]: (2500ms) + - generic [ref=e749]: + - button "Insert cue before" [ref=e750]: + - img [ref=e751] + - button "Insert cue after" [ref=e753]: + - img [ref=e754] + - button "Delete cue" [ref=e756]: + - img [ref=e757] + - generic [ref=e759]: + - generic [ref=e760]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e761] + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: + - generic [ref=e765]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500 + - generic [ref=e767]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500 + - generic [ref=e769]: (3000ms) + - generic [ref=e770]: + - button "Insert cue before" [ref=e771]: + - img [ref=e772] + - button "Insert cue after" [ref=e774]: + - img [ref=e775] + - button "Delete cue" [ref=e777]: + - img [ref=e778] + - generic [ref=e780]: + - generic [ref=e781]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e782] + - generic [ref=e783]: + - generic [ref=e784]: + - generic [ref=e785]: + - generic [ref=e786]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500 + - generic [ref=e788]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000 + - generic [ref=e790]: (3500ms) + - generic [ref=e791]: + - button "Insert cue before" [ref=e792]: + - img [ref=e793] + - button "Insert cue after" [ref=e795]: + - img [ref=e796] + - button "Delete cue" [ref=e798]: + - img [ref=e799] + - generic [ref=e801]: + - generic [ref=e802]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e803] + - generic [ref=e804]: + - generic [ref=e805]: + - generic [ref=e806]: + - generic [ref=e807]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000 + - generic [ref=e809]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000 + - generic [ref=e811]: (3000ms) + - generic [ref=e812]: + - button "Insert cue before" [ref=e813]: + - img [ref=e814] + - button "Insert cue after" [ref=e816]: + - img [ref=e817] + - button "Delete cue" [ref=e819]: + - img [ref=e820] + - generic [ref=e822]: + - generic [ref=e823]: Workers install cables in a trench. + - button "Edit text" [ref=e824] + - generic [ref=e825]: + - generic [ref=e826]: + - generic [ref=e827]: + - generic [ref=e828]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000 + - generic [ref=e830]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000 + - generic [ref=e832]: (4000ms) + - generic [ref=e833]: + - button "Insert cue before" [ref=e834]: + - img [ref=e835] + - button "Insert cue after" [ref=e837]: + - img [ref=e838] + - button "Delete cue" [ref=e840]: + - img [ref=e841] + - generic [ref=e843]: + - generic [ref=e844]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e845] + - generic [ref=e846]: + - generic [ref=e847]: + - generic [ref=e848]: + - generic [ref=e849]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000 + - generic [ref=e851]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000 + - generic [ref=e853]: (3000ms) + - generic [ref=e854]: + - button "Insert cue before" [ref=e855]: + - img [ref=e856] + - button "Insert cue after" [ref=e858]: + - img [ref=e859] + - button "Delete cue" [ref=e861]: + - img [ref=e862] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS + - generic [ref=e866]: + - generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e868] + - generic [ref=e869]: + - generic [ref=e870]: + - generic [ref=e871]: + - generic [ref=e872]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000 + - generic [ref=e874]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500 + - generic [ref=e876]: (5500ms) + - generic [ref=e877]: + - button "Insert cue before" [ref=e878]: + - img [ref=e879] + - button "Insert cue after" [ref=e881]: + - img [ref=e882] + - button "Delete cue" [ref=e884]: + - img [ref=e885] + - generic [ref=e887]: + - generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e889] + - generic [ref=e890]: + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500 + - generic [ref=e895]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500 + - generic [ref=e897]: (4000ms) + - generic [ref=e898]: + - button "Insert cue before" [ref=e899]: + - img [ref=e900] + - button "Insert cue after" [ref=e902]: + - img [ref=e903] + - button "Delete cue" [ref=e905]: + - img [ref=e906] + - generic [ref=e908]: + - generic [ref=e909]: Two workers examine a cable component. + - button "Edit text" [ref=e910] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500 + - generic [ref=e916]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500 + - generic [ref=e918]: (4000ms) + - generic [ref=e919]: + - button "Insert cue before" [ref=e920]: + - img [ref=e921] + - button "Insert cue after" [ref=e923]: + - img [ref=e924] + - button "Delete cue" [ref=e926]: + - img [ref=e927] + - generic [ref=e929]: + - generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e931] + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: + - generic [ref=e935]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500 + - generic [ref=e937]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500 + - generic [ref=e939]: (3000ms) + - generic [ref=e940]: + - button "Insert cue before" [ref=e941]: + - img [ref=e942] + - button "Insert cue after" [ref=e944]: + - img [ref=e945] + - button "Delete cue" [ref=e947]: + - img [ref=e948] + - generic [ref=e950]: + - generic [ref=e951]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e952] + - generic [ref=e953]: + - generic [ref=e954]: + - generic [ref=e955]: + - generic [ref=e956]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500 + - generic [ref=e958]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500 + - generic [ref=e960]: (4000ms) + - generic [ref=e961]: + - button "Insert cue before" [ref=e962]: + - img [ref=e963] + - button "Insert cue after" [ref=e965]: + - img [ref=e966] + - button "Delete cue" [ref=e968]: + - img [ref=e969] + - generic [ref=e971]: + - generic [ref=e972]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e973] + - generic [ref=e974]: + - generic [ref=e975]: + - generic [ref=e976]: + - generic [ref=e977]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500 + - generic [ref=e979]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000 + - generic [ref=e981]: (4500ms) + - generic [ref=e982]: + - button "Insert cue before" [ref=e983]: + - img [ref=e984] + - button "Insert cue after" [ref=e986]: + - img [ref=e987] + - button "Delete cue" [ref=e989]: + - img [ref=e990] + - generic [ref=e992]: + - generic [ref=e993]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e994] + - generic [ref=e995]: + - generic [ref=e996]: + - generic [ref=e997]: + - generic [ref=e998]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000 + - generic [ref=e1000]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000 + - generic [ref=e1002]: (4000ms) + - generic [ref=e1003]: + - button "Insert cue before" [ref=e1004]: + - img [ref=e1005] + - button "Insert cue after" [ref=e1007]: + - img [ref=e1008] + - button "Delete cue" [ref=e1010]: + - img [ref=e1011] + - generic [ref=e1013]: + - generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1015] + - generic [ref=e1016]: + - generic [ref=e1017]: + - generic [ref=e1018]: + - generic [ref=e1019]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000 + - generic [ref=e1021]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000 + - generic [ref=e1023]: (4000ms) + - generic [ref=e1024]: + - button "Insert cue before" [ref=e1025]: + - img [ref=e1026] + - button "Insert cue after" [ref=e1028]: + - img [ref=e1029] + - button "Delete cue" [ref=e1031]: + - img [ref=e1032] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS + - generic [ref=e1036]: + - generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1038] + - generic [ref=e1039]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1041] + - generic [ref=e1043]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1044] + - button "Adjust Timing" [ref=e1045] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]: + - generic [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: Voice Settings for Audio Description + - generic [ref=e1052]: (Configured) + - generic [ref=e1053]: Click to customize or override TTS voice + - generic [ref=e1054]: + - generic [ref=e1055]: Cost Tracker Project ID + - generic [ref=e1056]: + - textbox "e.g. ford-q3-2026" [ref=e1057] + - button "Save" [ref=e1058] + - paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1061]: + - generic [ref=e1062]: + - img [ref=e1063] + - generic [ref=e1065]: Download Assets + - generic [ref=e1066]: Click to download individual files + - generic [ref=e1067]: + - generic [ref=e1068]: Review Notes + - textbox "Add any notes about this review..." [ref=e1069] + - generic [ref=e1070]: + - button "Approve All Languages" [ref=e1071] + - button "Reject Job" [ref=e1072] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-53-25-268Z.yml b/.playwright-mcp/page-2026-05-01T12-53-25-268Z.yml new file mode 100644 index 0000000..00c2215 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-53-25-268Z.yml @@ -0,0 +1,840 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e91]: + - heading "test-video" [level=1] [ref=e92] + - button "Rename" [ref=e93]: + - img [ref=e94] + - generic [ref=e96]: + - generic [ref=e97]: QC Feedback + - generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4" + - generic [ref=e99]: "Language: EN" + - generic [ref=e100]: "Duration: 68s" + - generic [ref=e88]: + - button "↗ Share link" [ref=e101] + - button "← Back to Queue" [ref=e102] + - generic [ref=e103]: + - generic [ref=e105]: + - generic [ref=e106]: Languages + - generic [ref=e107]: 0/1 approved + - generic [ref=e109]: + - button "⏳ EN (source) Pending ▲" [ref=e1093]: + - generic [ref=e111]: + - generic [ref=e112]: ⏳ + - generic [ref=e113]: EN + - generic [ref=e114]: (source) + - generic [ref=e115]: Pending + - generic [ref=e116]: ▲ + - generic [ref=e117]: + - generic [ref=e118]: + - generic [ref=e119]: + - generic [ref=e120]: Linguist + - generic [ref=e121]: Unassigned + - button "Assign linguist" [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: Reviewer + - generic [ref=e125]: Unassigned + - button "Assign reviewer" [ref=e126] + - generic [ref=e127]: + - button "✓ Approve" [ref=e1095] + - button "✕ Request changes" [ref=e128] + - generic [ref=e130]: + - button "💬 Hide comments" [ref=e1096] + - generic [ref=e1097]: + - paragraph [ref=e1098]: No comments yet. + - generic [ref=e1099]: + - textbox "Add a comment…" [ref=e1100] + - button "Send" [disabled] [ref=e1101] + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: "View Mode:" + - generic [ref=e135]: + - button "Side by Side (1)" [ref=e136] + - button "Video Only (2)" [ref=e137] + - button "Editor Only (3)" [active] [ref=e138] + - generic [ref=e139]: "Shortcuts: A=Approve, R=Reject" + - generic [ref=e247]: + - generic [ref=e248]: + - generic [ref=e249]: + - generic [ref=e250]: Closed Captions (EN) + - button "Upload .vtt" [ref=e251] + - generic [ref=e252]: + - heading "Closed Captions (EN)" [level=3] [ref=e255] + - generic [ref=e257]: + - generic [ref=e258]: + - generic [ref=e259]: + - generic [ref=e260]: + - generic [ref=e261]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000 + - generic [ref=e263]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500 + - generic [ref=e265]: (5500ms) + - generic [ref=e266]: + - button "Insert cue before" [ref=e267]: + - img [ref=e268] + - button "Insert cue after" [ref=e270]: + - img [ref=e271] + - button "Delete cue" [ref=e273]: + - img [ref=e274] + - generic [ref=e276]: + - generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation." + - button "Edit text" [ref=e278] + - generic [ref=e279]: + - generic [ref=e280]: + - generic [ref=e281]: + - generic [ref=e282]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000 + - generic [ref=e284]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000 + - generic [ref=e286]: (4000ms) + - generic [ref=e287]: + - button "Insert cue before" [ref=e288]: + - img [ref=e289] + - button "Insert cue after" [ref=e291]: + - img [ref=e292] + - button "Delete cue" [ref=e294]: + - img [ref=e295] + - generic [ref=e297]: + - generic [ref=e298]: With more than 50 years of experience working in the field on energy projects, + - button "Edit text" [ref=e299] + - generic [ref=e300]: + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000 + - generic [ref=e305]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500 + - generic [ref=e307]: (3500ms) + - generic [ref=e308]: + - button "Insert cue before" [ref=e309]: + - img [ref=e310] + - button "Insert cue after" [ref=e312]: + - img [ref=e313] + - button "Delete cue" [ref=e315]: + - img [ref=e316] + - generic [ref=e318]: + - generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier, + - button "Edit text" [ref=e320] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500 + - generic [ref=e326]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000 + - generic [ref=e328]: (2500ms) + - generic [ref=e329]: + - button "Insert cue before" [ref=e330]: + - img [ref=e331] + - button "Insert cue after" [ref=e333]: + - img [ref=e334] + - button "Delete cue" [ref=e336]: + - img [ref=e337] + - generic [ref=e339]: + - generic [ref=e340]: and faster for solar energy projects, + - button "Edit text" [ref=e341] + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: + - generic [ref=e345]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000 + - generic [ref=e347]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500 + - generic [ref=e349]: (2500ms) + - generic [ref=e350]: + - button "Insert cue before" [ref=e351]: + - img [ref=e352] + - button "Insert cue after" [ref=e354]: + - img [ref=e355] + - button "Delete cue" [ref=e357]: + - img [ref=e358] + - generic [ref=e360]: + - generic [ref=e361]: wind energy projects, + - button "Edit text" [ref=e362] + - generic [ref=e363]: + - generic [ref=e364]: + - generic [ref=e365]: + - generic [ref=e366]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500 + - generic [ref=e368]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500 + - generic [ref=e370]: (3000ms) + - generic [ref=e371]: + - button "Insert cue before" [ref=e372]: + - img [ref=e373] + - button "Insert cue after" [ref=e375]: + - img [ref=e376] + - button "Delete cue" [ref=e378]: + - img [ref=e379] + - generic [ref=e381]: + - generic [ref=e382]: and battery energy storage systems. + - button "Edit text" [ref=e383] + - generic [ref=e384]: + - generic [ref=e385]: + - generic [ref=e386]: + - generic [ref=e387]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500 + - generic [ref=e389]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000 + - generic [ref=e391]: (3500ms) + - generic [ref=e392]: + - button "Insert cue before" [ref=e393]: + - img [ref=e394] + - button "Insert cue after" [ref=e396]: + - img [ref=e397] + - button "Delete cue" [ref=e399]: + - img [ref=e400] + - generic [ref=e402]: + - generic [ref=e403]: We can help you solve your electrical installation challenges. + - button "Edit text" [ref=e404] + - generic [ref=e405]: + - generic [ref=e406]: + - generic [ref=e407]: + - generic [ref=e408]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000 + - generic [ref=e410]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000 + - generic [ref=e412]: (3000ms) + - generic [ref=e413]: + - button "Insert cue before" [ref=e414]: + - img [ref=e415] + - button "Insert cue after" [ref=e417]: + - img [ref=e418] + - button "Delete cue" [ref=e420]: + - img [ref=e421] + - generic [ref=e423]: + - generic [ref=e424]: 3M provides advanced technology solutions + - button "Edit text" [ref=e425] + - generic [ref=e426]: + - generic [ref=e427]: + - generic [ref=e428]: + - generic [ref=e429]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000 + - generic [ref=e431]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000 + - generic [ref=e433]: (4000ms) + - generic [ref=e434]: + - button "Insert cue before" [ref=e435]: + - img [ref=e436] + - button "Insert cue after" [ref=e438]: + - img [ref=e439] + - button "Delete cue" [ref=e441]: + - img [ref=e442] + - generic [ref=e444]: + - generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables. + - button "Edit text" [ref=e446] + - generic [ref=e447]: + - generic [ref=e448]: + - generic [ref=e449]: + - generic [ref=e450]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000 + - generic [ref=e452]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000 + - generic [ref=e454]: (3000ms) + - generic [ref=e455]: + - button "Insert cue before" [ref=e456]: + - img [ref=e457] + - button "Insert cue after" [ref=e459]: + - img [ref=e460] + - button "Delete cue" [ref=e462]: + - img [ref=e463] + - generic [ref=e465]: + - generic [ref=e466]: Our engineers can help with your projects + - button "Edit text" [ref=e467] + - generic [ref=e468]: + - generic [ref=e469]: + - generic [ref=e470]: + - generic [ref=e471]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000 + - generic [ref=e473]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500 + - generic [ref=e475]: (2500ms) + - generic [ref=e476]: + - button "Insert cue before" [ref=e477]: + - img [ref=e478] + - button "Insert cue after" [ref=e480]: + - img [ref=e481] + - button "Delete cue" [ref=e483]: + - img [ref=e484] + - generic [ref=e486]: + - generic [ref=e487]: and recommend customized product kits + - button "Edit text" [ref=e488] + - generic [ref=e489]: + - generic [ref=e490]: + - generic [ref=e491]: + - generic [ref=e492]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500 + - generic [ref=e494]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500 + - generic [ref=e496]: (3000ms) + - generic [ref=e497]: + - button "Insert cue before" [ref=e498]: + - img [ref=e499] + - button "Insert cue after" [ref=e501]: + - img [ref=e502] + - button "Delete cue" [ref=e504]: + - img [ref=e505] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS + - generic [ref=e509]: + - generic [ref=e510]: so you get exactly what you need for reliable product performance. + - button "Edit text" [ref=e511] + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: + - generic [ref=e515]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500 + - generic [ref=e517]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500 + - generic [ref=e519]: (4000ms) + - generic [ref=e520]: + - button "Insert cue before" [ref=e521]: + - img [ref=e522] + - button "Insert cue after" [ref=e524]: + - img [ref=e525] + - button "Delete cue" [ref=e527]: + - img [ref=e528] + - generic [ref=e530]: + - generic [ref=e531]: We work closely with you, so you get the support you need. + - button "Edit text" [ref=e532] + - generic [ref=e533]: + - generic [ref=e534]: + - generic [ref=e535]: + - generic [ref=e536]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000 + - generic [ref=e538]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500 + - generic [ref=e540]: (3500ms) + - generic [ref=e541]: + - button "Insert cue before" [ref=e542]: + - img [ref=e543] + - button "Insert cue after" [ref=e545]: + - img [ref=e546] + - button "Delete cue" [ref=e548]: + - img [ref=e549] + - generic [ref=e551]: + - generic [ref=e552]: Your work, combined with our solutions, + - button "Edit text" [ref=e553] + - generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]: + - generic [ref=e555]: + Add cue here · 1.5s gap + - generic [ref=e556]: + - generic [ref=e557]: + - generic [ref=e558]: + - generic [ref=e559]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000 + - generic [ref=e561]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000 + - generic [ref=e563]: (2000ms) + - generic [ref=e564]: + - button "Insert cue before" [ref=e565]: + - img [ref=e566] + - button "Insert cue after" [ref=e568]: + - img [ref=e569] + - button "Delete cue" [ref=e571]: + - img [ref=e572] + - generic [ref=e574]: + - generic [ref=e575]: can help avoid costly downtime + - button "Edit text" [ref=e576] + - generic [ref=e577]: + - generic [ref=e578]: + - generic [ref=e579]: + - generic [ref=e580]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000 + - generic [ref=e582]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500 + - generic [ref=e584]: (3500ms) + - generic [ref=e585]: + - button "Insert cue before" [ref=e586]: + - img [ref=e587] + - button "Insert cue after" [ref=e589]: + - img [ref=e590] + - button "Delete cue" [ref=e592]: + - img [ref=e593] + - generic [ref=e595]: + - generic [ref=e596]: and keep your renewable systems up and running smoothly. + - button "Edit text" [ref=e597] + - generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]: + - generic [ref=e599]: + Add cue here · 1.0s gap + - generic [ref=e600]: + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500 + - generic [ref=e605]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500 + - generic [ref=e607]: (3000ms) + - generic [ref=e608]: + - button "Insert cue before" [ref=e609]: + - img [ref=e610] + - button "Insert cue after" [ref=e612]: + - img [ref=e613] + - button "Delete cue" [ref=e615]: + - img [ref=e616] + - generic [ref=e618]: + - generic [ref=e619]: Wherever the job takes you, we have your solution. + - button "Edit text" [ref=e620] + - generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]: + - generic [ref=e622]: + Add cue here · 1.5s gap + - generic [ref=e623]: + - generic [ref=e624]: + - generic [ref=e625]: + - generic [ref=e626]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000 + - generic [ref=e628]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000 + - generic [ref=e630]: (3000ms) + - generic [ref=e631]: + - button "Insert cue before" [ref=e632]: + - img [ref=e633] + - button "Insert cue after" [ref=e635]: + - img [ref=e636] + - button "Delete cue" [ref=e638]: + - img [ref=e639] + - generic [ref=e641]: + - generic [ref=e642]: 3M. Science. Applied to Life. + - button "Edit text" [ref=e643] + - generic [ref=e644]: "18 cues • Total duration: 1:04.000" + - button "↔ Diff vs AI baseline" [ref=e646] + - generic [ref=e647]: + - generic [ref=e648]: + - generic [ref=e649]: Audio Description (EN) + - button "Upload .vtt" [ref=e650] + - generic [ref=e651]: + - heading "Audio Description (EN)" [level=3] [ref=e654] + - generic [ref=e656]: + - generic [ref=e657]: + - generic [ref=e658]: + - generic [ref=e659]: + - generic [ref=e660]: "1" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000 + - generic [ref=e662]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500 + - generic [ref=e664]: (5500ms) + - generic [ref=e665]: + - button "Insert cue before" [ref=e666]: + - img [ref=e667] + - button "Insert cue after" [ref=e669]: + - img [ref=e670] + - button "Delete cue" [ref=e672]: + - img [ref=e673] + - generic [ref=e675]: + - generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e677] + - generic [ref=e678]: + - generic [ref=e679]: + - generic [ref=e680]: + - generic [ref=e681]: "2" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000 + - generic [ref=e683]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000 + - generic [ref=e685]: (4000ms) + - generic [ref=e686]: + - button "Insert cue before" [ref=e687]: + - img [ref=e688] + - button "Insert cue after" [ref=e690]: + - img [ref=e691] + - button "Delete cue" [ref=e693]: + - img [ref=e694] + - generic [ref=e696]: + - generic [ref=e697]: Three workers in hard hats stand near solar panels. + - button "Edit text" [ref=e698] + - generic [ref=e699]: + - generic [ref=e700]: + - generic [ref=e701]: + - generic [ref=e702]: "3" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000 + - generic [ref=e704]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500 + - generic [ref=e706]: (3500ms) + - generic [ref=e707]: + - button "Insert cue before" [ref=e708]: + - img [ref=e709] + - button "Insert cue after" [ref=e711]: + - img [ref=e712] + - button "Delete cue" [ref=e714]: + - img [ref=e715] + - generic [ref=e717]: + - generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve. + - button "Edit text" [ref=e719] + - generic [ref=e720]: + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: "4" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500 + - generic [ref=e725]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000 + - generic [ref=e727]: (2500ms) + - generic [ref=e728]: + - button "Insert cue before" [ref=e729]: + - img [ref=e730] + - button "Insert cue after" [ref=e732]: + - img [ref=e733] + - button "Delete cue" [ref=e735]: + - img [ref=e736] + - generic [ref=e738]: + - generic [ref=e739]: Three workers walk past solar panels. + - button "Edit text" [ref=e740] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: "5" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000 + - generic [ref=e746]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500 + - generic [ref=e748]: (2500ms) + - generic [ref=e749]: + - button "Insert cue before" [ref=e750]: + - img [ref=e751] + - button "Insert cue after" [ref=e753]: + - img [ref=e754] + - button "Delete cue" [ref=e756]: + - img [ref=e757] + - generic [ref=e759]: + - generic [ref=e760]: Wind turbines stand in the ocean at sunset. + - button "Edit text" [ref=e761] + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: + - generic [ref=e765]: "6" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500 + - generic [ref=e767]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500 + - generic [ref=e769]: (3000ms) + - generic [ref=e770]: + - button "Insert cue before" [ref=e771]: + - img [ref=e772] + - button "Insert cue after" [ref=e774]: + - img [ref=e775] + - button "Delete cue" [ref=e777]: + - img [ref=e778] + - generic [ref=e780]: + - generic [ref=e781]: Rows of white battery storage units at an industrial site. + - button "Edit text" [ref=e782] + - generic [ref=e783]: + - generic [ref=e784]: + - generic [ref=e785]: + - generic [ref=e786]: "7" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500 + - generic [ref=e788]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000 + - generic [ref=e790]: (3500ms) + - generic [ref=e791]: + - button "Insert cue before" [ref=e792]: + - img [ref=e793] + - button "Insert cue after" [ref=e795]: + - img [ref=e796] + - button "Delete cue" [ref=e798]: + - img [ref=e799] + - generic [ref=e801]: + - generic [ref=e802]: Two workers look up at the underside of a solar panel. + - button "Edit text" [ref=e803] + - generic [ref=e804]: + - generic [ref=e805]: + - generic [ref=e806]: + - generic [ref=e807]: "8" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000 + - generic [ref=e809]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000 + - generic [ref=e811]: (3000ms) + - generic [ref=e812]: + - button "Insert cue before" [ref=e813]: + - img [ref=e814] + - button "Insert cue after" [ref=e816]: + - img [ref=e817] + - button "Delete cue" [ref=e819]: + - img [ref=e820] + - generic [ref=e822]: + - generic [ref=e823]: Workers install cables in a trench. + - button "Edit text" [ref=e824] + - generic [ref=e825]: + - generic [ref=e826]: + - generic [ref=e827]: + - generic [ref=e828]: "9" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000 + - generic [ref=e830]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000 + - generic [ref=e832]: (4000ms) + - generic [ref=e833]: + - button "Insert cue before" [ref=e834]: + - img [ref=e835] + - button "Insert cue after" [ref=e837]: + - img [ref=e838] + - button "Delete cue" [ref=e840]: + - img [ref=e841] + - generic [ref=e843]: + - generic [ref=e844]: A worker wipes a thick black cable with a cloth. + - button "Edit text" [ref=e845] + - generic [ref=e846]: + - generic [ref=e847]: + - generic [ref=e848]: + - generic [ref=e849]: "10" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000 + - generic [ref=e851]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000 + - generic [ref=e853]: (3000ms) + - generic [ref=e854]: + - button "Insert cue before" [ref=e855]: + - img [ref=e856] + - button "Insert cue after" [ref=e858]: + - img [ref=e859] + - button "Delete cue" [ref=e861]: + - img [ref=e862] + - generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS + - generic [ref=e866]: + - generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M." + - button "Edit text" [ref=e868] + - generic [ref=e869]: + - generic [ref=e870]: + - generic [ref=e871]: + - generic [ref=e872]: "11" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000 + - generic [ref=e874]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500 + - generic [ref=e876]: (5500ms) + - generic [ref=e877]: + - button "Insert cue before" [ref=e878]: + - img [ref=e879] + - button "Insert cue after" [ref=e881]: + - img [ref=e882] + - button "Delete cue" [ref=e884]: + - img [ref=e885] + - generic [ref=e887]: + - generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams. + - button "Edit text" [ref=e889] + - generic [ref=e890]: + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: "12" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500 + - generic [ref=e895]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500 + - generic [ref=e897]: (4000ms) + - generic [ref=e898]: + - button "Insert cue before" [ref=e899]: + - img [ref=e900] + - button "Insert cue after" [ref=e902]: + - img [ref=e903] + - button "Delete cue" [ref=e905]: + - img [ref=e906] + - generic [ref=e908]: + - generic [ref=e909]: Two workers examine a cable component. + - button "Edit text" [ref=e910] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: "13" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500 + - generic [ref=e916]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500 + - generic [ref=e918]: (4000ms) + - generic [ref=e919]: + - button "Insert cue before" [ref=e920]: + - img [ref=e921] + - button "Insert cue after" [ref=e923]: + - img [ref=e924] + - button "Delete cue" [ref=e926]: + - img [ref=e927] + - generic [ref=e929]: + - generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable. + - button "Edit text" [ref=e931] + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: + - generic [ref=e935]: "14" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500 + - generic [ref=e937]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500 + - generic [ref=e939]: (3000ms) + - generic [ref=e940]: + - button "Insert cue before" [ref=e941]: + - img [ref=e942] + - button "Insert cue after" [ref=e944]: + - img [ref=e945] + - button "Delete cue" [ref=e947]: + - img [ref=e948] + - generic [ref=e950]: + - generic [ref=e951]: A worker inserts a black plug into a yellow socket. + - button "Edit text" [ref=e952] + - generic [ref=e953]: + - generic [ref=e954]: + - generic [ref=e955]: + - generic [ref=e956]: "15" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500 + - generic [ref=e958]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500 + - generic [ref=e960]: (4000ms) + - generic [ref=e961]: + - button "Insert cue before" [ref=e962]: + - img [ref=e963] + - button "Insert cue after" [ref=e965]: + - img [ref=e966] + - button "Delete cue" [ref=e968]: + - img [ref=e969] + - generic [ref=e971]: + - generic [ref=e972]: Two workers use a power tool on a cable connection. + - button "Edit text" [ref=e973] + - generic [ref=e974]: + - generic [ref=e975]: + - generic [ref=e976]: + - generic [ref=e977]: "16" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500 + - generic [ref=e979]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000 + - generic [ref=e981]: (4500ms) + - generic [ref=e982]: + - button "Insert cue before" [ref=e983]: + - img [ref=e984] + - button "Insert cue after" [ref=e986]: + - img [ref=e987] + - button "Delete cue" [ref=e989]: + - img [ref=e990] + - generic [ref=e992]: + - generic [ref=e993]: The spoken words appear as text on a black background. + - button "Edit text" [ref=e994] + - generic [ref=e995]: + - generic [ref=e996]: + - generic [ref=e997]: + - generic [ref=e998]: "17" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000 + - generic [ref=e1000]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000 + - generic [ref=e1002]: (4000ms) + - generic [ref=e1003]: + - button "Insert cue before" [ref=e1004]: + - img [ref=e1005] + - button "Insert cue after" [ref=e1007]: + - img [ref=e1008] + - button "Delete cue" [ref=e1010]: + - img [ref=e1011] + - generic [ref=e1013]: + - generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life." + - button "Edit text" [ref=e1015] + - generic [ref=e1016]: + - generic [ref=e1017]: + - generic [ref=e1018]: + - generic [ref=e1019]: "18" + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000 + - generic [ref=e1021]: → + - 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000 + - generic [ref=e1023]: (4000ms) + - generic [ref=e1024]: + - button "Insert cue before" [ref=e1025]: + - img [ref=e1026] + - button "Insert cue after" [ref=e1028]: + - img [ref=e1029] + - button "Delete cue" [ref=e1031]: + - img [ref=e1032] + - generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS + - generic [ref=e1036]: + - generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company." + - button "Edit text" [ref=e1038] + - generic [ref=e1039]: "18 cues • Total duration: 1:08.000" + - button "↔ Diff vs AI baseline" [ref=e1041] + - generic [ref=e1043]: + - heading "VTT Timing Adjustment" [level=3] [ref=e1044] + - button "Adjust Timing" [ref=e1045] + - button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]: + - generic [ref=e1048]: + - img [ref=e1049] + - generic [ref=e1051]: Voice Settings for Audio Description + - generic [ref=e1052]: (Configured) + - generic [ref=e1053]: Click to customize or override TTS voice + - generic [ref=e1054]: + - generic [ref=e1055]: Cost Tracker Project ID + - generic [ref=e1056]: + - textbox "e.g. ford-q3-2026" [ref=e1057] + - button "Save" [ref=e1058] + - paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard. + - button "Download Assets Click to download individual files" [ref=e1061]: + - generic [ref=e1062]: + - img [ref=e1063] + - generic [ref=e1065]: Download Assets + - generic [ref=e1066]: Click to download individual files + - generic [ref=e1067]: + - generic [ref=e1068]: Review Notes + - textbox "Add any notes about this review..." [ref=e1069] + - generic [ref=e1070]: + - button "Approve All Languages" [ref=e1071] + - button "Reject Job" [ref=e1072] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-54-03-531Z.yml b/.playwright-mcp/page-2026-05-01T12-54-03-531Z.yml new file mode 100644 index 0000000..98c2e57 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-54-03-531Z.yml @@ -0,0 +1,99 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "⚙️ Settings" [ref=e51] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/members + - generic [ref=e52]: ⚙️ + - generic [ref=e53]: Settings + - link "📖 Help" [ref=e55] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e56]: 📖 + - generic [ref=e57]: Help + - generic [ref=e59]: + - generic [ref=e61]: T + - generic [ref=e62]: + - paragraph [ref=e63]: Test Admin + - paragraph [ref=e64]: admin + - generic [ref=e65]: + - navigation [ref=e66]: + - generic [ref=e67]: + - heading "Dashboard" [level=2] [ref=e69] + - generic [ref=e70]: + - button [ref=e72]: + - img [ref=e73] + - link "New Upload" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e76] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e79]: + - generic [ref=e81]: T + - generic [ref=e82]: + - paragraph [ref=e83]: test-admin@oliver.agency + - paragraph [ref=e84]: admin + - img [ref=e85] + - main [ref=e87]: + - generic [ref=e88]: + - heading "Organization Settings" [level=1] [ref=e89] + - generic [ref=e90]: + - link "Members" [ref=e91] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/members + - link "Teams" [ref=e92] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/teams + - link "Invitations" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/invitations + - link "General" [ref=e94] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/general + - generic [ref=e95]: Loading… \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-54-05-252Z.png b/.playwright-mcp/page-2026-05-01T12-54-05-252Z.png new file mode 100644 index 0000000..9b8720a Binary files /dev/null and b/.playwright-mcp/page-2026-05-01T12-54-05-252Z.png differ diff --git a/.playwright-mcp/page-2026-05-01T12-54-12-348Z.yml b/.playwright-mcp/page-2026-05-01T12-54-12-348Z.yml new file mode 100644 index 0000000..a7104f8 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-54-12-348Z.yml @@ -0,0 +1,99 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "⚙️ Settings" [ref=e51] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/members + - generic [ref=e52]: ⚙️ + - generic [ref=e53]: Settings + - link "📖 Help" [ref=e55] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e56]: 📖 + - generic [ref=e57]: Help + - generic [ref=e59]: + - generic [ref=e61]: T + - generic [ref=e62]: + - paragraph [ref=e63]: Test Admin + - paragraph [ref=e64]: admin + - generic [ref=e65]: + - navigation [ref=e66]: + - generic [ref=e67]: + - heading "Dashboard" [level=2] [ref=e69] + - generic [ref=e70]: + - button [ref=e72]: + - img [ref=e73] + - link "New Upload" [ref=e75] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e76] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e79]: + - generic [ref=e81]: T + - generic [ref=e82]: + - paragraph [ref=e83]: test-admin@oliver.agency + - paragraph [ref=e84]: admin + - img [ref=e85] + - main [ref=e87]: + - generic [ref=e88]: + - heading "Organization Settings" [level=1] [ref=e89] + - generic [ref=e90]: + - link "Members" [ref=e91] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/members + - link "Teams" [ref=e92] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/teams + - link "Invitations" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/invitations + - link "General" [ref=e94] [cursor=pointer]: + - /url: /video-accessibility/org/3m-test/settings/general + - generic [ref=e95]: Failed to load members. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-54-36-336Z.yml b/.playwright-mcp/page-2026-05-01T12-54-36-336Z.yml new file mode 100644 index 0000000..d92714a --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-54-36-336Z.yml @@ -0,0 +1,142 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e87]: + - generic [ref=e88]: + - heading "Welcome back, test-admin! 👋" [level=1] [ref=e89] + - paragraph [ref=e90]: Here's what's happening with your video accessibility projects + - generic [ref=e92]: + - paragraph [ref=e93]: Today + - paragraph [ref=e94]: Friday, May 1 + - generic [ref=e95]: + - link "📋 Total Jobs 0 View all →" [ref=e96] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e98]: + - generic [ref=e99]: + - generic [ref=e101]: 📋 + - heading "Total Jobs" [level=3] [ref=e102] + - paragraph [ref=e103]: "0" + - paragraph [ref=e104]: View all → + - link "⚙️ Processing 0 View processing →" [ref=e105] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc + - generic [ref=e107]: + - generic [ref=e108]: + - generic [ref=e110]: ⚙️ + - heading "Processing" [level=3] [ref=e111] + - paragraph [ref=e112]: "0" + - paragraph [ref=e113]: View processing → + - link "🔍 In QC Review 0 Review now →" [ref=e114] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e116]: + - generic [ref=e117]: + - generic [ref=e119]: 🔍 + - heading "In QC Review" [level=3] [ref=e120] + - paragraph [ref=e121]: "0" + - paragraph [ref=e122]: Review now → + - link "✅ Completed 0 View completed →" [ref=e123] [cursor=pointer]: + - /url: /video-accessibility/jobs?status=completed + - generic [ref=e125]: + - generic [ref=e126]: + - generic [ref=e128]: ✅ + - heading "Completed" [level=3] [ref=e129] + - paragraph [ref=e130]: "0" + - paragraph [ref=e131]: View completed → + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: + - generic [ref=e136]: 🔍 + - heading "Quality Control" [level=2] [ref=e137] + - paragraph [ref=e138]: 0 jobs awaiting review + - paragraph [ref=e139]: Review AI-generated content for accuracy and compliance with accessibility standards. + - link "Start Reviewing →" [ref=e140] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e141]: + - generic [ref=e142]: + - generic [ref=e144]: ✅ + - heading "Final Approval" [level=2] [ref=e145] + - paragraph [ref=e146]: Jobs ready for delivery + - paragraph [ref=e147]: Complete the final review process and approve jobs for client delivery. + - link "Review Finals →" [ref=e148] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - heading "Recent Activity" [level=2] [ref=e151] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-55-15-601Z.yml b/.playwright-mcp/page-2026-05-01T12-55-15-601Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-55-15-601Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-55-21-644Z.yml b/.playwright-mcp/page-2026-05-01T12-55-21-644Z.yml new file mode 100644 index 0000000..0d1e036 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-55-21-644Z.yml @@ -0,0 +1,132 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e91]: + - generic [ref=e92]: + - paragraph [ref=e93]: + - text: ← + - link "Clients" [ref=e94] [cursor=pointer]: + - /url: /admin/clients + - heading "3M-Test" [level=1] [ref=e95] + - paragraph [ref=e96]: 3m-test + - generic [ref=e97]: + - heading "Project Managers" [level=2] [ref=e98] + - paragraph [ref=e100]: No PMs assigned + - generic [ref=e101]: + - combobox [ref=e102]: + - option "Select user to assign as PM…" [selected] + - option "Test Project Manager (test-pm@oliver.agency)" + - option "Test Production (test-production@oliver.agency)" + - option "Test Reviewer (test-reviewer@oliver.agency)" + - option "Test Linguist (test-linguist@oliver.agency)" + - option "Test Client (test-client@oliver.agency)" + - option "Test Admin (test-admin@oliver.agency)" + - option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)" + - button "Assign" [disabled] [ref=e103] + - generic [ref=e104]: + - heading "Teams" [level=2] [ref=e105] + - paragraph [ref=e107]: No teams yet + - generic [ref=e108]: + - textbox "New team name…" [ref=e109] + - button "+ Team" [disabled] [ref=e110] + - generic [ref=e111]: + - heading "Projects" [level=2] [ref=e112] + - generic [ref=e114]: + - generic [ref=e116]: Test_Vadym + - generic [ref=e117]: + - button "Rename" [ref=e118] + - button "Archive" [ref=e119] + - generic [ref=e120]: + - textbox "New project name…" [ref=e121] + - button "+ Project" [disabled] [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: + - heading "Glossaries" [level=2] [ref=e125] + - link "View all →" [ref=e126] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries + - generic [ref=e128]: + - link "3M Terms" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e130]: active + - link "+ Upload glossary" [ref=e132] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-55-28-651Z.yml b/.playwright-mcp/page-2026-05-01T12-55-28-651Z.yml new file mode 100644 index 0000000..0d1e036 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-55-28-651Z.yml @@ -0,0 +1,132 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e91]: + - generic [ref=e92]: + - paragraph [ref=e93]: + - text: ← + - link "Clients" [ref=e94] [cursor=pointer]: + - /url: /admin/clients + - heading "3M-Test" [level=1] [ref=e95] + - paragraph [ref=e96]: 3m-test + - generic [ref=e97]: + - heading "Project Managers" [level=2] [ref=e98] + - paragraph [ref=e100]: No PMs assigned + - generic [ref=e101]: + - combobox [ref=e102]: + - option "Select user to assign as PM…" [selected] + - option "Test Project Manager (test-pm@oliver.agency)" + - option "Test Production (test-production@oliver.agency)" + - option "Test Reviewer (test-reviewer@oliver.agency)" + - option "Test Linguist (test-linguist@oliver.agency)" + - option "Test Client (test-client@oliver.agency)" + - option "Test Admin (test-admin@oliver.agency)" + - option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)" + - button "Assign" [disabled] [ref=e103] + - generic [ref=e104]: + - heading "Teams" [level=2] [ref=e105] + - paragraph [ref=e107]: No teams yet + - generic [ref=e108]: + - textbox "New team name…" [ref=e109] + - button "+ Team" [disabled] [ref=e110] + - generic [ref=e111]: + - heading "Projects" [level=2] [ref=e112] + - generic [ref=e114]: + - generic [ref=e116]: Test_Vadym + - generic [ref=e117]: + - button "Rename" [ref=e118] + - button "Archive" [ref=e119] + - generic [ref=e120]: + - textbox "New project name…" [ref=e121] + - button "+ Project" [disabled] [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: + - heading "Glossaries" [level=2] [ref=e125] + - link "View all →" [ref=e126] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries + - generic [ref=e128]: + - link "3M Terms" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e130]: active + - link "+ Upload glossary" [ref=e132] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-55-33-242Z.yml b/.playwright-mcp/page-2026-05-01T12-55-33-242Z.yml new file mode 100644 index 0000000..0d1e036 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-55-33-242Z.yml @@ -0,0 +1,132 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e91]: + - generic [ref=e92]: + - paragraph [ref=e93]: + - text: ← + - link "Clients" [ref=e94] [cursor=pointer]: + - /url: /admin/clients + - heading "3M-Test" [level=1] [ref=e95] + - paragraph [ref=e96]: 3m-test + - generic [ref=e97]: + - heading "Project Managers" [level=2] [ref=e98] + - paragraph [ref=e100]: No PMs assigned + - generic [ref=e101]: + - combobox [ref=e102]: + - option "Select user to assign as PM…" [selected] + - option "Test Project Manager (test-pm@oliver.agency)" + - option "Test Production (test-production@oliver.agency)" + - option "Test Reviewer (test-reviewer@oliver.agency)" + - option "Test Linguist (test-linguist@oliver.agency)" + - option "Test Client (test-client@oliver.agency)" + - option "Test Admin (test-admin@oliver.agency)" + - option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)" + - button "Assign" [disabled] [ref=e103] + - generic [ref=e104]: + - heading "Teams" [level=2] [ref=e105] + - paragraph [ref=e107]: No teams yet + - generic [ref=e108]: + - textbox "New team name…" [ref=e109] + - button "+ Team" [disabled] [ref=e110] + - generic [ref=e111]: + - heading "Projects" [level=2] [ref=e112] + - generic [ref=e114]: + - generic [ref=e116]: Test_Vadym + - generic [ref=e117]: + - button "Rename" [ref=e118] + - button "Archive" [ref=e119] + - generic [ref=e120]: + - textbox "New project name…" [ref=e121] + - button "+ Project" [disabled] [ref=e122] + - generic [ref=e123]: + - generic [ref=e124]: + - heading "Glossaries" [level=2] [ref=e125] + - link "View all →" [ref=e126] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries + - generic [ref=e128]: + - link "3M Terms" [ref=e129] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e130]: active + - link "+ Upload glossary" [ref=e132] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-55-44-762Z.yml b/.playwright-mcp/page-2026-05-01T12-55-44-762Z.yml new file mode 100644 index 0000000..6affe18 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-55-44-762Z.yml @@ -0,0 +1,103 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e133]: + - generic [ref=e134]: + - generic [ref=e135]: + - paragraph [ref=e136]: + - text: ← + - link "Client" [ref=e137] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534 + - heading "Glossaries" [level=1] [ref=e138] + - link "+ Upload glossary" [ref=e139] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload + - generic [ref=e141]: + - generic [ref=e142]: + - generic [ref=e143]: + - link "3M Terms" [ref=e144] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e145]: active + - paragraph [ref=e146]: "Source: en-GB · Created 4/30/2026" + - generic [ref=e147]: + - generic [ref=e148]: Pending embed + - button "Archive" [ref=e149] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-55-49-734Z.yml b/.playwright-mcp/page-2026-05-01T12-55-49-734Z.yml new file mode 100644 index 0000000..6affe18 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-55-49-734Z.yml @@ -0,0 +1,103 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e133]: + - generic [ref=e134]: + - generic [ref=e135]: + - paragraph [ref=e136]: + - text: ← + - link "Client" [ref=e137] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534 + - heading "Glossaries" [level=1] [ref=e138] + - link "+ Upload glossary" [ref=e139] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload + - generic [ref=e141]: + - generic [ref=e142]: + - generic [ref=e143]: + - link "3M Terms" [ref=e144] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e145]: active + - paragraph [ref=e146]: "Source: en-GB · Created 4/30/2026" + - generic [ref=e147]: + - generic [ref=e148]: Pending embed + - button "Archive" [ref=e149] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-57-00-898Z.yml b/.playwright-mcp/page-2026-05-01T12-57-00-898Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-57-00-898Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-57-09-158Z.yml b/.playwright-mcp/page-2026-05-01T12-57-09-158Z.yml new file mode 100644 index 0000000..e69de29 diff --git a/.playwright-mcp/page-2026-05-01T12-57-18-769Z.yml b/.playwright-mcp/page-2026-05-01T12-57-18-769Z.yml new file mode 100644 index 0000000..e69de29 diff --git a/.playwright-mcp/page-2026-05-01T12-57-28-232Z.yml b/.playwright-mcp/page-2026-05-01T12-57-28-232Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-57-28-232Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-57-32-486Z.yml b/.playwright-mcp/page-2026-05-01T12-57-32-486Z.yml new file mode 100644 index 0000000..b0b5dd7 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-57-32-486Z.yml @@ -0,0 +1,152 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e87]: + - generic [ref=e93]: + - generic [ref=e94]: + - heading "Test5" [level=1] [ref=e95] + - button "Rename" [ref=e96]: + - img [ref=e97] + - paragraph [ref=e99]: source.mp4 • Created about 18 hours ago + - generic [ref=e100]: + - generic [ref=e101]: Completed + - generic "Connected - receiving real-time updates" [ref=e102] + - generic [ref=e103]: + - generic [ref=e104]: + - navigation [ref=e106]: + - button "📋Overview" [ref=e107] + - button "🎥Video Preview" [disabled] [ref=e108] + - button "📁Assets" [ref=e109] + - button "📜History" [ref=e110] + - button "🕒VTT Versions" [ref=e111] + - generic [ref=e112]: + - generic [ref=e113]: + - heading "Job Information" [level=2] [ref=e114] + - generic [ref=e115]: + - generic [ref=e116]: + - term [ref=e117]: Original File + - definition [ref=e118]: source.mp4 + - generic [ref=e119]: + - term [ref=e120]: Source Language + - definition [ref=e121]: EN + - generic [ref=e122]: + - term [ref=e123]: Requested Languages + - definition [ref=e124]: de-DE, fr-CA + - generic [ref=e125]: + - term [ref=e126]: Outputs + - definition [ref=e127]: + - generic [ref=e128]: + - generic [ref=e129]: ✓ Captions (VTT) + - generic [ref=e130]: ✓ Audio Descriptions (VTT) + - generic [ref=e131]: ✓ Audio Descriptions (MP3) + - generic [ref=e132]: + - heading "Review Notes" [level=2] [ref=e133] + - paragraph [ref=e134]: No review notes yet + - generic [ref=e136]: + - generic [ref=e137]: + - heading "Ready for Download" [level=3] [ref=e138] + - paragraph [ref=e139]: Your accessible video assets are ready. Click below to access your files. + - link "Download Files" [ref=e140] [cursor=pointer]: + - /url: /video-accessibility/downloads/69f3b6d2cde5f3709e55301e + - img [ref=e141] + - text: Download Files + - generic [ref=e144]: + - generic [ref=e145]: + - heading "Return to QC" [level=3] [ref=e146] + - paragraph [ref=e147]: Move this job back to QC review for further editing. + - button "Return to QC" [ref=e148]: + - img [ref=e149] + - text: Return to QC + - generic [ref=e152]: + - heading "Processing Progress" [level=3] [ref=e153] + - generic [ref=e154]: + - generic [ref=e157]: Created + - generic [ref=e160]: Ingesting + - generic [ref=e163]: Ai Processing + - generic [ref=e166]: Translating + - generic [ref=e169]: Tts Generating + - generic [ref=e172]: Rendering Video + - generic [ref=e175]: Pending Qc + - generic [ref=e178]: Pending Final Review + - generic [ref=e181]: Completed \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-57-56-196Z.yml b/.playwright-mcp/page-2026-05-01T12-57-56-196Z.yml new file mode 100644 index 0000000..2db935b --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-57-56-196Z.yml @@ -0,0 +1,135 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e86]: + - generic [ref=e87]: + - generic [ref=e88]: + - heading "All Jobs" [level=1] [ref=e89] + - generic "Connecting..." [ref=e90] + - paragraph [ref=e91]: System-wide job management + - link "New Job" [ref=e92] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e93] + - text: New Job + - generic [ref=e95]: + - button "Pending Final Review" [ref=e96] + - button "In QC" [ref=e97] + - button "TTS Failed" [ref=e98] + - button "Render Failed" [ref=e99] + - generic [ref=e101]: + - generic [ref=e102]: + - generic [ref=e103]: Search + - textbox "Search" [ref=e104]: + - /placeholder: Search by job name, user, or filename... + - generic [ref=e105]: + - generic [ref=e106]: Created By + - combobox "Created By" [ref=e107]: + - option "All Users" [selected] + - generic [ref=e108]: + - generic [ref=e109]: Status + - combobox "Status" [ref=e110]: + - option "All Statuses" [selected] + - option "Created" + - option "Ingesting" + - option "AI Processing" + - option "Pending QC" + - option "Approved (EN)" + - option "Approved for Translation" + - option "Rejected" + - option "QC Feedback" + - option "Translating" + - option "Generating Audio" + - option "TTS Failed" + - option "Rendering Video" + - option "Render Failed" + - option "Pending Final Review" + - option "Completed" + - generic [ref=e111]: + - generic [ref=e112]: Date Created + - combobox "Date Created" [ref=e113]: + - option "All Time" [selected] + - option "Last 7 Days" + - option "Last 30 Days" + - button "Clear Filters" [disabled] [ref=e115] + - paragraph [ref=e117]: No jobs found \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-59-11-623Z.yml b/.playwright-mcp/page-2026-05-01T12-59-11-623Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-59-11-623Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-59-15-357Z.yml b/.playwright-mcp/page-2026-05-01T12-59-15-357Z.yml new file mode 100644 index 0000000..b0b5dd7 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-59-15-357Z.yml @@ -0,0 +1,152 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e87]: + - generic [ref=e93]: + - generic [ref=e94]: + - heading "Test5" [level=1] [ref=e95] + - button "Rename" [ref=e96]: + - img [ref=e97] + - paragraph [ref=e99]: source.mp4 • Created about 18 hours ago + - generic [ref=e100]: + - generic [ref=e101]: Completed + - generic "Connected - receiving real-time updates" [ref=e102] + - generic [ref=e103]: + - generic [ref=e104]: + - navigation [ref=e106]: + - button "📋Overview" [ref=e107] + - button "🎥Video Preview" [disabled] [ref=e108] + - button "📁Assets" [ref=e109] + - button "📜History" [ref=e110] + - button "🕒VTT Versions" [ref=e111] + - generic [ref=e112]: + - generic [ref=e113]: + - heading "Job Information" [level=2] [ref=e114] + - generic [ref=e115]: + - generic [ref=e116]: + - term [ref=e117]: Original File + - definition [ref=e118]: source.mp4 + - generic [ref=e119]: + - term [ref=e120]: Source Language + - definition [ref=e121]: EN + - generic [ref=e122]: + - term [ref=e123]: Requested Languages + - definition [ref=e124]: de-DE, fr-CA + - generic [ref=e125]: + - term [ref=e126]: Outputs + - definition [ref=e127]: + - generic [ref=e128]: + - generic [ref=e129]: ✓ Captions (VTT) + - generic [ref=e130]: ✓ Audio Descriptions (VTT) + - generic [ref=e131]: ✓ Audio Descriptions (MP3) + - generic [ref=e132]: + - heading "Review Notes" [level=2] [ref=e133] + - paragraph [ref=e134]: No review notes yet + - generic [ref=e136]: + - generic [ref=e137]: + - heading "Ready for Download" [level=3] [ref=e138] + - paragraph [ref=e139]: Your accessible video assets are ready. Click below to access your files. + - link "Download Files" [ref=e140] [cursor=pointer]: + - /url: /video-accessibility/downloads/69f3b6d2cde5f3709e55301e + - img [ref=e141] + - text: Download Files + - generic [ref=e144]: + - generic [ref=e145]: + - heading "Return to QC" [level=3] [ref=e146] + - paragraph [ref=e147]: Move this job back to QC review for further editing. + - button "Return to QC" [ref=e148]: + - img [ref=e149] + - text: Return to QC + - generic [ref=e152]: + - heading "Processing Progress" [level=3] [ref=e153] + - generic [ref=e154]: + - generic [ref=e157]: Created + - generic [ref=e160]: Ingesting + - generic [ref=e163]: Ai Processing + - generic [ref=e166]: Translating + - generic [ref=e169]: Tts Generating + - generic [ref=e172]: Rendering Video + - generic [ref=e175]: Pending Qc + - generic [ref=e178]: Pending Final Review + - generic [ref=e181]: Completed \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-59-37-361Z.yml b/.playwright-mcp/page-2026-05-01T12-59-37-361Z.yml new file mode 100644 index 0000000..c6ff408 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-59-37-361Z.yml @@ -0,0 +1,138 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - heading "Create New Job" [level=1] [ref=e86] + - generic [ref=e87]: + - generic [ref=e88]: + - generic [ref=e89]: Video File + - generic [ref=e91] [cursor=pointer]: + - button "Choose File" [ref=e92] + - generic [ref=e93]: + - img [ref=e95] + - generic [ref=e97]: + - paragraph [ref=e98]: Drag and drop video files here, or click to select + - paragraph [ref=e99]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e100]: + - generic [ref=e101]: Requested Outputs + - generic [ref=e102]: + - generic [ref=e103]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e104] + - generic [ref=e105]: Closed Captions (VTT) + - generic [ref=e106]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e107] + - generic [ref=e108]: Audio Description Script (VTT) + - generic [ref=e109]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e110] + - generic [ref=e111]: Audio Description Voiceover (MP3) + - generic [ref=e112]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e113] + - generic [ref=e114]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e115]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e116] + - generic [ref=e117]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - button "Voice Settings Click to customize TTS voice" [ref=e119]: + - generic [ref=e120]: + - img [ref=e121] + - generic [ref=e123]: Voice Settings + - generic [ref=e124]: Click to customize TTS voice + - generic [ref=e125]: + - generic [ref=e126]: Target Languages for Translation + - generic [ref=e129]: + - textbox "Search languages" [disabled] [ref=e130]: + - /placeholder: Loading languages... + - button [disabled] [ref=e131]: + - img [ref=e132] + - paragraph + - generic [ref=e135]: + - generic [ref=e136]: Client * + - combobox [ref=e137]: + - option "— Select client —" [selected] + - generic [ref=e138]: + - generic [ref=e139]: Deadline (optional) + - textbox [ref=e140] + - generic [ref=e141]: + - generic [ref=e142]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e143] + - paragraph [ref=e144]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [disabled] [ref=e146] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T12-59-41-516Z.yml b/.playwright-mcp/page-2026-05-01T12-59-41-516Z.yml new file mode 100644 index 0000000..8727922 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T12-59-41-516Z.yml @@ -0,0 +1,139 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - heading "Create New Job" [level=1] [ref=e86] + - generic [ref=e87]: + - generic [ref=e88]: + - generic [ref=e89]: Video File + - generic [ref=e91] [cursor=pointer]: + - button "Choose File" [ref=e92] + - generic [ref=e93]: + - img [ref=e95] + - generic [ref=e97]: + - paragraph [ref=e98]: Drag and drop video files here, or click to select + - paragraph [ref=e99]: Supports MP4, MOV, AVI, MKV up to 1024MB each + - generic [ref=e100]: + - generic [ref=e101]: Requested Outputs + - generic [ref=e102]: + - generic [ref=e103]: + - checkbox "Closed Captions (VTT)" [checked] [ref=e104] + - generic [ref=e105]: Closed Captions (VTT) + - generic [ref=e106]: + - checkbox "Audio Description Script (VTT)" [checked] [ref=e107] + - generic [ref=e108]: Audio Description Script (VTT) + - generic [ref=e109]: + - checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e110] + - generic [ref=e111]: Audio Description Voiceover (MP3) + - generic [ref=e112]: + - checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e113] + - generic [ref=e114]: Accessible Video (MP4 with embedded audio descriptions) + - generic [ref=e115]: + - checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e116] + - generic [ref=e117]: SDH Captions (VTT with speaker labels, sound effects & music notation) + - button "Voice Settings Click to customize TTS voice" [ref=e119]: + - generic [ref=e120]: + - img [ref=e121] + - generic [ref=e123]: Voice Settings + - generic [ref=e124]: Click to customize TTS voice + - generic [ref=e125]: + - generic [ref=e126]: Target Languages for Translation + - generic [ref=e129]: + - textbox "Search languages" [ref=e130]: + - /placeholder: Search languages... + - button [ref=e131]: + - img [ref=e132] + - paragraph [ref=e147]: 50 languages available + - generic [ref=e135]: + - generic [ref=e136]: Client * + - combobox [ref=e137]: + - option "— Select client —" [selected] + - option "3M-Test" + - generic [ref=e138]: + - generic [ref=e139]: Deadline (optional) + - textbox [ref=e140] + - generic [ref=e141]: + - generic [ref=e142]: Brand Names (optional) + - textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e143] + - paragraph [ref=e144]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape"). + - button "Create Job" [disabled] [ref=e146] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T13-00-29-087Z.yml b/.playwright-mcp/page-2026-05-01T13-00-29-087Z.yml new file mode 100644 index 0000000..6015349 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T13-00-29-087Z.yml @@ -0,0 +1,83 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T13-00-33-203Z.yml b/.playwright-mcp/page-2026-05-01T13-00-33-203Z.yml new file mode 100644 index 0000000..0cce967 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T13-00-33-203Z.yml @@ -0,0 +1,103 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e85]: + - generic [ref=e88]: + - generic [ref=e89]: + - paragraph [ref=e90]: + - text: ← + - link "Client" [ref=e91] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534 + - heading "Glossaries" [level=1] [ref=e92] + - link "+ Upload glossary" [ref=e93] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload + - generic [ref=e95]: + - generic [ref=e96]: + - generic [ref=e97]: + - link "3M Terms" [ref=e98] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535 + - generic [ref=e99]: active + - paragraph [ref=e100]: "Source: en-GB · Created 4/30/2026" + - generic [ref=e101]: + - generic [ref=e102]: Pending embed + - button "Archive" [ref=e103] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-01T13-00-39-470Z.yml b/.playwright-mcp/page-2026-05-01T13-00-39-470Z.yml new file mode 100644 index 0000000..43694d3 --- /dev/null +++ b/.playwright-mcp/page-2026-05-01T13-00-39-470Z.yml @@ -0,0 +1,134 @@ +- generic [ref=e4]: + - generic [ref=e6]: + - generic [ref=e8]: + - generic [ref=e10]: VA + - generic [ref=e11]: + - heading "Video Access" [level=1] [ref=e12] + - paragraph [ref=e13]: Accessibility Platform + - navigation [ref=e14]: + - link "🏠 Dashboard" [ref=e15] [cursor=pointer]: + - /url: /video-accessibility + - generic [ref=e16]: 🏠 + - generic [ref=e17]: Dashboard + - link "📋 All Jobs" [ref=e18] [cursor=pointer]: + - /url: /video-accessibility/jobs + - generic [ref=e19]: 📋 + - generic [ref=e20]: All Jobs + - link "📤 Upload Video" [ref=e21] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - generic [ref=e22]: 📤 + - generic [ref=e23]: Upload Video + - link "📝 My QC Queue" [ref=e24] [cursor=pointer]: + - /url: /video-accessibility/qc/queue + - generic [ref=e25]: 📝 + - generic [ref=e26]: My QC Queue + - link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]: + - /url: /video-accessibility/qc/reviewer-queue + - generic [ref=e28]: 🔎 + - generic [ref=e29]: Reviewer Queue + - link "🔍 QC Review" [ref=e30] [cursor=pointer]: + - /url: /video-accessibility/admin/qc + - generic [ref=e31]: 🔍 + - generic [ref=e32]: QC Review + - link "✅ Final Review" [ref=e33] [cursor=pointer]: + - /url: /video-accessibility/admin/final + - generic [ref=e34]: ✅ + - generic [ref=e35]: Final Review + - link "👥 User Management" [ref=e36] [cursor=pointer]: + - /url: /video-accessibility/admin/users + - generic [ref=e37]: 👥 + - generic [ref=e38]: User Management + - link "🏢 Clients" [ref=e39] [cursor=pointer]: + - /url: /video-accessibility/admin/clients + - generic [ref=e40]: 🏢 + - generic [ref=e41]: Clients + - link "📄 Briefs" [ref=e42] [cursor=pointer]: + - /url: /video-accessibility/briefs + - generic [ref=e43]: 📄 + - generic [ref=e44]: Briefs + - link "🔥 Failures" [ref=e45] [cursor=pointer]: + - /url: /video-accessibility/admin/failures + - generic [ref=e46]: 🔥 + - generic [ref=e47]: Failures + - link "📋 Audit Log" [ref=e48] [cursor=pointer]: + - /url: /video-accessibility/admin/audit-log + - generic [ref=e49]: 📋 + - generic [ref=e50]: Audit Log + - link "📖 Help" [ref=e52] [cursor=pointer]: + - /url: /video-accessibility/help + - generic [ref=e53]: 📖 + - generic [ref=e54]: Help + - generic [ref=e56]: + - generic [ref=e58]: T + - generic [ref=e59]: + - paragraph [ref=e60]: Test Admin + - paragraph [ref=e61]: admin + - generic [ref=e62]: + - navigation [ref=e63]: + - generic [ref=e64]: + - heading "Dashboard" [level=2] [ref=e66] + - generic [ref=e67]: + - button [ref=e69]: + - img [ref=e70] + - link "New Upload" [ref=e72] [cursor=pointer]: + - /url: /video-accessibility/jobs/new + - img [ref=e73] + - text: New Upload + - button "T test-admin@oliver.agency admin" [ref=e76]: + - generic [ref=e78]: T + - generic [ref=e79]: + - paragraph [ref=e80]: test-admin@oliver.agency + - paragraph [ref=e81]: admin + - img [ref=e82] + - main [ref=e84]: + - generic [ref=e104]: + - generic [ref=e105]: + - paragraph [ref=e106]: + - text: ← + - link "Glossaries" [ref=e107] [cursor=pointer]: + - /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries + - heading "Upload glossary" [level=1] [ref=e108] + - paragraph [ref=e109]: Upload an xlsx file with terminology translations. + - generic [ref=e111] [cursor=pointer]: + - paragraph [ref=e112]: Drop .xlsx file here or click to browse + - paragraph [ref=e113]: Max 50 MB + - generic [ref=e114]: + - generic [ref=e115]: + - generic [ref=e116]: Glossary name * + - textbox "e.g. 3M Master Terminology" [ref=e117] + - generic [ref=e118]: + - generic [ref=e119]: Source language * + - combobox [ref=e120]: + - option "English (UK) (en-GB)" [selected] + - option "English (US) (en-US)" + - option "English (Canada) (en-CA)" + - option "German (de-DE)" + - option "French (France) (fr-FR)" + - option "French (Canada) (fr-CA)" + - option "Spanish (Spain) (es-ES)" + - option "Spanish (Mexico) (es-MX)" + - option "Spanish (Latin America) (es-419)" + - option "Italian (it-IT)" + - option "Portuguese (Brazil) (pt-BR)" + - option "Portuguese (Portugal) (pt-PT)" + - option "Dutch (nl-NL)" + - option "Polish (pl-PL)" + - option "Czech (cs-CZ)" + - option "Turkish (tr-TR)" + - option "Korean (ko-KR)" + - option "Japanese (ja-JP)" + - option "Indonesian (id-ID)" + - generic [ref=e121]: + - generic [ref=e122]: Source column header in xlsx * + - textbox "e.g. en_gb or English (GB)" [ref=e123]: + - /placeholder: e.g. en_gb or English (GB) + - paragraph [ref=e124]: Must exactly match the column header in the xlsx file (case-insensitive). + - generic [ref=e125]: + - generic [ref=e126]: Description (optional) + - textbox [ref=e127] + - generic [ref=e128]: + - generic [ref=e129]: Change note (optional) + - textbox "e.g. Initial import Q1 2026" [ref=e130] + - generic [ref=e131]: + - button "Cancel" [ref=e132] + - button "Upload glossary" [disabled] [ref=e133] \ No newline at end of file diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index b28bb2b..8157cfe 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -23,9 +23,6 @@ import { GlossaryUpload } from './routes/admin/glossaries/GlossaryUpload'; import { GlossaryDetail } from './routes/admin/glossaries/GlossaryDetail'; import { AuditLog } from './routes/admin/AuditLog'; import { FailuresList } from './routes/admin/FailuresList'; -import { BriefsList } from './routes/briefs/BriefsList'; -import { NewBrief } from './routes/briefs/NewBrief'; -import { BriefDetail } from './routes/briefs/BriefDetail'; import { LinguistQueue } from './routes/jobs/LinguistQueue'; import { ReviewerQueue } from './routes/jobs/ReviewerQueue'; import { Downloads } from './routes/Downloads'; @@ -196,27 +193,6 @@ function AppContent() { } /> - - - - - - } /> - - - - - - } /> - - - - - - } /> diff --git a/frontend/src/components/Layout/Sidebar.tsx b/frontend/src/components/Layout/Sidebar.tsx index ab03591..37f5999 100644 --- a/frontend/src/components/Layout/Sidebar.tsx +++ b/frontend/src/components/Layout/Sidebar.tsx @@ -1,7 +1,7 @@ import { Link, useLocation, useParams } from 'react-router-dom'; import { useAuthStore } from '../../lib/auth'; import { useMyMemberships, useOrganizations } from '../../hooks/useClients'; -import { useJobs, useBriefs, useMyQCQueueCount } from '../../hooks/useJob'; +import { useJobs, useMyQCQueueCount } from '../../hooks/useJob'; interface SidebarItem { label: string; @@ -36,13 +36,11 @@ export function Sidebar({ onMobileClose }: SidebarProps) { { enabled: isAdminOrProduction } ); - const { data: allBriefs = [] } = useBriefs(); const { data: allOrgs = [] } = useOrganizations({ enabled: isPlatformAdmin }); const qcBadge = isQCRole ? myQCCount : 0; const finalBadge = isPMOrAdmin ? (finalData?.total || 0) : 0; const failuresBadge = isAdminOrProduction ? (failuresData?.total || 0) : 0; - const briefsBadge = allBriefs.filter(b => b.status === 'submitted').length; // Determine current org ID from route params, first membership, or first org (admin fallback). // The route param :orgSlug actually carries the organization _id (hex string), @@ -107,13 +105,6 @@ export function Sidebar({ onMobileClose }: SidebarProps) { icon: '🏢', roles: ['admin', 'project_manager'], }, - { - label: 'Briefs', - href: '/briefs', - icon: '📄', - roles: ['client', 'production', 'admin', 'project_manager'], - badge: briefsBadge || undefined, - }, { label: 'Failures', href: '/admin/failures', diff --git a/frontend/src/routes/Dashboard.tsx b/frontend/src/routes/Dashboard.tsx index fa341bb..48fe08d 100644 --- a/frontend/src/routes/Dashboard.tsx +++ b/frontend/src/routes/Dashboard.tsx @@ -1,6 +1,6 @@ import { Link } from 'react-router-dom'; import { useAuthStore } from '../lib/auth'; -import { useJobs, useProductionQueueStats, useBriefs } from '../hooks/useJob'; +import { useJobs, useProductionQueueStats } from '../hooks/useJob'; import { StatusBadge } from '../components/StatusBadge'; import type { Job } from '../types/api'; @@ -12,8 +12,6 @@ export function Dashboard() { enabled: isAuthenticated && !!user }); const { data: queueStats } = useProductionQueueStats(); - const { data: briefsData } = useBriefs(); - const jobs = jobsData?.jobs || []; const ACTIVE_STATUSES = ['created', 'ingesting', 'ai_processing', 'translating', 'tts_generating', 'rendering_video', 'rendering_qc', 'pending_qc', 'qc_feedback', 'pending_final_review']; @@ -30,7 +28,6 @@ export function Dashboard() { failed: jobs.filter((j: Job) => ['tts_failed', 'render_failed'].includes(j.status)).length, overdue: jobs.filter((j: Job) => j.deadline && new Date(j.deadline).getTime() < now && !['completed', 'rejected'].includes(j.status)).length, stuck: jobs.filter((j: Job) => ACTIVE_STATUSES.includes(j.status) && (now - new Date(j.updated_at).getTime()) > MS_24H).length, - awaitingUpload: (briefsData ?? []).filter(b => b.status === 'submitted').length, pendingQcHandoff: jobs.filter((j: Job) => j.status === 'ai_processing' && !(j.language_qc && Object.keys(j.language_qc).length > 0)).length, }; @@ -201,29 +198,6 @@ export function Dashboard() { -
0 ? 'from-violet-500 to-purple-700' : 'from-gray-400 to-gray-500'} rounded-2xl p-8 text-white`}> -
-
- 📥 -
-

Awaiting Upload

-
-

- {stats.awaitingUpload} submitted brief{stats.awaitingUpload !== 1 ? 's' : ''} need video -

-

- Briefs approved by client but video not yet uploaded. -

- {stats.awaitingUpload > 0 && ( - - View briefs → - - )} -
-
0 ? 'from-orange-400 to-amber-600' : 'from-gray-400 to-gray-500'} rounded-2xl p-8 text-white`}>
diff --git a/frontend/src/routes/briefs/BriefDetail.tsx b/frontend/src/routes/briefs/BriefDetail.tsx deleted file mode 100644 index 99e938c..0000000 --- a/frontend/src/routes/briefs/BriefDetail.tsx +++ /dev/null @@ -1,154 +0,0 @@ -import { useParams, Link } from 'react-router-dom'; -import { useBrief, useSubmitBrief, useApproveBrief } from '../../hooks/useJob'; -import { useAuthStore } from '../../lib/auth'; -import { useToastContext } from '../../contexts/ToastContext'; - -const STATUS_BADGE: Record = { - draft: 'bg-gray-100 text-gray-700', - submitted: 'bg-blue-100 text-blue-700', - approved: 'bg-green-100 text-green-700', - rejected: 'bg-red-100 text-red-700', - fulfilled: 'bg-purple-100 text-purple-700', -}; - -export function BriefDetail() { - const { id } = useParams<{ id: string }>(); - const { user } = useAuthStore(); - const toast = useToastContext(); - - const { data: brief, isLoading, error } = useBrief(id!); - const submitMutation = useSubmitBrief(); - const approveMutation = useApproveBrief(); - - const canSubmit = brief?.status === 'draft'; - const canApprove = brief?.status === 'submitted' && ['admin', 'project_manager'].includes(user?.role || ''); - const canCreateJob = brief?.status === 'approved'; - - const handleSubmit = async () => { - if (!id) return; - try { - await submitMutation.mutateAsync(id); - toast.toastOnly.success('Brief submitted for approval'); - } catch { - toast.toastOnly.error('Failed to submit brief'); - } - }; - - const handleApprove = async () => { - if (!id) return; - try { - await approveMutation.mutateAsync(id); - toast.toastOnly.success('Brief approved'); - } catch { - toast.toastOnly.error('Failed to approve brief'); - } - }; - - if (isLoading) { - return ( -
-
-
-
- ); - } - - if (error || !brief) { - return ( -
-
-

Brief not found or access denied.

-
-
- ); - } - - return ( -
-
- ← Briefs -

{brief.title}

- - {brief.status} - -
- -
- {brief.description && ( -
-

Description

-

{brief.description}

-
- )} - -
-
- Languages -

{brief.languages.length > 0 ? brief.languages.map(l => l.toUpperCase()).join(', ') : '—'}

-
-
- Deadline -

{brief.deadline ? new Date(brief.deadline).toLocaleDateString() : '—'}

-
-
- Created -

{new Date(brief.created_at).toLocaleString()}

-
- {brief.submitted_at && ( -
- Submitted -

{new Date(brief.submitted_at).toLocaleString()}

-
- )} - {brief.job_id && ( -
- Linked Job - - View Job → - -
- )} -
- -
-

Requested Outputs

-
- {brief.requested_outputs.captions_vtt && Captions VTT} - {brief.requested_outputs.audio_description_vtt && AD VTT} - {brief.requested_outputs.audio_description_mp3 && AD MP3} - {brief.requested_outputs.sdh_vtt && SDH VTT} -
-
-
- -
- {canSubmit && ( - - )} - {canApprove && ( - - )} - {canCreateJob && ( - - Create Job from Brief - - )} -
-
- ); -} diff --git a/frontend/src/routes/briefs/BriefsList.tsx b/frontend/src/routes/briefs/BriefsList.tsx deleted file mode 100644 index 331af6f..0000000 --- a/frontend/src/routes/briefs/BriefsList.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { Link } from 'react-router-dom'; -import { useBriefs } from '../../hooks/useJob'; - -const STATUS_BADGE: Record = { - draft: 'bg-gray-100 text-gray-700', - submitted: 'bg-blue-100 text-blue-700', - approved: 'bg-green-100 text-green-700', - rejected: 'bg-red-100 text-red-700', - fulfilled: 'bg-purple-100 text-purple-700', -}; - -export function BriefsList() { - const { data: briefs = [], isLoading, error } = useBriefs(); - - if (isLoading) { - return ( -
-
- {[...Array(4)].map((_, i) =>
)} -
- ); - } - - if (error) { - return ( -
-
-

Failed to load briefs.

-
-
- ); - } - - const open = briefs.filter(b => ['submitted'].includes(b.status)).length; - - return ( -
-
-
-

Job Briefs

- {open > 0 && ( -

{open} awaiting approval

- )} -
- - New Brief - -
- - {briefs.length === 0 ? ( -
-

No briefs yet.

- - Create your first brief - -
- ) : ( -
- - - - - - - - - - - - - {briefs.map(brief => ( - - - - - - - - - ))} - -
TitleStatusLanguagesDeadlineCreated
{brief.title} - - {brief.status} - - - {brief.languages.length > 0 ? brief.languages.join(', ') : '—'} - - {brief.deadline ? new Date(brief.deadline).toLocaleDateString() : '—'} - - {new Date(brief.created_at).toLocaleDateString()} - - - View - -
-
- )} -
- ); -} diff --git a/frontend/src/routes/briefs/NewBrief.tsx b/frontend/src/routes/briefs/NewBrief.tsx deleted file mode 100644 index 2f976a0..0000000 --- a/frontend/src/routes/briefs/NewBrief.tsx +++ /dev/null @@ -1,244 +0,0 @@ -import { useState } from 'react'; -import { useNavigate, Link } from 'react-router-dom'; -import { useCreateBrief } from '../../hooks/useJob'; -import { useToastContext } from '../../contexts/ToastContext'; -import { useAllProjects, useOrganizations, useOrgMembers } from '../../hooks/useClients'; - -const ALL_LANGUAGES: { code: string; label: string }[] = [ - { code: 'en', label: 'EN' }, - { code: 'en-US', label: 'EN-US' }, - { code: 'en-GB', label: 'EN-GB' }, - { code: 'en-CA', label: 'EN-CA' }, - { code: 'fr', label: 'FR' }, - { code: 'fr-FR', label: 'FR-FR' }, - { code: 'fr-CA', label: 'FR-CA' }, - { code: 'de', label: 'DE' }, - { code: 'de-DE', label: 'DE-DE' }, - { code: 'es', label: 'ES' }, - { code: 'es-ES', label: 'ES-ES' }, - { code: 'es-419', label: 'ES-LATAM' }, - { code: 'es-MX', label: 'ES-MX' }, - { code: 'it', label: 'IT' }, - { code: 'it-IT', label: 'IT-IT' }, - { code: 'pt', label: 'PT' }, - { code: 'pt-BR', label: 'PT-BR' }, - { code: 'pt-PT', label: 'PT-PT' }, - { code: 'nl', label: 'NL' }, - { code: 'nl-NL', label: 'NL-NL' }, - { code: 'pl', label: 'PL' }, - { code: 'pl-PL', label: 'PL-PL' }, - { code: 'sv', label: 'SV' }, - { code: 'da', label: 'DA' }, - { code: 'nb', label: 'NB' }, - { code: 'fi', label: 'FI' }, - { code: 'cs', label: 'CS' }, - { code: 'cs-CZ', label: 'CS-CZ' }, - { code: 'sk', label: 'SK' }, - { code: 'hu', label: 'HU' }, - { code: 'ro', label: 'RO' }, - { code: 'uk', label: 'UK' }, - { code: 'ru', label: 'RU' }, - { code: 'tr', label: 'TR' }, - { code: 'tr-TR', label: 'TR-TR' }, - { code: 'id', label: 'ID' }, - { code: 'id-ID', label: 'ID-ID' }, - { code: 'vi', label: 'VI' }, - { code: 'th', label: 'TH' }, - { code: 'ja', label: 'JA' }, - { code: 'ja-JP', label: 'JA-JP' }, - { code: 'ko', label: 'KO' }, - { code: 'ko-KR', label: 'KO-KR' }, - { code: 'zh', label: 'ZH' }, - { code: 'ar', label: 'AR' }, - { code: 'hi', label: 'HI' }, - { code: 'bn', label: 'BN' }, - { code: 'mr', label: 'MR' }, - { code: 'ta', label: 'TA' }, - { code: 'te', label: 'TE' }, -]; - -export function NewBrief() { - const navigate = useNavigate(); - const toast = useToastContext(); - const createBriefMutation = useCreateBrief(); - - const [title, setTitle] = useState(''); - const [description, setDescription] = useState(''); - const [languages, setLanguages] = useState([]); - const [deadline, setDeadline] = useState(''); - const [projectId, setProjectId] = useState(''); - const [assigneeId, setAssigneeId] = useState(''); - const [captionsVtt, setCaptionsVtt] = useState(true); - const [adVtt, setAdVtt] = useState(true); - const [adMp3, setAdMp3] = useState(true); - - const { data: projects = [] } = useAllProjects(); - const { data: organizations = [] } = useOrganizations(); - const firstOrgId = organizations[0]?.id ?? ''; - const { data: members = [] } = useOrgMembers(firstOrgId); - - const toggleLang = (lang: string) => { - setLanguages(prev => - prev.includes(lang) ? prev.filter(l => l !== lang) : [...prev, lang] - ); - }; - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - if (!title.trim()) { - toast.toastOnly.error('Title is required'); - return; - } - try { - const brief = await createBriefMutation.mutateAsync({ - title: title.trim(), - description: description.trim() || undefined, - requested_outputs: { - captions_vtt: captionsVtt, - audio_description_vtt: adVtt, - audio_description_mp3: adMp3, - accessible_video_mp4: false, - sdh_vtt: false, - languages, - transcreation: [], - translation_mode: 'video_native', - }, - languages, - deadline: deadline || undefined, - project_id: projectId || undefined, - assignee_id: assigneeId || undefined, - }); - toast.toastOnly.success('Brief created'); - navigate(`/briefs/${brief.id}`); - } catch { - toast.toastOnly.error('Failed to create brief'); - } - }; - - return ( -
-
- ← Briefs -

New Job Brief

-
- -
-
- - setTitle(e.target.value)} - className="w-full border border-gray-300 rounded px-3 py-2 text-sm focus:ring-2 focus:ring-indigo-500" - placeholder="e.g. Product launch video — EN/FR/DE" - /> -
- -
- -