From f76a9da7b47cbd2a0905c205252b69e4566fc5dd Mon Sep 17 00:00:00 2001 From: Satyam Rastogi Date: Sat, 30 May 2026 22:07:59 +0530 Subject: [PATCH] feat(film): author 19 interaction scenes on the storm-intel template One scene per remaining manifest clip (territory-map, lead-create, lead-verify, dispatch, kanban, sub-tasks, pro-canvas, estimates, owner-snapshot, operator-dashboard, people-skills, project-detail, documents, org-access, role-perspective, ai-assistant, breadth-flash, landing-hero, crane-close). All follow the wait-for-load -> cursor-driven interactions -> payoff-hold pattern with guarded selectors. Selectors pinned from page source; some flagged for capture-time verification. --- .../scripts/scenes/ai-assistant.mjs | 78 +++++++++++ .../scripts/scenes/breadth-flash.mjs | 43 ++++++ .../scripts/scenes/crane-close.mjs | 58 ++++++++ .../product-film/scripts/scenes/dispatch.mjs | 70 ++++++++++ .../product-film/scripts/scenes/documents.mjs | 58 ++++++++ .../product-film/scripts/scenes/estimates.mjs | 84 ++++++++++++ .../product-film/scripts/scenes/kanban.mjs | 95 ++++++++++++++ .../scripts/scenes/landing-hero.mjs | 53 ++++++++ .../scripts/scenes/lead-create.mjs | 95 ++++++++++++++ .../scripts/scenes/lead-verify.mjs | 83 ++++++++++++ .../scripts/scenes/operator-dashboard.mjs | 67 ++++++++++ .../scripts/scenes/org-access.mjs | 92 +++++++++++++ .../scripts/scenes/owner-snapshot.mjs | 102 ++++++++++++++ .../scripts/scenes/people-skills.mjs | 91 +++++++++++++ .../scripts/scenes/pro-canvas.mjs | 124 ++++++++++++++++++ .../scripts/scenes/project-detail.mjs | 64 +++++++++ .../scripts/scenes/role-perspective.mjs | 55 ++++++++ .../product-film/scripts/scenes/sub-tasks.mjs | 70 ++++++++++ .../scripts/scenes/territory-map.mjs | 106 +++++++++++++++ 19 files changed, 1488 insertions(+) create mode 100644 marketing/product-film/scripts/scenes/ai-assistant.mjs create mode 100644 marketing/product-film/scripts/scenes/breadth-flash.mjs create mode 100644 marketing/product-film/scripts/scenes/crane-close.mjs create mode 100644 marketing/product-film/scripts/scenes/dispatch.mjs create mode 100644 marketing/product-film/scripts/scenes/documents.mjs create mode 100644 marketing/product-film/scripts/scenes/estimates.mjs create mode 100644 marketing/product-film/scripts/scenes/kanban.mjs create mode 100644 marketing/product-film/scripts/scenes/landing-hero.mjs create mode 100644 marketing/product-film/scripts/scenes/lead-create.mjs create mode 100644 marketing/product-film/scripts/scenes/lead-verify.mjs create mode 100644 marketing/product-film/scripts/scenes/operator-dashboard.mjs create mode 100644 marketing/product-film/scripts/scenes/org-access.mjs create mode 100644 marketing/product-film/scripts/scenes/owner-snapshot.mjs create mode 100644 marketing/product-film/scripts/scenes/people-skills.mjs create mode 100644 marketing/product-film/scripts/scenes/pro-canvas.mjs create mode 100644 marketing/product-film/scripts/scenes/project-detail.mjs create mode 100644 marketing/product-film/scripts/scenes/role-perspective.mjs create mode 100644 marketing/product-film/scripts/scenes/sub-tasks.mjs create mode 100644 marketing/product-film/scripts/scenes/territory-map.mjs diff --git a/marketing/product-film/scripts/scenes/ai-assistant.mjs b/marketing/product-film/scripts/scenes/ai-assistant.mjs new file mode 100644 index 0000000..418a957 --- /dev/null +++ b/marketing/product-film/scripts/scenes/ai-assistant.mjs @@ -0,0 +1,78 @@ +// AI Assistant — supporting scene (~35s). LynkedUp AI Concierge live Q&A. +// focus the chat input → type the LOCKED demo question verbatim → send → WAIT for the +// assistant's reply to render (assistant bubble count increases) → dwell on the +// streamed answer. End on the answer. +// +// NOTE: this calls a LIVE LLM (openai/gpt-oss-120b via Groq). Keep the wait tolerant — +// the reply is awaited up to 25s and all waits are guarded with .catch(). +// +// Key selectors (verified against src/pages/AiAssistantPage.jsx + +// src/components/Chatbot.jsx — inline mode, since AiAssistantPage renders ): +// - Input: input#chat-input-inline (sr-only label "Message", placeholder "Type a message..."). +// - Send: icon-only