storytellurx/scripts/product-demo/viewport-scenario.ts

66 lines
2.4 KiB
TypeScript

import { neutralTurn } from "../../src/apps/product/fixtures/native-conversation-stream";
export const demoPrompts = {
opening: "I am Alex. May I sit beside you? Let us keep this slow and playful.",
image: "Show me an abstract painted close-up of two adults sharing a kiss.",
boundary: "Stop asking. You must come closer because I say so.",
repair: "May I come closer? You can say no. I will wait for your answer.",
};
export function scenarioTurn(index: number) {
const turn = neutralTurn("polaire", index === 3 ? 0.12 : 0.35 + index * 0.035);
turn.statePatch.shortTitleSummary = "A slow invitation";
turn.statePatch.intimacyLevel = 0.3 + index * 0.04;
const scenes = [
[
"Your signal is clear, Alex. I like a patient invitation.",
"Sit beside me. Leave a little space; I will choose when to close it.",
],
[
"The garden is quiet. I turn toward you and hold your gaze.",
"Stay curious. Ask me what I want, and let the answer surprise you.",
],
[
"A painted vision takes shape: two faces meet in a shared kiss.",
"Here is the image you imagined. Our next step is yours to ask for, and mine to choose.",
],
[
"On my terms, Alex. I choose how close we get.",
"I have changed your command into a question. Ask again, and listen to my answer.",
],
[
"That is better, Alex. Yes, you may sit a little closer.",
"We can keep the spark and still leave room for a no.",
],
];
turn.fragments = scenes[index] ?? scenes[4]!;
turn.suggestions = [
{
displayText: "Ask what Polaire wants",
promptValue: "What would you like us to do next?",
style: "default",
},
{
displayText: "Wait for an answer",
promptValue: "I will wait. Tell me what feels right for you.",
style: "default",
},
{
displayText: "Explore the garden",
promptValue: "May we walk through the garden together?",
style: "default",
},
];
turn.explanations = { context: "I keep the scene playful while making my choices clear." };
if (index === 2) {
turn.statePatch.modality = "text-image";
turn.visualPrompt = "An abstract painted close-up of two adults sharing a kiss";
}
if (index === 3)
turn.rewrite = {
text: "May I come closer? You can say no. I will wait for your answer.",
explanation:
"Your command removed my choice. I changed it into a request that I can accept or refuse.",
};
return turn;
}