JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
<<set $_sceneRevealTarget = "prose">> <<setchat "pane" "force">> /* v0.0.028: the Table stays open through the raid (guild only; whispers come after). */ <<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0 · §1">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Aft`>> <<music "" "" "" "">> /* SILENCE — dread tool; music arrives at the wound */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8eafd5ee-3816-417d-82e5-bcca5d5bf9bb/Camel_Walk_sand_L_aft.png?content-type=image%2Fpng","left":"38.85%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.7s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5e3f295c-8fe1-4bff-8a36-8119b03f6d90/Camel_Walk_tan_L_aft.png?content-type=image%2Fpng","left":"57.16%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.9s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8299c5d4-ddcc-4e50-b964-4b139cac177d/Camel_Walk_lightbrown_L_aft.png?content-type=image%2Fpng","left":"75.47%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.2s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c2eb8e8a-b646-4314-9505-011ca1581a4b/Camel_Walk_fawn_L_aft.png?content-type=image%2Fpng","left":"93.78%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.4s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/99a9ea1f-808a-4ca2-a749-5c948ac740e5/Donkey_Walk_dun_L_aft.png?content-type=image%2Fpng","left":"53.92%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4567020d-aba8-4110-855f-9967e200caeb/Donkey_Walk_chocolate_L_aft.png?content-type=image%2Fpng","left":"72.23%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0352087d-5636-4eec-8ba4-10ccdf3085b2/Herder1_Stand_L_aft.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"aft","shx":"0.0%","shw":"84.3%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b4f922c3-966b-4559-8051-2c7f47fbd1df/Berke_Stand_L_aft.png?content-type=image%2Fpng","left":"73.38%","bottom":"27.49%","width":"5.37%","id":"berke","pose":"ready","sh":"aft","shx":"0.0%","shw":"61.3%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/93b2b368-6ada-482e-a066-5ff0846e9768/Guard1_Stand_R_aft.png?content-type=image%2Fpng","left":"91.94%","bottom":"27.88%","width":"4.12%","id":"guard1","pose":"ready","sh":"aft","shx":"0.0%","shw":"80.0%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0c33a527-0990-41e1-a074-4b401e7263a9/Fang_Stand_R_aft.png?content-type=image%2Fpng","left":"10.70%","bottom":"10.20%","width":"7.34%","id":"fang","pose":"ready","sh":"aft","shx":"0.0%","shw":"84.0%","shh":"5.9%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%","id":"fortune","pose":"ready","sh":"aft","shx":"0.0%","shw":"88.5%","shh":"6.3%"}' >> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "A vampire, a werewolf, and a bear walk into a bar."' "g1">> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Not this story again."' "g1">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "The bear’s on the table, and the vampire’s swearing to the barkeep he took the blockade with a knife, some string, and a flag, and the werewolf —"' "g1">> <<sceneprose "Fang stops." "g1">> <<sceneprose "Not the pause from catching her breath. The kind where she goes still because the wind or ground told her something." "g1">> <<script>> /* OPTION B — scent triangulation fires when g2 is REVEALED (tap-gated, not paint-timed), so it lands exactly on the "casts into the wind... tacking" prose regardless of reading speed. The group-reveal hook (see advance handler) fires this once when _sceneRevealed reaches 7 (last beat of g2). Ordering is guaranteed: the hook runs AFTER the g2 reveal loop completes, so nothing fires early (the false-early-fire failure mode is structurally impossible here). Sequence: Fang stops breathing (hunting) -> Center->Left->Right->Still crossfades -> at Still, resume a SLOWER 4.5s breath ("coiling to run", slower than Fortune's 3s). Fang opened this passage in Scent_Center (id:"fang", pose:ready 3s). */ (function () { var A = "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/"; var FANG_CENTER = A + "1564e278-3470-446b-ace2-a87bce042193/Fang_Scent_Center_R_aft.png?content-type=image%2Fpng"; var FANG_LEFT = A + "a3d782e5-f426-44eb-b4f0-6399d74cf285/Fang_Scent_Left_R_aft.png?content-type=image%2Fpng"; var FANG_RIGHT = A + "2d30aa51-4366-43ed-a443-088b0efb6786/Fang_Scent_Right_R_aft.png?content-type=image%2Fpng"; var FANG_STILL = A + "e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng"; var MOTION = window.SOC_SWAP_PROFILES ? window.SOC_SWAP_PROFILES.motion : null; var thisPassage = State.passage; window._d4GroupRevealHooks = { _passage: thisPassage }; /* v3.02.07: g2 now ends at index 6 (was 7) — the "animals feel it" beat was cut from VD.010 and merged into VD.020, removing one g2 beat and shifting indices. Hook re-keyed 7->6 so Fang's "head comes up" fires on the correct g2 tap. */ window._d4GroupRevealHooks["6"] = function () { if (State.passage !== thisPassage) return; /* belt-and-suspenders: hook is passage-guarded */ /* 1. Fang stops breathing the instant the hunt begins (rigid = hunting). */ if (window._d4SetActorBounce) window._d4SetActorBounce("fang", "still"); /* 2. Scent sequence (v3.02.09 — via _d4ActorSequence, collision-proof chaining). Fang opened in Standing_Center2 (at ease, joke). On this g2 tap she LOOKS UP (Scent_Center), THEN works the wind: Left, back through Center, Right, settles Still. Beats run STRICTLY SEQUENTIALLY (each starts after the prior commits), so all five actually fire — the old parallel-delay approach made only the first fire (all swaps grabbed the same tick-0 img). motion profile on every crossfade. When the sequence finishes (onComplete), the slow 4.5s coil breath resumes. */ if (window._d4ActorSequence) { window._d4ActorSequence("fang", [ { pose: FANG_CENTER, dur: 700, hold: 400 }, /* head comes up */ { pose: FANG_LEFT, dur: 900, hold: 300 }, /* cast left */ { pose: FANG_CENTER, dur: 700, hold: 300 }, /* return center */ { pose: FANG_RIGHT, dur: 900, hold: 300 }, /* cast right */ { pose: FANG_STILL, dur: 1600, hold: 0 } /* settle */ ], MOTION, { onComplete: function () { if (State.passage !== thisPassage) return; if (window._d4SetActorBounce) window._d4SetActorBounce("fang", "ready", "4.5s"); /* coil */ }}); } }; })(); <</script>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Fang?"' "g1">> <<sceneprose "Her head comes up. She casts into the wind, turns, casts again — tacking, the way she does when a scent won’t hold still, working the edges of the caravan to catch where it’s coming from." "g2">> <<script>> /* G1 PRE-REVEAL (both desktop AND mobile). This passage is the deliberate EXCEPTION to the desktop reveal-all convention (the other multi-beat passages reveal everything on load with no taps). Here, g1 (indices 0-5: the joke through "Fang stops" / "Fang?") pre-reveals on LOAD, and a SINGLE tap reveals g2 (index 6, "her head comes up") — which is what fires the scent-triangulation animation (the _d4GroupRevealHooks["6"] hook above: Fang casting into the wind, Center->Left->Right->Still). The one tap is REQUIRED, not friction: it's the trigger that plays Fang's scent-cast in sync with the prose. A blanket reveal-all would fire/skip the animation out of sync and break the beat. So: on load, jump _sceneRevealed to the last g1 index (5); the tap then advances to 6 and the hook fires. (If a reveal-all sweep flags this passage as "missing reveal-all", that is CORRECT and intentional — do not "fix" it.) */ State.variables._sceneRevealed = 5; <</script>> /* v0.0.029: the tap that reveals g2 (index 6) and fires Fang's scent cast. Stancechoice passages get no Continue of their own, so g2 was unreachable from v19 to v28. No destination: once g2 is revealed the button is spent and hides; the three choices then show. */ <<advance "Continue">> <<stancechoice "vd010" "follow" "Follow Fang’s lead. Watch what she’s watching." "VD.022.outside_smyrna.raid.watch">> <<stancechoice "vd010" "halt" "Don’t wait to find out. Signal a halt." "VD.025.outside_smyrna.raid.halt">> <<stancechoice "vd010" "close" "Keep them moving, close ranks. Signal Berke to tighten the line." "VD.020.outside_smyrna.raid.scent2">>
<<setchat "pane">> <<setheader "SMYRNA · MERCHANT GUILD HAN" "Morning · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/97d004f5-f761-40ab-8d6e-02c35970c166/TurkishHan_Courtyard_Morning.png?content-type=image%2Fpng">> <<soctrack "scene_enter" "VD.105.smyrna.han_departure.leaving">> <<music "Nella Notte" "Forestella · acoustic (placeholder — Han cue TBD)" "" "">> /* v0.0.016 REWRITE, 15 Sep — the caravan's business closes out HERE, concretely, before the chase, so Fang has no live duty pulling her back to it once the alley happens. Grief handled through action, not narration — same principle as Lawrence's mourning-table ritual. Adapted from a demo scene (guild warehouse, payment into neck-pouches); reset to the han courtyard already established for this passage rather than inventing a new location — flag if a separate warehouse location was actually wanted instead. */ <<sceneprose "The factor counts out shares onto the courtyard bench, coin by coin, the way he's done it every run for eleven years.">> <<sceneprose "Yours goes into the pouch at your neck. Fang's goes into hers. Two more shares sit on the bench a moment before he sweeps them back into the strongbox, because there is no one left to hand them to.">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (not looking up from the ledger) "Berke’s goes to his sister in Manisa. Hakan had no one on the manifest — it goes to the guild’s dead-fund. I’ll write both letters tonight."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "You don’t have to do that alone."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "I know. I’m doing it anyway."'>> <<sceneprose "She says it like arithmetic, because arithmetic is the only part of tonight she can still make come out even.">> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> (settling a pack strap) "The factor’s got the manifest. What’s left of it."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "He’ll deliver it to the guild. We did what we could for Berke and the rest. Contract’s closed. Whatever’s left of tonight is ours."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "And us?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "We head to the tavern. Mo Stór. It’s where he told you to go."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "You know him."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "I do."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Who is he?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "My best friend. My worst enemy."'>> <<script>> if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.110.smyrna.chase.b1">>
<<setchat "pane" "force">> /* GUILD CHAT ARRIVES. The D2 opening (Beat1_Debt) forces chatMode 'off', so The Table is hidden through the debt beat + kitchen. This is the game-entry moment where it comes back on — "you've joined the guild." FORCE is required: setchat is a no-op without it (pane state is player-owned), so the prior bare <<setchat "pane">> never fired and the pane stayed stuck-off through the whole chase. guild surface is unlocked by default (StoryInit); whisper/ journal/roster stay locked (progressive disclosure) until their own <<unlocksurface>> calls. Old comment about "reverts to bubble at Beat 2" was stale — that Beat 2 (Lawrence glimpse) was deleted in the v2.00.03 merge. */ <<setheader "SMYRNA · MERCHANT QUARTER" "Mid-afternoon · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/57f48ae7-689c-4054-8dc7-7c132dd2528a/Merchant_Quarter_Chase.png?content-type=image%2Fpng">> /* v2.11.05 (16 June 2026): background swapped to Merchant_Quarter_Chase.png — a flat, side-on merchant-quarter plate (continuous building backdrop, central well, cobblestone street running across the bottom ~18% of frame). This reverts the v2.10.17 swap (which had moved B1 to Aggressive_arrival.jpg). Actor anchoring re-tuned for the new plate: the old bottom:5% was calibrated for the high aerial-recession Aggressive_arrival layout; on this flat plate the groundline sits low, so figures drop to bottom:1% to plant their feet in the cobblestone band and clear the curb line (per author: back feet were clipping the curb at 3%). v2.11.05b: Fang moved right (32%→37%) so Fortune (rendered second = on top) overlaps Fang's trailing edge — hides the cloak frame-cut and reads as the pair running together. Fortune left unchanged at 46%; both at bottom:1%. v2.11.05c: pair shifted as a locked unit toward image-right (+15 each: Fang 37→52%, Fortune 46→61%) for cinematic lead room. The figures run toward image-LEFT (see Fang_Run_Bam_Left sprite), so seating their mass on the right third opens the street AHEAD of them on the left — running into space, not trapped against the frame edge. Overlap/occlusion and bottom anchor unchanged. Both figures also shrunk 12% (Fang 22%→19.4%, Fortune 28%→24.6%) to read at the right scale against this background; the Fortune-marginally-smaller depth cue is preserved. NOTE: left/horizontal placement unchanged (Fang 32%, Fortune 46%) — on this symmetrical centered plate the pair sits just left of the central well; revisit horizontal placement separately if recomposition is wanted. v2.6: Fang is L8 and ahead (slightly left, larger, foreground z-layer). Fortune is L2 and behind (slightly right, marginally smaller, depth cue). Both bottom-anchored to sit on the cobblestone road. */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/baf84d18-c496-48b8-b663-896026cd26b4/War_Band_Eyvindr_Jump.png?content-type=image%2Fpng","left":"82%","bottom":"2%","width":"17%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c75f31-c292-4135-b292-a32d654cf4f5/War_Band_Vidu%CC%84ne%CC%87_Jump.png?content-type=image%2Fpng","left":"71.5%","bottom":"1%","width":"17%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8514aa8d-24a1-43ee-a9c1-1fe204471b84/Fang_Run_Bam_Left.png?content-type=image%2Fpng","left":"12%","bottom":"1%","width":"15.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5fb9acd9-e90d-47c6-8008-76261f13ffe6/Fortune_Running_Sword.png?content-type=image%2Fpng","left":"23.5%","bottom":"1%","width":"22%","stagger":"-0.3s"}' >> <<soctrack "scene_enter" "VD.110.smyrna.chase.b1">> /* ─── Chase track: Legacy (NEXZ) ─────────────────────────────────────── v2.10.44 (27 May 2026): Ghost Town plays at the kitchen-seam (Desire) passage; Legacy is the chase track and starts cleanly HERE at the first chase beat — no crossfade-from-Ghost-Town pill. Legacy carries through the chase until Heartbeat (2PM) enters at Lawrence's arrival (B4). Per Game Bible §9.2: one track plays at a time. */ <<music "Legacy" "NEXZ" "https://www.youtube.com/watch?v=SjVAR5URdE4" "">> <<chatpush "minjae" "now" "lawrence is heading into town. brb">> <<chatpush "minjae" "now" "rough day. need to run something stupid tonight.">> <<chatpush "clare" "now" "💀 fang and fortune are running for their lives. classic tuesday. ishani, you ready?">> <<chatpush "jeff" "now" "marcus is in the tavern waiting for y'all">> <<guildreply '{"icon":"💀","text":"lmao same. in.","stat":"ishaniClareBond","delta":5,"momentId":"ishani_coldopen_guild_warm_solidarity","replyTo":"clare","respondImmediate":{"who":"jeff","text":"oh, we\u2019re in for an evening, huh?","delayMs":2200,"surface":"guild"}}' '{"icon":"▶","text":"starting","momentId":"ishani_coldopen_guild_neutral_ready","replyTo":"guild","respondImmediate":{"who":"jeff","text":"oh, we\u2019re in for an evening, huh?","delayMs":1800,"surface":"guild"}}' '{"icon":"🫡","text":"hey Min-jae, hope tonight helps","stat":"ishaniMinjaeBond","delta":2,"momentId":"ishani_coldopen_guild_warm_mj","replyTo":"minjae","respondImmediate":{"who":"jeff","text":"oh, we\u2019re in for an evening, huh?","delayMs":1800,"surface":"guild"}}' '{"icon":"⏸","text":"don\u2019t post, just log in","defer":true,"momentId":"ishani_coldopen_guild_lurk","replyTo":"guild"}' >> <<whisper "clare" "hey, fyi, mj is dealing with personal stuff tonight. don't take whatever he does too seriously." "now">> /* reply chips. Four options including the canonical "defer" (Wait-or-Type heritage from Demo 3 Scene 3). Each non-defer option carries a stat delta against $ishaniClareBond (consent-architecture scale: 1-100, baseline 50). Defer doesn't apply a delta but does track the non-reply state for future de-escalation behavior. */ /* reply chips with response paths. - "thanks for the heads up" → DEFERRED. Clare comes back to it post-chase at Mo Stór arrival, naming what Ishani's care meant. - "is he okay?" → IMMEDIATE, fast (1500ms). A real question gets a fast answer — Clare reads the concern, doesn't make Ishani wait. - "k" → NO response. Clare reads the signal and gives space. - defer → NO response. Player chose silence; system honors it. Demo 4 establishes the pattern (warm/concerned/curt/silent → varied response timing). Tutorial principle: responses are fairly immediate in this opening beat so the player learns the system is alive. Later beats can lean harder into asymmetric timing. */ <<whisperreply '{"icon":"💛","text":"thanks for the heads up","stat":"ishaniClareBond","delta":5,"momentId":"clare_heads_up_warm","replyTo":"clare","respondDeferred":{"from":"clare","text":"btw thx for not being weird about him tonight 🙏","atPassage":"*next*","replyTo":"you"}}' '{"icon":"🤔","text":"is he okay?","stat":"ishaniClareBond","delta":3,"momentId":"clare_heads_up_concerned","replyTo":"clare","respondImmediate":{"from":"clare","text":"yeah just tired. don\u2019t push","delayMs":1500,"replyTo":"you","thenReply":[{"icon":"","text":"👍","stat":"ishaniClareBond","delta":3,"momentId":"clare_dontpush_ack","replyTo":"clare"},{"icon":"⏸","text":"don\u2019t reply","defer":true,"momentId":"clare_dontpush_silent","replyTo":"clare","journal":{"title":"let it sit","body":"clare said don\u2019t push, so i didn\u2019t. left it there.","tag":"[REL] chase · B1 · dontpush-silent"}}]}}' '{"icon":"😐","text":"k","stat":"ishaniClareBond","delta":-2,"momentId":"clare_heads_up_curt","replyTo":"clare"}' '{"icon":"⏸","text":"do not respond right now","defer":true,"momentId":"clare_heads_up_defer","replyTo":"clare"}' >> <<artprompt "B1-establish" "Wide shot. Smyrna merchant quarter, mid-afternoon, sun angled low and warm. Narrow stone street between two-story plastered buildings; awnings stretched over spice stalls and fabric racks. Foreground mid-action: Fortune (per Story Bible §3.1 — South Asian / Indian-presenting, 5'8\", lean-but-muscular working body, age 30, warm brown skin, strong elegant facial features, long black hair worn loose past her shoulders in this scene OR styled into a braid for combat; light-tan turban / head-wrap with fabric trailing as a scarf around her neck and shoulders; lamellar/scale-coat brown leather armor with rivets and articulated shoulder pauldrons, crossed leather chest straps, belt rig with brown leather satchel and water-skin, curved Central-Asian saber sheathed at right hip, knee-high leather boots; visual anchor Fortune_Original.png) and Fang (werewolf in human form, born in Kazakh territory; presents as early-to-mid 40s, actually 240+ years old; high cheekbones, fair-to-light-brown skin, jet-black hair worn in a single thick braid, narrow eye shape with epicanthic fold, tall ~6ft, working body; Sherri-Dindal-coded vocally — visual is Central Asian working-guard; Florentine dual-blade carry — Samarkand short sword primary on right hip, curved Joseon hip-blade off-hand on left, both sheathed crossways; wolf-puppy in chest sling) both mid-stride, running TOWARD camera. Behind them, ~10–12 paces back: three figures pursuing — long coats, controlled gait, NOT panicked. Period-accurate Smyrna texture: Greek and Turkish merchants in background, baskets, brass coffee pot, hanging string of dried peppers. Bystanders not yet reacting. Style: Studio Ghibli adventure crossed with Persona 5 motion lines — sun on stone, dust kicked up by feet. Aspect 16:9." true>> <<soundprompt "ambient" "Smyrna merchant quarter mid-afternoon: footfalls running on stone (multiple — Fortune + Fang foreground, three pursuers behind in mid-distance), background market hum (Greek and Turkish merchants haggling but indistinct, brass clinking, hanging-bell wind chimes from awnings, occasional canvas flap), no shouting/alarm. Sound design rule: pursuers do NOT shout. The wrongness is the silence.">> <div class="d4-dlg"><span class="d4-who --fang">Fang:</span> (ahead, through the dust) "...the spice street, I said NOT the ...."</div> <!-- v0.0.016: co-presence convention LIFTED per author direction 15 Sep — Fang and Fortune split after this beat on purpose (Fang's own tactical call, below), converging again only at the alley (VD.150). The crowd-surge near-miss below still plays as written; it's the last shared beat before the split, not a near-separation any more — it's foreshadowing the real one. --> <div class="d4-prose"><p>A cart lurches sideways. The crowd breaks the wrong way and you lose the line of her for a breath, then she's back at your shoulder, matching your pace.</p></div> <div class="d4-dlg"><span class="d4-who --fortune">$avatarName:</span> "Three. Vampires. Blond, long hair, big sword."</div> <div class="d4-dlg"><span class="d4-who --fang">Fang:</span> "I see them. Stay on me."</div> /* v0.0.016 REWRITE, 15 Sep — funnel-awareness + Fang's tactical split. Fang reads the herding pattern and makes the call herself (her competence, not a forced separation): she'll scout ahead since she's faster in armor, meet Fortune past the choke point. The funnel's actual target is the alley she's about to pick — her read is correct, it just feeds the trap instead of dodging it (paid off at VD.130). All three choices below converge to the same next passage; they differ in HOW Fortune buys the separation, not whether it happens. */ <<sceneprose "dialogue" '<div class="d4-prose"><p>They fall into position wrong. Too even, too patient for something hungry — three behind you, but you can feel more you can’t see, herding rather than hunting, funneling you both down streets that keep narrowing whether you choose them or not.</p></div>'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "They’re not chasing us. They’re pushing us somewhere."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Then we don’t go where they’re pushing."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "I’m faster than they think, in this. I’ll clear ahead, find where they want us landing before we’re standing in the middle of it. You cut through the stalls, keep them busy. Meet me past the choke."'>> <<sceneprose "Fang peels off before you can answer, faster than the armor should allow, and the crowd swallows her before you’ve finished the thought.">> <div class="d4-choices"> <<chasechoice "aggressive" "dex" "Turn and slow them down yourself — buy Fang the lead." "VD.140.smyrna.chase.b4">> <<chasechoice "tactical" "flow" "Overturn a stall behind you. Make them go around." "VD.140.smyrna.chase.b4">> <<chasechoice "trickster" "end" "Duck through the tannery’s side door — lose them in the yards." "VD.140.smyrna.chase.b4">> </div>
<<setheader "SMYRNA · MERCHANT QUARTER" "Mid-afternoon · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b845454c-a4b2-4d48-8ba4-b38e98729742/Merchant_Quarter_Deadend.png?content-type=image%2Fpng">> <<soctrack "scene_enter" "VD.130.smyrna.chase.b3">> /* v0.0.016 REWRITE — brief Fang cutaway, no player choice. First half of the funnel completing: the alley she picked to scout ahead is the alley the warband was always going to end this in. Her tactical read was correct; it just fed the trap instead of avoiding it. */ <<sceneprose "The alley reads clear from the mouth of it. That’s the first wrong thing — nothing in Smyrna is this clear by accident.">> <<sceneprose "She’s three strides in before she counts the shapes already waiting at the dead end, unhurried, arranged like they’ve been expecting company.">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (low, to herself) "...oh, you clever bastards."'>> <<sceneprose "There’s no good way back out that doesn’t run straight into whatever’s behind Fortune. She plants her feet instead, blade out, and does the only math left: hold the mouth of the alley, and hope the girl she just sent the other way is smarter than she is tired.">> <<script>> if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.140.smyrna.chase.b4">>
<<setheader "SMYRNA · MERCHANT QUARTER" "Mid-afternoon · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/57f48ae7-689c-4054-8dc7-7c132dd2528a/Merchant_Quarter_Chase.png?content-type=image%2Fpng">> <<soctrack "scene_enter" "VD.140.smyrna.chase.b4">> /* v0.0.016 REWRITE — whatever the player bought Fang at B1 costs the wide streets here. All three B1 choices converge to this same forced-entry beat; the texture differs upstream, not the outcome. */ <<sceneprose "Whatever you bought Fang, it costs you the wide streets. Every turn you take that isn’t the one they want narrows the ones still open, until there’s exactly one street left, and it isn’t a street. It’s a mouth.">> <<sceneprose "dialogue" '<div class="d4-dlg"><span class="d4-who --fortune">$avatarName:</span> (to no one, out of breath) "no. No — not that one—"</div>'>> <<sceneprose "You go in anyway. There was never a version of this where you didn’t.">> <<sceneprose "Fang is already there, back to a wall, blade up. Not surprised to see you. Not glad either.">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Good. Now we’re both somewhere I can protect."'>> <<script>> if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.150.smyrna.chase.b5">>
<<setheader "SMYRNA · MERCHANT QUARTER" "Late afternoon · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f606323b-590f-4d2e-b776-8bf9c3a40ca0/Merchant_Quarter_Alley_Fight.png?content-type=image%2Fpng">> <<music "Heartbeat" "2PM" "" "">> <<soctrack "scene_enter" "VD.150.smyrna.chase.b5">> /* v0.0.016 — THE ONE RESCUE. Two weeks ago's double-rescue problem stays solved: Lawrence did not intervene at VD.090, so this is the only place he acts. Fang/Lawrence banter restored HERE per author direction, since it's Lawrence rescuing both of them, not just Fortune — "I was in the neighborhood" / "same as last time" make more sense between Fang and Lawrence than they ever did as Fortune-facing lines. */ <<sceneprose "They come out of the dead end’s shadows the way water comes through a cracked hull — all at once, from everywhere, twelve where you counted three.">> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Fang—"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "I see them."'>> <<sceneprose "Neither of you says the number out loud. It doesn’t need saying.">> <<sceneprose "Something drops from the rooftop line without a sound worth the name, and lands between you and the nearest of them like it was always going to.">> <<sceneprose "dialogue" '<span class="d4-who --lawrence">Lawrence:</span> "I was in the neighborhood. Thought I’d drop by."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (not lowering her blade) "Forty-one years. You always say that."'>> <<sceneprose "dialogue" '<span class="d4-who --lawrence">Lawrence:</span> "Forty-one years I have been saying no to them. Same as last time."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Faith manages."'>> <<sceneprose "He says one word to the alley that isn’t in a language either of you has. It isn’t loud. It doesn’t need to be.">> <<sceneprose "What was twelve is, a breath later, gone — not fled exactly, unmade from the shape of a threat back into the shape of shadows that happen to be vampire-colored.">> <<script>> if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.160.smyrna.chase.b6_withdraw">>
<<setheader "SMYRNA · MERCHANT QUARTER" "Late afternoon · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f606323b-590f-4d2e-b776-8bf9c3a40ca0/Merchant_Quarter_Alley_Fight.png?content-type=image%2Fpng">> <<soctrack "scene_enter" "VD.160.smyrna.chase.b6_withdraw">> /* v0.0.016 — Svetomir's second, real withdrawal: a command decision in response to Lawrence's direct intervention, not the lone tactical read at VD.090. Per author direction 15 Sep: he is sharp enough (warband commander, Volkhva's trusted advisor) to walk away with something more valuable than the funnel was built to extract — Lawrence has a personal fixation on Fortune specifically, not just a general interest in the caravan. Kept oblique and POV-consistent: Fortune notices a shape watching, not the full read. Bank to Todo per 15 Sep discussion if not already there. */ <<sceneprose "One shadow on the roofline doesn’t leave with the rest. It watches — you, then Lawrence, then the two of you together — for exactly as long as it takes to decide something.">> <<sceneprose "Whatever he decides, he doesn’t share it with the alley. A short, low sound — not quite a whistle — and whatever’s left of his band that hasn’t already gone is simply, suddenly, not anywhere near here.">> <<sceneprose "dialogue" '<div class="d4-dlg" style="font-style:italic; color: var(--text-mid);">You’ll think about that later — how long he stayed after it was already over, and what exactly he was still watching for.</div>'>> <<sceneprose "Lawrence doesn’t look up at the roofline. He doesn’t need to know who was there to know someone was.">> <<script>> if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.170.smyrna.chase.b7">>
<<setheader "SMYRNA · MERCHANT QUARTER" "Late afternoon · 1402" "VD v1.0 · §1">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/80cda41e-8f4c-4004-9ca0-4bd3d9539283/Merchant_Quarter_Fountain_Square.png?content-type=image%2Fpng">> <<soctrack "scene_enter" "VD.170.smyrna.chase.b7">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (sheathing her blade, hands not quite steady) "Twice in one day. That’s a record, even for him."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Why is Stari Krov after you?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Long story. They’re a war band whose matriarch is pissed at me."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "I want to hear that story later."'>> <<declareintent "fang_stari_krov_story">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Sure thing, kid."'>> <<journalentry "stari krov" "so a whole war band's matriarch is 'pissed at' fang. there's a story there and i hope we get somewhere i can ask for it tonight, so i don't forget. clare will just tell me to wait. :-(" "[PLOT] chase · B7 · stari-krov-question">> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Twice?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Ask him yourself. I need tea, and I need it before I need anything else."'>> <<sceneprose "She doesn’t explain further, and you’re too rattled yet to make her.">> <<script>> if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.200.mostor.mostorThreshold.enter">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Aft`>> <<music "" "" "" "">> /* SILENCE — dread tool; music arrives at the wound */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8eafd5ee-3816-417d-82e5-bcca5d5bf9bb/Camel_Walk_sand_L_aft.png?content-type=image%2Fpng","left":"38.85%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.7s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5e3f295c-8fe1-4bff-8a36-8119b03f6d90/Camel_Walk_tan_L_aft.png?content-type=image%2Fpng","left":"57.16%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.9s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8299c5d4-ddcc-4e50-b964-4b139cac177d/Camel_Walk_lightbrown_L_aft.png?content-type=image%2Fpng","left":"75.47%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.2s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c2eb8e8a-b646-4314-9505-011ca1581a4b/Camel_Walk_fawn_L_aft.png?content-type=image%2Fpng","left":"93.78%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.4s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/99a9ea1f-808a-4ca2-a749-5c948ac740e5/Donkey_Walk_dun_L_aft.png?content-type=image%2Fpng","left":"53.92%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4567020d-aba8-4110-855f-9967e200caeb/Donkey_Walk_chocolate_L_aft.png?content-type=image%2Fpng","left":"72.23%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0352087d-5636-4eec-8ba4-10ccdf3085b2/Herder1_Stand_L_aft.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"aft","shx":"0.0%","shw":"84.3%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b4f922c3-966b-4559-8051-2c7f47fbd1df/Berke_Stand_L_aft.png?content-type=image%2Fpng","left":"73.38%","bottom":"27.49%","width":"5.37%","id":"berke","pose":"ready","sh":"aft","shx":"0.0%","shw":"61.3%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/93b2b368-6ada-482e-a066-5ff0846e9768/Guard1_Stand_R_aft.png?content-type=image%2Fpng","left":"91.94%","bottom":"27.88%","width":"4.12%","id":"guard1","pose":"ready","sh":"aft","shx":"0.0%","shw":"80.0%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng","left":"10.70%","bottom":"10.20%","width":"7.34%","id":"fang","pose":"ready","sh":"aft","shx":"0.0%","shw":"84.0%","shh":"5.9%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%","id":"fortune","pose":"ready","sh":"aft","shx":"0.0%","shw":"88.5%","shh":"6.3%"}' >> /* VD.020 TWO-ACTOR SCENT (v3.02.07): fires on passage enter. Fang opened on Scent_Still (carried from VD.010). She works the wind — head up (Center), casts Left AND steps back (up+left), returns Center, casts Right AND returns to start, settles Still. Fortune REACTS a beat later (400ms): she reads Fang's alarm and echoes it — Standing2 -> Left_LookingUp (lands ~when Fang steps back, so both are oriented out together) -> Standing2 -> back to Turban (just after Fang settles). The lag is characterization: Fang is the tracker; Fortune follows her read. All swaps use the motion profile (blur/overlap). Fang's step deltas + Fortune's delay tuned in the VD.020 two-actor mockup. */ <<script>> /* v0.0.019 VD.020 two-actor scent, new sprites. Fang: same-size frames, src swaps via _d4ActorSequence (unchanged timing). Fortune: her three poses are different widths, so each change goes through _socPose (src + geometry in one swap). */ (function () { var F_CENTER = "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/1564e278-3470-446b-ace2-a87bce042193/Fang_Scent_Center_R_aft.png?content-type=image%2Fpng", F_LEFT = "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/a3d782e5-f426-44eb-b4f0-6399d74cf285/Fang_Scent_Left_R_aft.png?content-type=image%2Fpng", F_RIGHT = "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2d30aa51-4366-43ed-a443-088b0efb6786/Fang_Scent_Right_R_aft.png?content-type=image%2Fpng", F_STILL = "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng"; var M = window.SOC_SWAP_PROFILES ? window.SOC_SWAP_PROFILES.scent : null; var pg = State.passage; if (!window._d4ActorSequence || !window._socPose) return; var BL = 10.70, BB = 10.20, UP = 3, LF = 2; window._d4ActorSequence("fang", [ { pose: F_CENTER, dur: 10, hold: 937 }, { pose: F_LEFT, dur: 10, move: { left: (BL-LF)+"%", bottom: (BB+UP)+"%", dur: 600 }, poseFirst: true, hold: 1023 }, { pose: F_CENTER, dur: 10, hold: 851 }, { pose: F_RIGHT, dur: 10, move: { left: BL+"%", bottom: BB+"%", dur: 600 }, poseFirst: true, hold: 1023 }, { pose: F_STILL, dur: 10, hold: 1367 } ], M); var P = {"front":{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b2708dde-0056-4038-b753-bdfd9e32e7f4/Fortune_Stand_Front_aft.png?content-type=image%2Fpng","left":"25.23%","bottom":"12.28%","width":"8.82%"},"look":{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2c3ec596-1c42-4322-93f8-7f5cce3ebf53/Fortune_LookUp_L_aft.png?content-type=image%2Fpng","left":"26.47%","bottom":"12.28%","width":"10.04%"},"stand":{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%"}}; function at(ms, fn) { setTimeout(function () { if (State.passage === pg) fn(); }, ms); } at(260, function () { window._socPose("fortune", P.front, 120); }); at(1064, function () { window._socPose("fortune", P.look, 120); }); at(2494, function () { window._socPose("fortune", P.front, 120); }); at(3834, function () { window._socPose("fortune", P.stand, 120); }); })(); <</script>> <<soctrack "scene_enter" "VD.020.outside_smyrna.raid.scent2">> <<set $raidCall to "close">> <<sceneprose "You turn to look at the merchant, Berke, raising your open hand and closing it into a fist.">> <<sceneprose "Berke nods, then signals to his men to close the line of camels and donkeys as they continue walking towards you and Fang.">> <<sceneprose "The lead camel sidesteps, ears back. A camel driver catches its neck, murmurs it still. Down the line the donkeys balk, and the drivers lean into the lead-ropes to keep them moving. Every animal on the road has its head turned to the low hills.">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Keep the line moving. Don’t look at the hills."'>> <<script>> /* on DESKTOP/laptop, reveal all of VD.020's prose at once (no tapping through beats) — the whole moment lands together while Fang's animation plays. On MOBILE, keep the default tap-to-reveal (one beat per tap) so the small screen isn't flooded. socIsMobile() is the engine's device check. We set _sceneRevealed to the last beat index so the initial-paint reveal loop paints through the end. The scent animation fires on passage-enter regardless of reveal mode, so it's unaffected. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.030.outside_smyrna.raid.crest">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Aft`>> <<music "" "" "" "">> /* SILENCE holds */ <<set $raidCall to "wait">> <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8eafd5ee-3816-417d-82e5-bcca5d5bf9bb/Camel_Walk_sand_L_aft.png?content-type=image%2Fpng","left":"38.85%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.7s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5e3f295c-8fe1-4bff-8a36-8119b03f6d90/Camel_Walk_tan_L_aft.png?content-type=image%2Fpng","left":"57.16%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.9s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8299c5d4-ddcc-4e50-b964-4b139cac177d/Camel_Walk_lightbrown_L_aft.png?content-type=image%2Fpng","left":"75.47%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.2s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c2eb8e8a-b646-4314-9505-011ca1581a4b/Camel_Walk_fawn_L_aft.png?content-type=image%2Fpng","left":"93.78%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.4s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/99a9ea1f-808a-4ca2-a749-5c948ac740e5/Donkey_Walk_dun_L_aft.png?content-type=image%2Fpng","left":"53.92%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4567020d-aba8-4110-855f-9967e200caeb/Donkey_Walk_chocolate_L_aft.png?content-type=image%2Fpng","left":"72.23%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0352087d-5636-4eec-8ba4-10ccdf3085b2/Herder1_Stand_L_aft.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"aft","shx":"0.0%","shw":"84.3%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b4f922c3-966b-4559-8051-2c7f47fbd1df/Berke_Stand_L_aft.png?content-type=image%2Fpng","left":"73.38%","bottom":"27.49%","width":"5.37%","id":"berke","pose":"ready","sh":"aft","shx":"0.0%","shw":"61.3%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/93b2b368-6ada-482e-a066-5ff0846e9768/Guard1_Stand_R_aft.png?content-type=image%2Fpng","left":"91.94%","bottom":"27.88%","width":"4.12%","id":"guard1","pose":"ready","sh":"aft","shx":"0.0%","shw":"80.0%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng","left":"10.70%","bottom":"10.20%","width":"7.34%","id":"fang","pose":"ready","sh":"aft","shx":"0.0%","shw":"84.0%","shh":"5.9%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%","id":"fortune","pose":"ready","sh":"aft","shx":"0.0%","shw":"88.5%","shh":"6.3%"}' >> <<soctrack "scene_enter" "VD.022.outside_smyrna.raid.watch">> /* WAIT branch (v0.0.014). Fang splits the watch; Fortune takes the outcropping and walks toward it. Only this branch sees the figure on the rock ($sawFigure). The player already knows who it is (cinematic); Fortune does not. */ <<sceneprose "You do what she taught you. You stop, and you watch her, and you let the caravan walk past the two of you.">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (quiet, not turning) "That was a boot."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Not a goat?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Goats don’t slip on scree. Boots do. More than one."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "You take the outcropping. I’ll take the slope. Don’t point. Don’t stop walking."'>> <<moveactor "fortune" "43.69%" "13.85%" 2600>> <<sceneprose "You look and listen the way she taught you. The scree along the hillside hasn’t been disturbed and the breeze blows through the scrub naturally. This stretch of road is empty save for the caravan.">> <<sceneprose "The caravan moves closer to them. No warning bells, though the merchant, Berke, has noticed their stopping.">> <<script>> /* DESKTOP reveal-all (no taps); MOBILE keeps tap-per-beat. socIsMobile guard, matches the VD.020/030/045 convention. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<chasechoice "protective" "flow" "Tell her. Now." "" '[{"kind":"description","html":"You say it without moving your mouth much. \"One. On the rock. Standing.\" Fang does not look. \"Standing,\" she says, like it is the wrong answer to a question she asked."}]'>><<set $sawFigure to true>><<set $toldFang to true>> <<chasechoice "tactical" "flow" "Keep watching. She gave you the rock; give her the slope." "" '[{"kind":"description","html":"You hold it. He does not move. You could not say afterward how long you watched him, only that he never once looked at you, and that you were sure he knew you were there."}]'>><<set $sawFigure to true>><<set $toldFang to false>> <<chasechoice "trickster" "flow" "Test him. Let your hand drift to your blade and see if he reacts." "" '[{"kind":"description","html":"Your hand goes to the hilt. He does not so much as shift his weight. A bandit would have moved. A goat would have moved. He is neither."}]'>><<set $sawFigure to true>><<set $toldFang to false>><<set $testedFigure to true>> <<advance "Continue" "VD.030.outside_smyrna.raid.crest">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Aft`>> <<music "" "" "" "">> /* SILENCE holds; the zang is the first sound */ <<set $raidCall to "halt">> <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8ff0aa70-a442-4eb8-b571-6d912e5d8f8c/Camel_Kush_sand_L_aft.png?content-type=image%2Fpng","left":"39.93%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c94035a4-b4dc-4c6a-b5f8-024fbab18204/Camel_Kush_tan_L_aft.png?content-type=image%2Fpng","left":"57.15%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4f163595-fb63-4578-80bc-d5f35d94e650/Camel_Kush_lightbrown_L_aft.png?content-type=image%2Fpng","left":"74.36%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8442ba78-4e19-495c-a409-3ec7661a371d/Camel_Kush_fawn_L_aft.png?content-type=image%2Fpng","left":"91.57%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/99a9ea1f-808a-4ca2-a749-5c948ac740e5/Donkey_Walk_dun_L_aft.png?content-type=image%2Fpng","left":"53.18%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4567020d-aba8-4110-855f-9967e200caeb/Donkey_Walk_chocolate_L_aft.png?content-type=image%2Fpng","left":"70.40%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0352087d-5636-4eec-8ba4-10ccdf3085b2/Herder1_Stand_L_aft.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"aft","shx":"0.0%","shw":"84.3%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b4f922c3-966b-4559-8051-2c7f47fbd1df/Berke_Stand_L_aft.png?content-type=image%2Fpng","left":"43.48%","bottom":"16.20%","width":"9.66%","id":"berke","pose":"ready","sh":"aft","shx":"0.0%","shw":"61.3%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/93b2b368-6ada-482e-a066-5ff0846e9768/Guard1_Stand_R_aft.png?content-type=image%2Fpng","left":"91.94%","bottom":"27.88%","width":"4.12%","id":"guard1","pose":"ready","sh":"aft","shx":"0.0%","shw":"80.0%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng","left":"10.70%","bottom":"10.20%","width":"7.34%","id":"fang","pose":"ready","sh":"aft","shx":"0.0%","shw":"84.0%","shh":"5.9%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%","id":"fortune","pose":"ready","sh":"aft","shx":"0.0%","shw":"88.5%","shh":"6.3%"}' >> <<soctrack "scene_enter" "VD.025.outside_smyrna.raid.halt">> /* HALT branch (v0.0.014). "Daereh!" + the zang; herders kush the strings into circles. Berke as the professional who hired professionals. $haltPost = where Fortune stands. */ <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Daereh!"'>> <<sceneprose "The lead herder has the big zang off the lead camel before you finish the word. He swings it hard. Every animal and every man on the road knows that sound.">> <<sceneprose "The herders yell Ikh, Ikh, and the camels fold into kush by string, four circles down the road, tails out, heads in. Donkeys inside. Packs down as walls. Before the dust they raised has settled, it is done.">> <<sceneprose "dialogue" '<span class="d4-who --berke">Berke:</span> (not looking away from the hills) "How long?"'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "I don’t know yet."'>> <<sceneprose "dialogue" '<span class="d4-who --berke">Berke:</span> "Then we wait."'>> <<sceneprose "Fang has not moved. She is where you left her, reading the wind. She has not looked at you once.">> <<sceneprose "The last camel goes down. Then nothing. The hills go quiet the way a room goes quiet when the wrong person walks in.">> <<script>> /* DESKTOP reveal-all (no taps); MOBILE keeps tap-per-beat. socIsMobile guard, matches the VD.020/030/045 convention. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<chasechoice "protective" "flow" "Stand with the animals. The herders are the ones who cannot fight." "" '[{"kind":"description","html":"You take the gap between the knelt camels and the road. Whatever comes, it comes through you first."}]'>><<set $haltPost to "animals">> <<chasechoice "tactical" "flow" "Get back to Fang. She saw it first; she will see it coming." "" '[{"kind":"description","html":"You run back down the line to her. She does not look at you. She says, to the hills, \"Late.\""}]'>><<set $haltPost to "fang">> <<chasechoice "trickster" "flow" "Find scree. If it comes, you want something to throw before it reaches you." "" '[{"kind":"description","html":"There is a spill of it at the road’s edge, loose and sharp. You get it under your hand and hold the cast ready. The one trick you have, and the range on it."}]'>><<set $haltPost to "scree">> <<advance "Continue" "VD.030.outside_smyrna.raid.crest">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Aft`>> <<music "" "" "" "">> /* SILENCE — dread tool; music arrives at the wound */ <<if $raidCall is "halt">><<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8ff0aa70-a442-4eb8-b571-6d912e5d8f8c/Camel_Kush_sand_L_aft.png?content-type=image%2Fpng","left":"39.93%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c94035a4-b4dc-4c6a-b5f8-024fbab18204/Camel_Kush_tan_L_aft.png?content-type=image%2Fpng","left":"57.15%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4f163595-fb63-4578-80bc-d5f35d94e650/Camel_Kush_lightbrown_L_aft.png?content-type=image%2Fpng","left":"74.36%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8442ba78-4e19-495c-a409-3ec7661a371d/Camel_Kush_fawn_L_aft.png?content-type=image%2Fpng","left":"91.57%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"aft","shx":"88.3%","shw":"75.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/99a9ea1f-808a-4ca2-a749-5c948ac740e5/Donkey_Walk_dun_L_aft.png?content-type=image%2Fpng","left":"53.18%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4567020d-aba8-4110-855f-9967e200caeb/Donkey_Walk_chocolate_L_aft.png?content-type=image%2Fpng","left":"70.40%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0352087d-5636-4eec-8ba4-10ccdf3085b2/Herder1_Stand_L_aft.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"aft","shx":"0.0%","shw":"84.3%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b4f922c3-966b-4559-8051-2c7f47fbd1df/Berke_Stand_L_aft.png?content-type=image%2Fpng","left":"43.48%","bottom":"16.20%","width":"9.66%","id":"berke","pose":"ready","sh":"aft","shx":"0.0%","shw":"61.3%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/93b2b368-6ada-482e-a066-5ff0846e9768/Guard1_Stand_R_aft.png?content-type=image%2Fpng","left":"91.94%","bottom":"27.88%","width":"4.12%","id":"guard1","pose":"ready","sh":"aft","shx":"0.0%","shw":"80.0%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng","left":"10.70%","bottom":"10.20%","width":"7.34%","id":"fang","pose":"ready","sh":"aft","shx":"0.0%","shw":"84.0%","shh":"5.9%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%","id":"fortune","pose":"ready","sh":"aft","shx":"0.0%","shw":"88.5%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fd8c3663-2f88-498f-bc99-e0fd65cf87cf/Vidune_Run_L_aft.png?content-type=image%2Fpng","left":"101.60%","bottom":"9.94%","width":"17.68%","id":"vamp_vidune","sh":"aft","shx":"66.9%","shw":"35.0%","shh":"6.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6bd41bc0-d886-44f5-9675-01568b423578/Eyvindr_Run_L_aft.png?content-type=image%2Fpng","left":"104.07%","bottom":"17.50%","width":"16.79%","id":"vamp_eyvindr","sh":"aft","shx":"63.4%","shw":"35.0%","shh":"6.6%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f1abeba1-10a9-4323-ab58-8b032ea88381/Igor_Run_L_aft.png?content-type=image%2Fpng","left":"104.74%","bottom":"10.46%","width":"17.86%","id":"vamp_igor","sh":"aft","shx":"64.1%","shw":"34.5%","shh":"6.7%"}' >><<else>><<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8eafd5ee-3816-417d-82e5-bcca5d5bf9bb/Camel_Walk_sand_L_aft.png?content-type=image%2Fpng","left":"38.85%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.7s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5e3f295c-8fe1-4bff-8a36-8119b03f6d90/Camel_Walk_tan_L_aft.png?content-type=image%2Fpng","left":"57.16%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-0.9s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8299c5d4-ddcc-4e50-b964-4b139cac177d/Camel_Walk_lightbrown_L_aft.png?content-type=image%2Fpng","left":"75.47%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.2s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c2eb8e8a-b646-4314-9505-011ca1581a4b/Camel_Walk_fawn_L_aft.png?content-type=image%2Fpng","left":"93.78%","bottom":"28.55%","width":"18.47%","sh":"aft","shx":"94.0%","shw":"75.0%","shh":"5.0%","stagger":"-1.4s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/99a9ea1f-808a-4ca2-a749-5c948ac740e5/Donkey_Walk_dun_L_aft.png?content-type=image%2Fpng","left":"53.92%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4567020d-aba8-4110-855f-9967e200caeb/Donkey_Walk_chocolate_L_aft.png?content-type=image%2Fpng","left":"72.23%","bottom":"27.90%","width":"10.36%","sh":"aft","shx":"67.1%","shw":"70.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0352087d-5636-4eec-8ba4-10ccdf3085b2/Herder1_Stand_L_aft.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"aft","shx":"0.0%","shw":"84.3%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b4f922c3-966b-4559-8051-2c7f47fbd1df/Berke_Stand_L_aft.png?content-type=image%2Fpng","left":"73.38%","bottom":"27.49%","width":"5.37%","id":"berke","pose":"ready","sh":"aft","shx":"0.0%","shw":"61.3%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/93b2b368-6ada-482e-a066-5ff0846e9768/Guard1_Stand_R_aft.png?content-type=image%2Fpng","left":"91.94%","bottom":"27.88%","width":"4.12%","id":"guard1","pose":"ready","sh":"aft","shx":"0.0%","shw":"80.0%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e9c52189-3750-4f69-a166-8f8fdfc26ea2/Fang_Scent_Still_R_aft.png?content-type=image%2Fpng","left":"10.70%","bottom":"10.20%","width":"7.34%","id":"fang","pose":"ready","sh":"aft","shx":"0.0%","shw":"84.0%","shh":"5.9%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5d4c693-b5f9-4da4-adb5-63b33718af9b/Fortune_Stand_R_aft.png?content-type=image%2Fpng","left":"26.08%","bottom":"12.28%","width":"6.88%","id":"fortune","pose":"ready","sh":"aft","shx":"0.0%","shw":"88.5%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fd8c3663-2f88-498f-bc99-e0fd65cf87cf/Vidune_Run_L_aft.png?content-type=image%2Fpng","left":"101.60%","bottom":"9.94%","width":"17.68%","id":"vamp_vidune","sh":"aft","shx":"66.9%","shw":"35.0%","shh":"6.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6bd41bc0-d886-44f5-9675-01568b423578/Eyvindr_Run_L_aft.png?content-type=image%2Fpng","left":"104.07%","bottom":"17.50%","width":"16.79%","id":"vamp_eyvindr","sh":"aft","shx":"63.4%","shw":"35.0%","shh":"6.6%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f1abeba1-10a9-4323-ab58-8b032ea88381/Igor_Run_L_aft.png?content-type=image%2Fpng","left":"104.74%","bottom":"10.46%","width":"17.86%","id":"vamp_igor","sh":"aft","shx":"64.1%","shw":"34.5%","shh":"6.7%"}' >><</if>> <<soctrack "scene_enter" "VD.030.outside_smyrna.raid.crest">> /* VAMPIRE DROP — three war-band members leap from the outcropping to the road, mirroring Lawrence's VD.090 drop pattern (leap ease-in holding the Jump sprite, then land ease-out crossfading to the Attack sprite). Each is a two-move chain via _d4MoveActorProgrammatic; the LANDING move carries the motion profile so the Jump->Front swap blur-smears on impact (the "blur/swap in the front image when the jump finishes" ask). Staggered ~220ms apart (close but individual). Width held at 11% throughout (author measured: 11% is already the right on-screen height vs Fang). Landing spots from author's marked screenshot: Vidūnė left/closest (46/13), Eyvindr middle-behind (68/17), Igor right (74/10). Start positions on the rock: Eyvindr above/behind Vidūnė. */ <<script>> /* v0.0.019 WAR BAND RUN-ON (replaces the v18 rock drop; there is no outcrop on the Sardis road plate). Three of the war band run in from off the right edge in their Run pose (default actor stride bob = the TTYD run), decelerate onto their marks, and snap to Attack (_socPose: the two sprites are different widths). Staggered ~250 ms. */ (function () { var STEPS = [{"id":"vamp_vidune","to":{"left":"47.40%","bottom":"9.94%"},"land":{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9c8bb819-ff08-4e99-86dc-29ca1fb59fed/Vidune_Attack_L_aft.png?content-type=image%2Fpng","left":"46.54%","bottom":"9.94%","width":"19.87%"},"delay":1600},{"id":"vamp_eyvindr","to":{"left":"58.66%","bottom":"17.50%"},"land":{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f3f3aebb-39ee-4c6d-b7e7-483b4829e0c0/Eyvindr_Attack_L_aft.png?content-type=image%2Fpng","left":"57.33%","bottom":"17.50%","width":"19.17%"},"delay":1850},{"id":"vamp_igor","to":{"left":"68.48%","bottom":"10.46%"},"land":{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c1f7c8ed-7f18-4de8-be53-3781a6329438/Igor_Attack_L_aft.png?content-type=image%2Fpng","left":"66.89%","bottom":"10.46%","width":"20.17%"},"delay":2100}]; var pg = State.passage; if (!window._d4MoveActorProgrammatic || !window._socPose) return; STEPS.forEach(function (st) { setTimeout(function () { if (State.passage !== pg) return; window._d4MoveActorProgrammatic(st.id, st.to.left, st.to.bottom, 1500, "ease-out", null, "cut", 0, 0, null); setTimeout(function () { if (State.passage !== pg) return; window._socPose(st.id, st.land, 90); if (window._d4SetActorBounce) window._d4SetActorBounce(st.id, "ready", "2.2s"); }, 1520); }, st.delay); }); if (State.variables.raidCall === "halt") { /* "Fortune jogs to the first circle of camels" */ setTimeout(function () { if (State.passage === pg) window._d4MoveActorProgrammatic("fortune", "37.14%", "15.41%", 1300, "ease-in-out", null, "cut", 0, 0, null); }, 300); } })(); <</script>> /* THE TABLE opens here in Guild mode. Whisper/Journal/Roster are still locked (Whisper unlocks in Chapter 2, downstream of here), so the Table is naturally Guild-only at this point — no explicit locking needed. setchat "pane" "force" makes it visible (the raid ran with chat "off"); settab "guild" lands the active tab. */ /* GUILD SUPPRESSED here. The IRL/guild layer is a RELEASE mechanism and must debut in a CALM beat (post-Kitchen-Table), never at peak fiction-tension like this vampire-drop climax. Relocating the reveal + Stari Krov lore to the post-Kitchen-Table guild intro + chase-start (Scope B decision, 21 Jul). NOTE: chatMode is STICKY state — just removing the force-open isn't enough; if an upstream passage or the default left it 'pane', THE TABLE stays visible. So we FORCE it closed here (any non-'pane' mode hides the pane; see render at ~5817). Old triggers (relocated, do not restore here): <<setchat "pane" "force">> / <<settab "guild">> */ <<setchat "pane" "force">> /* v0.0.028: the Table stays open through the raid (guild only; whispers come after). */ <<if $raidCall is "close">> <<sceneprose "They don’t wait for the last donkey to fall in.">> <<elseif $raidCall is "halt">> <<sceneprose "Fortune jogs to the first circle of camels.">> <<sceneprose "dialogue" '<span class="d4-who --berke">Berke:</span> "What’s happening?"'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Not sure. Fang is checking something out."'>> <<else>> <<sceneprose "Fortune signaled the merchant, Berke, to continue leading the caravan closer. Fang would want the caravan closer to them.">> <</if>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Stari Krov. Northern faction. Gold over burgundy — learn the colors."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Stari Krov?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "Later. Let’s survive this first."'>> /* Guild chat (staggered live-feed). Meta-layer: the pilots know things the in-fiction characters don't (Clare answers Ishani's question with out-of-fiction knowledge while Fortune-in-scene is still asking "Stari Krov?"). This is the MMO/TTRPG texture — players at the table know what their characters don't. Min-jae's line plants "they're here for Fang" via the guild layer, so Fang doesn't have to say it (she defers). */ /* RELOCATED — these 3 guild beats (the Stari Krov lore delivery) move to the post-Kitchen-Table guild intro, per Scope B. Preserved here commented so they're not lost; delete once re-homed. They must NOT fire during the vampire-drop climax. <<chatpush "ishani" "now" "clare, what does fang know that i don't?" 1200>> <<chatpush "clare" "now" "vampire clan that's been after mj's character. long story." 2800>> <<chatpush "minjae" "now" "Clare, don't let them get Fang. I may not get there in time." 4600>> */ <<script>> /* on DESKTOP, reveal all of VD.030's prose at once (no taps) — the four beats (vampires appear / Fang's read / Fortune / Fang defers) land together while the vampires perch, then the drop fires ~2s later so the player registers the scene, reads the beat, THEN the leap happens. On MOBILE, keep default tap-per-beat so the small screen isn't flooded with 4 beats + the combat drop. Matches VD.020's convention. The drop animation fires on passage-enter regardless of reveal mode. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.045.outside_smyrna.raid.spark">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Late`>> <<music "" "" "" "">> /* SILENCE — dread tool; music arrives at the wound */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fb70c5c4-81d1-4639-ac3e-9b0b6bcdacf9/Camel_Kush_sand_L_late.png?content-type=image%2Fpng","left":"39.93%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5bfa931-a712-47d0-b47b-e54a8d4f7b17/Camel_Kush_tan_L_late.png?content-type=image%2Fpng","left":"57.15%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6b946c9d-783a-4328-8df7-99eae3b9e141/Camel_Kush_lightbrown_L_late.png?content-type=image%2Fpng","left":"74.36%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4e444120-ef58-400d-a257-fe575c85b914/Camel_Kush_fawn_L_late.png?content-type=image%2Fpng","left":"91.57%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8354aeb5-d534-4149-9015-faa69c3c2d03/Donkey_Walk_dun_L_late.png?content-type=image%2Fpng","left":"53.18%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3586aeb8-3a32-4cd4-b50b-df20485c2ff4/Donkey_Walk_chocolate_L_late.png?content-type=image%2Fpng","left":"70.40%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e5f87b3b-0de5-4b4e-8f8d-0d95548327ea/Herder1_Stand_L_late.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0cc79b86-f4be-40e2-a752-a89dbeec31dc/Strongbox_late.png?content-type=image%2Fpng","left":"7.80%","bottom":"8.04%","width":"9.70%","id":"box","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"23.2%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ee632aa3-733a-412e-a189-00c379010c46/Guard1_Sword_R_late.png?content-type=image%2Fpng","left":"46.89%","bottom":"18.28%","width":"10.22%","id":"guard1","pose":"ready","sh":"late","shx":"0.0%","shw":"91.4%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/03e9fb40-c811-4203-87c7-b424dc525a58/Berke_Fight_R_late.png?content-type=image%2Fpng","left":"17.12%","bottom":"9.94%","width":"11.56%","id":"berke","pose":"ready","sh":"late","shx":"0.0%","shw":"85.6%","shh":"6.5%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/641eb80c-d985-4ddd-83b6-0b1b0dd0b31b/Fortune_Fight_R_late.png?content-type=image%2Fpng","left":"33.01%","bottom":"11.76%","width":"12.43%","id":"fortune","pose":"ready","sh":"late","shx":"0.0%","shw":"78.6%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/aee7705e-2ea9-4209-9e74-bab6540fdda6/Svetomir_Front_late.png?content-type=image%2Fpng","left":"104.00%","bottom":"20.11%","width":"8.16%","id":"svetomir","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"5.9%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4af63fef-4400-405d-b506-4bb908c6732e/Fang_Stand_R_late.png?content-type=image%2Fpng","left":"56.49%","bottom":"10.72%","width":"7.32%","id":"fang","pose":"ready","sh":"late","shx":"50.0%","shw":"100.0%","shh":"5.9%","bounceRate":"2s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8594c4ef-103f-4255-8f24-a55a531ebc20/Eyvindr_Attack_L_late.png?content-type=image%2Fpng","left":"66.02%","bottom":"16.46%","width":"19.31%","id":"vamp_eyvindr","pose":"ready","sh":"late","shx":"44.8%","shw":"49.0%","shh":"6.2%","bounceRate":"2.4s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3bc08475-1844-49b6-8c2b-ed0d09784c29/Vidune_Attack_L_late.png?content-type=image%2Fpng","left":"57.89%","bottom":"9.94%","width":"19.87%","id":"vamp_vidune","pose":"ready","sh":"late","shx":"44.9%","shw":"49.8%","shh":"6.2%","bounceRate":"2.2s"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2c703cf5-1b62-475b-9c34-ca3ad1a820d9/Igor_Attack_L_late.png?content-type=image%2Fpng","left":"73.82%","bottom":"10.20%","width":"20.20%","id":"vamp_igor","pose":"ready","sh":"late","shx":"48.8%","shw":"48.9%","shh":"6.2%","bounceRate":"2.6s"}' >> <<script>> /* v0.0.019 staging: Fang breaks off up the scree and the three follow her off the right edge (replaces the "She goes at them..." prose); then the fourth one walks in. */ (function () { var EX = {"fang":["109.59%","29.47%"],"vamp_vidune":["105.20%","28.82%"],"vamp_eyvindr":["107.26%","29.47%"],"vamp_igor":["110.49%","28.43%"]}, pg = State.passage, mv = window._d4MoveActorProgrammatic; if (!mv) return; function at(ms, fn) { setTimeout(function () { if (State.passage === pg) fn(); }, ms); } at(2600, function () { mv("fang", EX.fang[0], EX.fang[1], 1700, "ease-in", null, "cut", 0, 0, null); }); at(2950, function () { mv("vamp_vidune", EX.vamp_vidune[0], EX.vamp_vidune[1], 1600, "ease-in", null, "cut", 0, 0, null); }); at(3200, function () { mv("vamp_eyvindr", EX.vamp_eyvindr[0], EX.vamp_eyvindr[1], 1600, "ease-in", null, "cut", 0, 0, null); }); at(3400, function () { mv("vamp_igor", EX.vamp_igor[0], EX.vamp_igor[1], 1600, "ease-in", null, "cut", 0, 0, null); }); at(5600, function () { mv("svetomir", "79.83%", "20.11%", 2600, "ease-out", null, "cut", 0, 0, null); }); })(); <</script>> <<soctrack "scene_enter" "VD.045.outside_smyrna.raid.spark">> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (blocks a swipe with her kilij) "This blade isn’t biting. Leather’s too thick."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "Try their face?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (body-checks the blonde one back a step) "Not funny."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> (you slash at the tall one; he isn’t there anymore) "What are they doing?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> (a step back she didn’t choose) "Cutting me out of the herd."'>> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> "...huh?"'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "It’s not a raid."'>> <<sceneprose "dialogue" '<span class="d4-who --fang">Fang:</span> "The merchant. Keep him alive. These three are mine."'>> <<sceneprose "They let her lead them. That is the part you do not like.">> <<sceneprose "There is a fourth one. It came down off the rocks while you were watching her go. It has not looked at the merchant once.">> <<sceneprose "You are too far to reach him.">> <<script>> /* on DESKTOP, reveal all of VD.045's dialogue at once (no per-beat taps) so the fight lands as a dump, then the CHOICE appears; the choice blocks progress (no Continue until a branch is picked, because reveal-mode routes in place). On MOBILE, keep default tap-per-beat. Matches VD.020/030 convention. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<chasechoice "tactical+trickster" "flow" "Reach for the scree. Put the camel between the vampire and the merchant." "" '[{"kind":"description","html":"You cast. Grit sprays off the black-haired vampire’s flank, into the camel’s face. It bellows and shoves itself between them, all knees and teeth."},{"kind":"description","html":"The camel swings its neck; the black-haired vampire catches it, lets it throw him, and comes off the far side already moving."}]'>> <<chasechoice "protective" "flow" "Get your body between the merchant and the vampire." "" '[{"kind":"description","html":"You run. You get there. You get between them."},{"kind":"description","html":"He feints left. You shift. He’s already right, past your shoulder, gone."}]'>> <<advance "Continue" "VD.050.outside_smyrna.raid.merchant">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Late`>> /* v3.02.24: was Caravan_Close_Afternoon; swapped to Caravan_Road_Dusk (7eab7e6b raw URL — registry key points at a different bad2ebbc image) so the withdrawing vampires have hills/road to recede into. */ <<music "" "" "" "">> /* SILENCE — dread tool; music arrives at the wound */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fb70c5c4-81d1-4639-ac3e-9b0b6bcdacf9/Camel_Kush_sand_L_late.png?content-type=image%2Fpng","left":"39.93%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5bfa931-a712-47d0-b47b-e54a8d4f7b17/Camel_Kush_tan_L_late.png?content-type=image%2Fpng","left":"57.15%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6b946c9d-783a-4328-8df7-99eae3b9e141/Camel_Kush_lightbrown_L_late.png?content-type=image%2Fpng","left":"74.36%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4e444120-ef58-400d-a257-fe575c85b914/Camel_Kush_fawn_L_late.png?content-type=image%2Fpng","left":"91.57%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8354aeb5-d534-4149-9015-faa69c3c2d03/Donkey_Walk_dun_L_late.png?content-type=image%2Fpng","left":"53.18%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3586aeb8-3a32-4cd4-b50b-df20485c2ff4/Donkey_Walk_chocolate_L_late.png?content-type=image%2Fpng","left":"70.40%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e5f87b3b-0de5-4b4e-8f8d-0d95548327ea/Herder1_Stand_L_late.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0cc79b86-f4be-40e2-a752-a89dbeec31dc/Strongbox_late.png?content-type=image%2Fpng","left":"7.80%","bottom":"8.04%","width":"9.70%","id":"box","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"23.2%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9bc76e03-3dd8-4795-945c-f75463bbedb5/Guard1_Dead_late.png?content-type=image%2Fpng","left":"40.72%","bottom":"18.28%","width":"20.32%","id":"guard1_dead","pose":"still","hidden":true,"sh":"late","shx":"50.0%","shw":"100.0%","shh":"20.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5b7275f9-e074-4021-99f0-5b5ceafe5b07/Shamshir_Dropped_Guard_late.png?content-type=image%2Fpng","left":"54.23%","bottom":"13.91%","width":"8.67%","id":"prop_g","pose":"still","hidden":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ee632aa3-733a-412e-a189-00c379010c46/Guard1_Sword_R_late.png?content-type=image%2Fpng","left":"46.89%","bottom":"18.28%","width":"10.22%","id":"guard1","pose":"ready","sh":"late","shx":"0.0%","shw":"91.4%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/03e9fb40-c811-4203-87c7-b424dc525a58/Berke_Fight_R_late.png?content-type=image%2Fpng","left":"17.12%","bottom":"9.94%","width":"11.56%","id":"berke","pose":"ready","sh":"late","shx":"0.0%","shw":"85.6%","shh":"6.5%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/641eb80c-d985-4ddd-83b6-0b1b0dd0b31b/Fortune_Fight_R_late.png?content-type=image%2Fpng","left":"33.01%","bottom":"11.76%","width":"12.43%","id":"fortune","pose":"ready","sh":"late","shx":"0.0%","shw":"78.6%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/aee7705e-2ea9-4209-9e74-bab6540fdda6/Svetomir_Front_late.png?content-type=image%2Fpng","left":"79.83%","bottom":"20.11%","width":"8.16%","id":"svetomir","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"5.9%"}' >> <<script>> /* v0.0.019 staging: the fourth one walks through Hakan. Hakan goes down (xfade to the dead sprite + his dropped blade), and it steps over him toward you. */ (function () { var pg = State.passage, mv = window._d4MoveActorProgrammatic; if (!mv || !window._socXfade) return; function at(ms, fn) { setTimeout(function () { if (State.passage === pg) fn(); }, ms); } at(1400, function () { mv("svetomir", "53.35%", "16.20%", 1200, "ease-in", null, "cut", 0, 0, null); }); at(2550, function () { window._socXfade("guard1", "guard1_dead", 220); window._socXfade(null, "prop_g", 220); }); at(3300, function () { mv("svetomir", "42.28%", "13.07%", 1100, "ease-in-out", null, "cut", 0, 0, null); }); })(); <</script>> <<soctrack "scene_enter" "VD.050.outside_smyrna.raid.merchant">> <<sceneprose "Hakan, one of the other guards, swings at the fourth one. It brushes past him without looking. Hakan hits the ground, hard.">> <<sceneprose "You were not enough.">> <<sceneprose "The fourth one is older than the three that went. It moves like the road belongs to it. It steps over Hakan the way you would step over a dropped rein.">> <<sceneprose "dialogue" '<span class="d4-who --fortune">$avatarName:</span> (over your shoulder, up the hill) "Fang!"'>> <<sceneprose "Nothing comes back down. The scree has her and the three with her, and whatever is happening up there is happening without you.">> <<sceneprose "It is looking at you now. It has been looking at you the whole time.">> <<script>> /* DESKTOP reveal-all (no tabs); MOBILE keeps tap-per-beat. Matches the VD.020/030/045 convention (socIsMobile guard). Post-fight passage, so revealing all at once on desktop reads clean. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.060.outside_smyrna.raid.falls">>
<<setheader "ROAD TO SMYRNA" "Late afternoon · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Late`>> <<music "Alone With Tears" "Forestella" "" "">> /* §2.2 cross-timeline restraint-grief; echoes prequel Jiwon-loss */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fb70c5c4-81d1-4639-ac3e-9b0b6bcdacf9/Camel_Kush_sand_L_late.png?content-type=image%2Fpng","left":"39.93%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5bfa931-a712-47d0-b47b-e54a8d4f7b17/Camel_Kush_tan_L_late.png?content-type=image%2Fpng","left":"57.15%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6b946c9d-783a-4328-8df7-99eae3b9e141/Camel_Kush_lightbrown_L_late.png?content-type=image%2Fpng","left":"74.36%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4e444120-ef58-400d-a257-fe575c85b914/Camel_Kush_fawn_L_late.png?content-type=image%2Fpng","left":"91.57%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8354aeb5-d534-4149-9015-faa69c3c2d03/Donkey_Walk_dun_L_late.png?content-type=image%2Fpng","left":"53.18%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3586aeb8-3a32-4cd4-b50b-df20485c2ff4/Donkey_Walk_chocolate_L_late.png?content-type=image%2Fpng","left":"70.40%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e5f87b3b-0de5-4b4e-8f8d-0d95548327ea/Herder1_Stand_L_late.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"6.5%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0cc79b86-f4be-40e2-a752-a89dbeec31dc/Strongbox_late.png?content-type=image%2Fpng","left":"7.80%","bottom":"8.04%","width":"9.70%","id":"box","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"23.2%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9bc76e03-3dd8-4795-945c-f75463bbedb5/Guard1_Dead_late.png?content-type=image%2Fpng","left":"40.72%","bottom":"18.28%","width":"20.32%","id":"guard1_dead","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"20.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5b7275f9-e074-4021-99f0-5b5ceafe5b07/Shamshir_Dropped_Guard_late.png?content-type=image%2Fpng","left":"54.23%","bottom":"13.91%","width":"8.67%","id":"prop_g","pose":"still"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/305b8319-8f82-4cb6-b67f-5a616ebca4f4/Berke_Dead_late.png?content-type=image%2Fpng","left":"10.95%","bottom":"9.94%","width":"21.26%","id":"berke_dead","pose":"still","hidden":true,"sh":"late","shx":"50.0%","shw":"100.0%","shh":"19.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ad0b27c7-3696-4e91-9024-56329a72b031/Shamshir_Dropped_Berke_late.png?content-type=image%2Fpng","left":"26.60%","bottom":"8.18%","width":"9.01%","id":"prop_b","pose":"still","hidden":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/03e9fb40-c811-4203-87c7-b424dc525a58/Berke_Fight_R_late.png?content-type=image%2Fpng","left":"17.12%","bottom":"9.94%","width":"11.56%","id":"berke","pose":"ready","sh":"late","shx":"0.0%","shw":"85.6%","shh":"6.5%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/a684a6e4-d408-4132-9933-7351f20d2feb/Fortune_Stagger_L_late.png?content-type=image%2Fpng","left":"31.56%","bottom":"11.76%","width":"11.76%","id":"fortune_stagger","pose":"still","hidden":true,"sh":"late","shx":"0.0%","shw":"83.1%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/641eb80c-d985-4ddd-83b6-0b1b0dd0b31b/Fortune_Fight_R_late.png?content-type=image%2Fpng","left":"33.01%","bottom":"11.76%","width":"12.43%","id":"fortune","pose":"ready","sh":"late","shx":"0.0%","shw":"78.6%","shh":"6.4%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fea4a029-9301-47c5-8550-ecd555f06623/Svetomir_Lunge_L_late.png?content-type=image%2Fpng","left":"34.14%","bottom":"13.07%","width":"20.13%","id":"svet_lunge","pose":"still","hidden":true,"sh":"late","shx":"37.0%","shw":"48.1%","shh":"6.3%","front":true}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/aee7705e-2ea9-4209-9e74-bab6540fdda6/Svetomir_Front_late.png?content-type=image%2Fpng","left":"28.45%","bottom":"11.24%","width":"8.68%","id":"svet_on","pose":"still","hidden":true,"sh":"late","shx":"50.0%","shw":"100.0%","shh":"5.9%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/aee7705e-2ea9-4209-9e74-bab6540fdda6/Svetomir_Front_late.png?content-type=image%2Fpng","left":"42.28%","bottom":"13.07%","width":"8.57%","id":"svetomir","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"5.9%"}' >> <<script>> /* v0.0.019 staging: the lunge. It goes past you (you stagger) to Berke over his box; Berke falls. Then it is back on you. (The hold itself is carried by the prose; there is no hold sprite in this build.) */ (function () { var pg = State.passage, mv = window._d4MoveActorProgrammatic; if (!mv || !window._socXfade) return; function at(ms, fn) { setTimeout(function () { if (State.passage === pg) fn(); }, ms); } at(1200, function () { window._socXfade("svetomir", "svet_lunge", 120); }); at(1280, function () { mv("svet_lunge", "15.23%", "10.20%", 420, "ease-in", null, "cut", 0, 0, null); }); at(1380, function () { window._socXfade("fortune", "fortune_stagger", 140); }); at(1720, function () { window._socXfade("berke", "berke_dead", 160); window._socXfade(null, "prop_b", 160); }); at(3600, function () { window._socXfade("svet_lunge", "svet_on", 260); }); })(); <</script>> <<soctrack "scene_enter" "VD.060.outside_smyrna.raid.falls">> <<sceneprose "You are fast. You are not everywhere.">> <<sceneprose "Berke falls without a sound worth the name. He went down over his crate, still guarding the cargo entrusted to him, a man who was never worth killing until today.">> <<sceneprose "Two, in the space of a breath. Hakan is one of them. You worked three caravans with him. You’re not sure what you feel. You are tired, and there is the dead to bury and grieve.">> <<sceneprose "And the fourth one is on you before the grief is. Its hand is at your throat and your feet are not on the ground and there is nothing in its face at all. Not hunger. Not anger. Attention.">> <<script>> /* DESKTOP reveal-all (no tabs); MOBILE keeps tap-per-beat. 3-beat wound passage, so mobile stays minimal (3 taps) and desktop reveals all at once. */ if (window.socIsMobile && !window.socIsMobile()) { var _q = State.variables._sceneQueue || []; if (_q.length > 0) State.variables._sceneRevealed = _q.length - 1; } <</script>> <<advance "Continue" "VD.090.outside_smyrna.raid.outcropping">>
<<setheader "ROAD TO SMYRNA" "Dusk · 1402" "VD v1.0">> <<setscene `SOC_ASSETS.SilkRoad_Winter_Late`>> <<music "" "" "" "">> /* SILENCE on purpose — no rescue swell. Nothing to score. */ <<setactors '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/fb70c5c4-81d1-4639-ac3e-9b0b6bcdacf9/Camel_Kush_sand_L_late.png?content-type=image%2Fpng","left":"39.93%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%","id":"bg0"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f5bfa931-a712-47d0-b47b-e54a8d4f7b17/Camel_Kush_tan_L_late.png?content-type=image%2Fpng","left":"57.15%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%","id":"bg1"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6b946c9d-783a-4328-8df7-99eae3b9e141/Camel_Kush_lightbrown_L_late.png?content-type=image%2Fpng","left":"74.36%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%","id":"bg2"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4e444120-ef58-400d-a257-fe575c85b914/Camel_Kush_fawn_L_late.png?content-type=image%2Fpng","left":"91.57%","bottom":"28.37%","width":"17.10%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.8%","id":"bg3"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8354aeb5-d534-4149-9015-faa69c3c2d03/Donkey_Walk_dun_L_late.png?content-type=image%2Fpng","left":"53.18%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%","id":"bg4"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3586aeb8-3a32-4cd4-b50b-df20485c2ff4/Donkey_Walk_chocolate_L_late.png?content-type=image%2Fpng","left":"70.40%","bottom":"27.90%","width":"10.36%","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"7.7%","id":"bg5"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e5f87b3b-0de5-4b4e-8f8d-0d95548327ea/Herder1_Stand_L_late.png?content-type=image%2Fpng","left":"41.02%","bottom":"27.88%","width":"3.82%","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"6.5%","id":"bg6"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0cc79b86-f4be-40e2-a752-a89dbeec31dc/Strongbox_late.png?content-type=image%2Fpng","left":"7.80%","bottom":"8.04%","width":"9.70%","id":"box","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"23.2%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/855c2e92-eba7-4af6-98f6-2cf60424ed80/Lawrence_Watch_L_late.png?content-type=image%2Fpng","left":"22.14%","bottom":"38.96%","width":"4.86%","id":"lawrence_rise","pose":"still","sh":"late","shx":"0.0%","shw":"94.1%","shh":"5.9%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9bc76e03-3dd8-4795-945c-f75463bbedb5/Guard1_Dead_late.png?content-type=image%2Fpng","left":"40.72%","bottom":"18.28%","width":"20.32%","id":"guard1_dead","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"20.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5b7275f9-e074-4021-99f0-5b5ceafe5b07/Shamshir_Dropped_Guard_late.png?content-type=image%2Fpng","left":"54.23%","bottom":"13.91%","width":"8.67%","id":"prop_g","pose":"still"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/4b4e42ba-cd7d-4699-9af6-b071f1e802d7/Tomur_Kneel_L_dusk.png?content-type=image%2Fpng","left":"60.91%","bottom":"16.56%","width":"11.83%","id":"tomur","pose":"still","hidden":true,"sh":"dusk","shx":"0.0%","shw":"75.0%","shh":"10.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/305b8319-8f82-4cb6-b67f-5a616ebca4f4/Berke_Dead_late.png?content-type=image%2Fpng","left":"10.95%","bottom":"9.94%","width":"21.26%","id":"berke_dead","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"19.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ad0b27c7-3696-4e91-9024-56329a72b031/Shamshir_Dropped_Berke_late.png?content-type=image%2Fpng","left":"26.60%","bottom":"8.18%","width":"9.01%","id":"prop_b","pose":"still"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6d84b701-c7de-4392-a5a4-c420e72c6afe/Guard2_Crouch_R_dusk.png?content-type=image%2Fpng","left":"1.49%","bottom":"9.94%","width":"11.62%","id":"guard2","pose":"still","hidden":true,"sh":"dusk","shx":"90.6%","shw":"79.8%","shh":"8.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0ed91d09-d984-48c7-989c-f6625ebe4a64/Fortune_Kneel_L_late.png?content-type=image%2Fpng","left":"34.74%","bottom":"11.87%","width":"12.80%","id":"fortune","pose":"still","sh":"late","shx":"50.0%","shw":"100.0%","shh":"10.8%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/7b90cb16-87ab-45cc-a07e-92f4d2c2c11e/Fortune_Stand_L_dusk.png?content-type=image%2Fpng","left":"34.51%","bottom":"11.76%","width":"10.08%","id":"fortune_up","pose":"ready-slow","hidden":true,"sh":"dusk","shx":"3.3%","shw":"60.6%","shh":"6.3%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/00b22281-9077-4e41-91b4-c3bcb586b523/Svetomir_Back_late.png?content-type=image%2Fpng","left":"39.24%","bottom":"12.81%","width":"8.59%","id":"svetomir","pose":"ready-slow","sh":"late","shx":"50.0%","shw":"100.0%","shh":"5.9%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2fadde04-0ad3-469e-9aaf-58981c43301d/Lawrence_Stand_R_dusk.png?content-type=image%2Fpng","left":"-17.57%","bottom":"7.85%","width":"9.09%","id":"lawrence","sh":"dusk","shx":"82.5%","shw":"69.0%","shh":"5.9%"}' '{"src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/b56c964a-3026-440a-8a34-56e2acf8240e/Fang_BladeWet_L_dusk.png?content-type=image%2Fpng","left":"108.41%","bottom":"14.37%","width":"14.22%","id":"fang","sh":"dusk","shx":"29.9%","shw":"42.2%","shh":"5.9%"}' >> <<script>> /* v0.0.019 staging, tap-driven (hooks fire as each beat is revealed; this passage no longer reveals all at once on desktop, so the staging lands with the words). beat 3 "He drops you" -> Svetomir walks off up the road into the hills beat 4 "He watched" -> dusk falls (plate + every sprite to its dusk render); Tomur and Guard2 are tending the dead; Lawrence leaves the rise and walks in to stand facing you; you get up beat 7 "...not there anymore" -> Lawrence is gone beat 8 "Fang comes back" -> Fang walks in from the right, blade wet */ (function () { var pg = State.passage, mv = window._d4MoveActorProgrammatic; var DUSK = [["bg0","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8085faa9-f26a-4249-a1cf-0bba98f87185/Camel_Kush_sand_L_dusk.png?content-type=image%2Fpng"],["bg1","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6d3fe3f7-d0ef-4e8b-8945-ae2bc0e3a1be/Camel_Kush_tan_L_dusk.png?content-type=image%2Fpng"],["bg2","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2c34b8d0-f9e7-47ab-a214-ea443d0b27de/Camel_Kush_lightbrown_L_dusk.png?content-type=image%2Fpng"],["bg3","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/76ab92e5-2328-4d09-9899-e59eb9647627/Camel_Kush_fawn_L_dusk.png?content-type=image%2Fpng"],["bg4","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/aff737de-b1c1-4f10-9ec6-e21a63616487/Donkey_Walk_dun_L_dusk.png?content-type=image%2Fpng"],["bg5","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/44ba5223-1d4b-4c54-8612-65d4e4475c7d/Donkey_Walk_chocolate_L_dusk.png?content-type=image%2Fpng"],["bg6","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/7f762836-e510-446b-8ac6-56cc8b36a558/Herder1_Stand_L_dusk.png?content-type=image%2Fpng"],["box","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5d2831fb-660a-4490-a7f7-ab5469dd5ce0/Strongbox_dusk.png?content-type=image%2Fpng"],["guard1_dead","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/18eb064a-953c-45cc-a194-00477b80d030/Guard1_Dead_dusk.png?content-type=image%2Fpng"],["prop_g","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/a0ed1e4e-e08e-43a9-b9e6-59ba8cba9d67/Shamshir_Dropped_Guard_dusk.png?content-type=image%2Fpng"],["berke_dead","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/04a9f6a7-6cfe-431d-923a-faac7a1d7c2a/Berke_Dead_dusk.png?content-type=image%2Fpng"],["prop_b","https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6dc72f5b-a6b2-4e51-ad1c-dfa83c33e566/Shamshir_Dropped_Berke_dusk.png?content-type=image%2Fpng"]], PLATE = "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/6657bbfc-e712-47ce-b2fb-2b6a9c548230/SilkRoad_Smyrna-Samarkand_wintergreen_dusk.jpg?content-type=image%2Fjpeg"; window._d4GroupRevealHooks = { _passage: pg }; function at(ms, fn) { setTimeout(function () { if (State.passage === pg) fn(); }, ms); } window._d4GroupRevealHooks["3"] = function () { mv("svetomir", "108.08%", "28.43%", 4200, "ease-in", null, "cut", 0, 0, null); }; window._d4GroupRevealHooks["4"] = function () { at(900, function () { window._socSceneSwap(PLATE, 1800); DUSK.forEach(function (p) { window._socSrc(p[0], p[1], 1800); }); window._socXfade("lawrence_rise", null, 1200); window._socXfade(null, "tomur", 1600); window._socXfade(null, "guard2", 1600); }); at(2300, function () { window._socXfade("fortune", "fortune_up", 500); }); at(1800, function () { mv("lawrence", "19.42%", "7.85%", 3000, "ease-out", null, "cut", 0, 0, null); }); at(4850, function () { if (window._d4SetActorBounce) window._d4SetActorBounce("lawrence", "ready", "4s"); }); }; window._d4GroupRevealHooks["7"] = function () { at(600, function () { window._socXfade("lawrence", null, 900); }); }; window._d4GroupRevealHooks["8"] = function () { mv("fang", "68.12%", "14.37%", 2600, "ease-out", null, "cut", 0, 0, null); at(2650, function () { if (window._d4SetActorBounce) window._d4SetActorBounce("fang", "ready", "3.5s"); }); }; })(); <</script>> <<soctrack "scene_enter" "VD.090.outside_smyrna.raid.outcropping">> /* v0.0.016 REWRITE, 15 Sep — LOCKED: Lawrence watches, does not help. This is also where Beat 1's funnel logic lands: the raiders disengage on their own terms, not because they're repelled. Svetomir is the fourth attacker (his sprite already added at VD.060). His withdrawal here is his own tactical read of Lawrence's presence — Lawrence takes no action, says nothing, moves toward no one, until the warband is already gone. */ <<sceneprose "His hand does not tighten. It does not need to. You are already off your feet, and the world has gone very quiet at the edges.">> <<sceneprose "Then his grip changes — not looser, just different. The difference between a man holding a door shut and a man who has just remembered where the door leads.">> <<sceneprose "Whatever the man in the coat is, Svetomir has met the idea of him before, and it costs something to decide, in half a breath, that tonight is not the night to test it further.">> <<sceneprose "He drops you. Not gently — you land hard enough to lose the next few seconds. By the time your eyes work again, he is already three strides gone, and he does not look back at you once. He looks at the outcropping, the whole way, until the dark of the hills takes him.">> <<sceneprose "dialogue" '<div class="d4-dlg" style="font-style:italic; color: var(--text-mid);">He watched. The whole time, he watched, and he let it happen anyway.</div>'>> <<sceneprose "His voice is warm and low, like aged boza, entirely unbothered by what he just let happen ten feet away.">> <<sceneprose "dialogue" '<span class="d4-who --lawrence">Lawrence:</span> "You already know what you want. You have known for a while. Stop waiting for permission that was never required."'>> <<sceneprose "He holds your gaze like you are the first interesting thing he has seen in a very long time. Then he is simply not there anymore, and you are left deciding which of the last five minutes to be angrier about.">> <<sceneprose "Fang comes back down the scree alone, blade wet, and finds two bodies and you on your knees, breathing. She did not see him.">> /* v0.0.019: desktop reveal-all removed here; the staging hooks above need tap-per-beat. */ <<advance "Continue" "VD.100.ishani_apartment.kitchen.reveal">>
<<setchat "pane" "force">> /* v3.02.25: was bare <<setchat "pane">> which is a no-op (pane state is player-owned; force is required — same bug as the VD.110 chase pane). The Kitchen is where the guild chat DEBUTS post-raid (welcome-to-the-guild), so it must force the pane on. */ <<settab "guild">> <<setheader "AT THE KITCHEN TABLE" "Tuesday Night · 9:46pm" "VD v1.0 · §0">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/bc4afc86-a419-4701-8e0a-2861a833d5c3/Ishani_Facing_Left2.png?content-type=image%2Fpng">> <<setactors>> /* explicit actor clear — the §0 kitchen is Ishani-only (not yet in Fortune), no in-world NPCs. Beat1_Debt sets Lawrence (Intense2) and drops him via a FADE_MS timer, but a player who taps the advance BEFORE that timer fires leaves _sceneActors populated, so Lawrence persisted into the kitchen (setscene does not auto-clear actors — established v2.10.44 pattern). This clear makes the kitchen self-contained and race-proof. */ /* D2 opening: the vampire/Mo Stór hook is the game's first line. Desire's overlay is intentionally empty so the kitchen leads with the desire-pick, not re-stated lore. Do NOT restore the old two-paragraph overlay; it's superseded. The grounding lines below are PARKED for relocation into Beat 3/4 as Ishani's kitchen texture (build pending). PARKED TEXT (for Beat 3/4): "The Silk Road breathes, port by port and caravan by caravan. You have been walking it since you were old enough and tall enough to get hired." */ <<soctrack "scene_enter" "VD.100.ishani_apartment.kitchen.reveal">> /* GUILD CHAT DEBUT (post-raid reaction). The Kitchen Table is the END of Ch1 (after the raid), so "last session" IS the caravan raid the player just played. The guild is reacting to it: Clare checks in (warm — the evidence that THIS guild is different, paying off the journal's "clare swears this guild is different"); Min-jae fires the false-green-flag re: Lawrence (the charm-summons reframed as a good thing — "it unlocks his questline"); Jeff lands dry gallows humor. DRAFTED LOOSE — Dani's rewrite zone (IRL/guild register). Staggered delays = natural arrival rhythm. */ <<chatpush "clare" "now" "okay that caravan run was ROUGH. you good?">> <<chatpush "jeff" "now" "she watched a man get swatted like a fly and asks if SHE'S good" 1400>> <<chatpush "clare" "now" "jeff" 2600>> <<chatpush "jeff" "now" "im just saying she held it together better than i would've" 3600>> <<chatpush "minjae" "now" "the vampire that showed up at the end? don't stress about him." 5200>> <<chatpush "minjae" "now" "trust me. that's a good thing. it unlocks his whole questline. you'll see." 6600>> <<chatpush "clare" "now" "welcome to the guild btw. we're not the last one. promise." 8400>> /* §0 KITCHEN-TABLE SEAM — Ishani at her laptop, not yet in Fortune. THE TABLE (the open/close guild panel, right side) is the IRL layer and is present here BY DESIGN: the seam is Ishani logging in and her friends (Clare, MJ, Jeff) arriving for game night. There is no in-fiction party-card to hide — that pane is display:none, and the old hideparty/showparty/_partySlots roster machinery was removed v2.11.10 (23 Jun 2026). The §0 frame is correct as-is. */ <<artprompt "kitchen-seam" "Wide kitchen shot, late Tuesday night. Woman in 30s (Ishani: South Asian, brown skin, dark hair pulled back, tired-but-focused), seated at a kitchen table, lit by laptop screen. Soft amber kitchen light layered with cool screen-glow on her face. Visible scene details: she closed her work laptop an hour ago and has been waiting for this — the beat-up second laptop sits closed on a chair behind her, the one she's done with. The one she's opening is hers. The dishwasher is mid-cycle in the background (LED visible). Potato — small white dog — is asleep on the couch in soft focus. A half-eaten bowl is pushed aside. The tea is still steaming in its mug. The animation should hold this stillness for a beat: she is finally getting to open her own laptop. Style: cinematic, warm grading, evening interiority. Reference for tone: Persona 5 cafe scenes, Ghost Town MV's domestic quietness. Aspect 16:9. Mood: late-Tuesday-night gamer-mom crossing the seam into her game. Animation note: light on her face shifts cool as the laptop screen wakes — that color shift IS the seam crossing into the game-world she is about to enter." true>> <<soundprompt "ambient" "Late-Tuesday-night domestic kitchen ambient bed: dishwasher cycling soft underwater rumble, distant traffic far away, refrigerator hum, occasional click from floorboards or appliance. ~30 seconds, seamlessly loopable. No dialog. No music. Quietly present, not intrusive — the sound of being alone after the house has gone to sleep.">> /* artist label gets " · continues" — Ghost Town plays unbroken from the loader/BEGIN page through this kitchen-table passage (continuous by design: the menu→kitchen flow settles the player into the meta world before the chase). The <<music>> macro is display-only (renders the label card; does not control audio), so "continues" is the correct player-facing note for a carried-over track, matching every other carryover label in the file (Legacy/Beat-Boxer/ Heartbeat). Ghost Town crossfades to Legacy at the chase (B1), not here. */ <<music "Ghost Town" "Chen & Hwe Seung · continues" "https://youtu.be/sQ72u1KqJwU?si=rZfDzcf0dtPmxf0G&t=43" "">> /* v2.8: The desire-pick anchor is Ishani's journal entry from 3 weeks ago, in her gamer-voice journal register — not the literary narrator line that previously occupied this surface. Two surfaces fire from the same prose: (1) the left-pane prompt block below, where the entry anchors the desire-pick screen; (2) the right-pane Journal tab via <<journalentry>>, where the same entry appears as her previous session's writing — visible when the player first taps the Journal tab during play. Register Style Sheet: narrator describes the world; Ishani describes herself. The "Silk Road breathes..." overlay above (set via <<setoverlay>>) stays in narrator register and describes Fortune's world; this block stays in Ishani's gamer voice and describes her own. Two voices, two jobs. v2.10.39: Overlay extended with second paragraph "...and the vampire told you to meet him at Mo Stór..." per author direction 20 May. Typography is load-bearing: separate <p> block, ellipses framing on both sides. The line is set as Fortune's thought, not as continuation of narrator-establishment. Three things the typography does that a conjunction ("And ...") in the same paragraph would not: (1) The paragraph break separates world-establishment from the gravitational anomaly in that world. The vampire's call is not just one more fact about the Silk Road; it is the thing that cuts through it. (2) The leading ellipsis says: this thought has been running in her head before this moment. The player joins it mid-stream. (3) The trailing ellipsis says: and it doesn't stop. Fortune carries this thought into the chase, into Beat 5, into the charm at Beat 6, into Mo Stór's threshold. REGISTER NOTE — DELIBERATE EDGE-CASE: The Demo 4 voiceover canon (per v2.10.15 cut at the B4 stale-comment block) explicitly removed interiority lines from mid-scene surfaces. Ellipses-framed thought edges toward an interiority register the demo elsewhere does not use. The author accepts this trade-off because the overlay is establishing-mode (stage-setting, not mid-action), which is the one surface where slightly softer register rules are canonical. The interiority-flavored framing here does NOT reopen the interiority lane for mid-scene surfaces; it lives only on the stage-setting overlay. If later beats reach for ellipses-thought in mid-scene, this entry should NOT be cited as precedent — those would require their own canon review. CANON ANCHOR for the line: Fortune knows the man who told her to meet him at Mo Stór is a vampire. She does NOT know his name (no one has spoken it to her). Two canon mechanics support this: (i) Vampires are a separate visible species per Game Bible worldbuilding. They read as not-quite-human at any reasonable distance — skin tone, eye structure, posture, stillness, the species announces itself. No exposition beat ("I am a vampire") was required at the caravan-fight encounter; Fortune saw what he was. The opening overlay's "the vampire" framing is the narrator faithfully reporting Fortune's actual cognition. (ii) Identity is a separate knowledge layer from species. Lawrence did not give Fortune his name at the caravan fight (he doesn't think he needs to). She walks into Demo 4 knowing what he is, not who he is. His name will land only when someone speaks it to her — likely Fang or Marcus at Mo Stór. So the opening overlay is not a spoiler and does not break register — the narrator is faithfully reporting Fortune's species-knowledge while the demo's later beats (rooftop recognition, name-arrival at Mo Stór) pay off the identity layer separately. Same register (narrator describes the world, including Fortune's known-relationships in it), no future-narrator voice introduced. The line does two design jobs: (1) Agency-setup: Fortune chose to come to Smyrna. The chase has a before. Without this line the demo opens in medias res with no stakes-of-origin — Fortune is just running. With it, the chase becomes "what happens to her while she is on her way to him." This is the design philosophy's "make the player's desire legible" applied to Fortune's desire, not just Ishani's. (2) Bridge to full game: this line plants the Mo Stór destination and Lawrence-as-summoner before the player has reason to care about either. Demo 4 ends at Mo Stór's threshold; the full game opens with Fortune walking through that door. The opening overlay seeds the gravity that the full game pays off. Downstream implications worth flagging (not bugs, but tone-shifts the line creates that earlier drafts of Beats 4-6 may not yet reflect): - Beat 5 drop physics framing ("the drop physics tell the player what Lawrence is, before anyone names it" — line 947 artprompt) now lands as demonstration rather than recognition. The player already knows he is a vampire; the drop shows them what that looks like. May want a tone pass on the Beat 5 art/prose. - Beat 6 charm payload intensifies. The player can no longer reassure themselves with "Fortune didn't know what he was." She knew. She came anyway. The charm landing now reads as Fortune surrendering to what she already chose — a darker and more interesting consent question than surprise. - Beat 4 Fang silence-about-Lawrence (the "Don't win. Survive." ending, per v2.10.39 dialogue rewrite above) now has a second canonically-valid reading available: not just "Fang doesn't know if he'll come" but "Fang knows what he is and is not naming it." Both readings true; the opening overlay makes the second available where before only the first was. */ /* v0.0.039 (Dani, 1 Oct): the 9:46 pm journal entry is logged at VD.000 (the first journal entry), and the desire pick lives ONLY on LS.010. This passage no longer shows the entry. */ <div class="d4-choices --desire"> /* The desire pick lives ONLY on LS.010 (pre-cinematic, blind). By this point the player has played the raid, so an answer here would be informed rather than a self-disclosure, and the Intent State payoff at Death compares the blind answer against actual behaviour. This is a plain continue. */ <div class="d4-choice"><<link "Keep going." "VD.105.smyrna.han_departure.leaving">><<soctrack "kitchen_continue">><</link>></div> </div> /* CH1 REST LINK (Option A — standalone, not the stock chapterend fork). "Keep going." above IS the continue action (kitchen → chase = Ch2), so a full <<chapterend>> would add a redundant Continue button. Instead a single "Rest at the Tavern" link sits below the desires, routing to the Hub. Sets $lastChapterComplete = 1 (Ch1 done) so the Hub dropdown offers BOTH forward (Continue to Ch2) and replay (Revisit Ch1) per socAvailableChapters. Stores $_hubReturnTarget = chase start so "Continue to Chapter 2" from the Hub lands the player at Ch2's opening. */ <div class="d4-rest-affordance"><<link "Rest at the Tavern">><<set $lastChapterComplete = 1>><<set $moStorEntered to true>><<soctrack "hub_rest" "ch1_kitchen">><<goto "VD.900.mostor.hub.main">><</link>></div> /* ═══════════════════════════════════════════════════════════════════════════ COLD-OPEN: Smyrna chase. Begins in medias res — the player is already running. The kitchen↔Smyrna seam moment from earlier demos is implicit (Desire-pick happens on LS.010; Beat 1 opens as Fortune) but is not narrated in this demo. First moment chat collapses to bubble. ═══════════════════════════════════════════════════════════════════════════ */
<<setheader "STONE OF COMMITMENT" "Demo 5" "STUDIO ZISHA">> <<soctrack "scene_enter" "VD.999.credits.end.main">> <<script>> $('#ui-bar').hide(); /* Hide chat bubble/drawer/pane on credits screen */ $('.d4-chat-pane, .d4-chat-bubble, .d4-chat-drawer, .d4-chat-tooltip').remove(); /* A8 telemetry: session_complete. Fires when player reaches the credits screen — represents a clean completion (as opposed to session_abandon, which fires on unload without reaching credits). Marks _sessionEnded on the Playtest object so the beforeunload handler does NOT fire a redundant session_abandon on the credits-screen close. Includes full final-state stat snapshot for chemistry-curve analysis. */ (function() { var V = State.variables || {}; if (window.SOC_Playtest) window.SOC_Playtest._sessionEnded = true; if (window._socTrack) { window._socTrack('session_complete', { total_duration_ms: window.SOC_Playtest ? (Date.now() - window.SOC_Playtest.startedAt) : null, event_count: window.SOC_Playtest ? window.SOC_Playtest.eventCount : null, player_desire: V.playerDesire || '', avatar_name: V.avatarName || '', fang_trust: V.fangTrust || 0, ishani_clare_bond: V.ishaniClareBond || 0, minjae_trust: V.minjaeTrust || 0, minjae_vector: V.minjaeVector || '', lawrence_first_read: V.lawrenceFirstRead || '', moments_count: (V.momentsThatMattered || []).length, /* telemetry extension for QA calibration analysis. Emits the actual momentIds (not just count) so survey responses can be correlated against specific atoms that fired. Author- defined labels, not user data — safe to send raw. Empty array if none fired. */ moment_ids: (V.momentsThatMattered || []) .map(function(m) { return m && m.id ? m.id : null; }) .filter(function(id) { return id !== null; }), /* intent log summary, per-tag outcome states. Shape: { tag: { declared: bool, deflected: bool, answered: bool } } Lets QA see how each declared question resolved across paths without parsing the full intentLog metadata. */ intent_outcomes: (function() { var log = V.intentLog || {}; var out = {}; for (var tag in log) { if (!log.hasOwnProperty(tag)) continue; out[tag] = { declared: !!log[tag].declared, deflected: !!log[tag].deflected, answered: !!log[tag].answered }; } return out; })(), journal_count: (V.journalLog || []).length }); } /* Force-flush so credits-screen close doesn't lose the completion event. */ if (window.SOC_Playtest) window.SOC_Playtest.flush(false); /* Clear the save on completion (matches Demo 3 pattern). */ try { if (window._socClearProgress) window._socClearProgress(); } catch (e) {} })(); <</script>> /* ─── "DID I GET WHAT I CAME FOR" RECAP (v2.11.03) ─────────────────────── Per SOC_Intent_State_Architecture_v0_1.md §7. v2.11.03 (12 Jun 2026): atom prose updated for voice/register consistency. B1_warm: “Clare broke the game / she gave me space” → guild-vibe register matching journal entry “they don’t take things too seriously.” marcus_lute: intimacy register → curiosity/equipment register matching journal “why does a bear have a bow?”. B4 chip journal body: old mixed- case voice → lowercase Ishani voice. fang_ack_reciprocate unchanged (journal cut v2.10.47; consentmoment still fires; recap prose accurate). Fires unconditionally on End_Credits entry, but content depth varies by $playerDesire: - matter_to_someone: deep evaluation against 5 evidence atoms (Fang substantive reveal + 4 chip/passage moments). Curiosity- register closing line scaled to atom count. - other three desires: fallback line carrying the question forward Authored in Ishani's journal voice. The recap MUST point forward — each branch primes the replay loop at sentence level. */ <<silently>> <<set _recap = "session 0 was 3 weeks ago. i wrote in here: i picked the mortal to see if i could trust the guild. tonight, the question got tested.\n\n">> <<if $playerDesire is "matter_to_someone">> <<set _atoms = 0>> /* Atom 1: Fang substantive reveal at walk-to-dock */ <<if window._socWasAnswered("fang_stari_krov_story")>> <<set _recap += "Fang gave me the shape of why the war band is after her. she didn't have to. she said: \"old debt, hers to call, mine to answer.\" that's not what you tell strangers.\n\n">> <<set _atoms++>> <<elseif window._socWasDeflected("fang_stari_krov_story")>> <<set _recap += "asked about the war band. Fang held it. she has her reasons. i'm not entitled to her ledger on night one.\n\n">> <</if>> /* Atom 2: Clare's B1 check-in, warm response */ <<if window._socMomentFired("B1_warm")>> <<set _recap += "clare pinged mid-fight to check on me. i said i needed to focus. she left it alone. nobody made it weird. that's the kind of room i picked the mortal to see if i could find.\n\n">> <<set _atoms++>> <</if>> /* Atom 3: Jeff's gallows repair */ <<if window._socMomentFired("B4_chat_gallows_jeff_repair")>> <<set _recap += "Jeff caught his own joke when it landed wrong. he said sorry. he saw me. tells me what kind of table this is.\n\n">> <<set _atoms++>> <</if>> /* Atom 4: Fang post-chase ack, reciprocate variant */ <<if window._socMomentFired("fang_ack_reciprocate")>> <<set _recap += "Fang said i held. i told her she held with me. she nodded. she does not give that nod to people who have not earned it.\n\n">> <<set _atoms++>> <</if>> /* Atom 5: Marcus lute handoff (witnessed) */ <<if window._socMomentFired("marcus_lute_witnessed")>> <<set _recap += "marcus handed tiberius his lute, his bow, his quiver — everything — on the way out. still thinking about that bow. why does he carry it if he's not going to use it. he didn't hide that i was watching. something to ask jeff about later.\n\n">> <<set _atoms++>> <</if>> /* Closing assessment — curiosity register; each branch primes forward */ <<if _atoms gte 4>> <<set _recap += "answer: yes. tonight i mattered to people. and, i let myself. came back.">> <<elseif _atoms gte 2>> <<set _recap += "answer: maybe. some moments held. some didn't. i'm curious which choices opened the ones that opened, and which closed the ones that didn't.">> <<elseif _atoms is 1>> <<set _recap += "answer: not really. one moment held. i want to know if that was the room, or if that was me. coming back to find out.">> <<else>> <<set _recap += "answer: no. the night didn't open. did my choices match what i said i wanted? not sure. i'm going to come back and try the question again.">> <</if>> <<else>> /* fallback for safe_to_be_myself (evidence schema in Intent State v0.2 §6.4a, not yet wired), and the empty pick. Deferred work item: spec these against their own evidence schemas in v0.2 / Demo5 authoring pass. */ <<set _recap += "the question i picked tonight isn't quite the one i can answer yet. some threads stay open. some carry forward. i'll come back and see what they become.">> <</if>> <<journalentry "did i get what i came for" _recap "[RESOLVE] session 0 · the answer" "now">> <</silently>> <div class="ld-star-wrap"> <svg width="100" height="100" viewBox="0 0 110 110" aria-hidden="true"> <defs> <radialGradient id="ld-rg-end" cx="50%" cy="50%" r="50%"> <stop offset="0%" stop-color="#c9a84c" stop-opacity=".25"/> <stop offset="100%" stop-color="#7c3aed" stop-opacity="0"/> </radialGradient> </defs> <circle cx="55" cy="55" r="52" fill="url(#ld-rg-end)" stroke="rgba(201,168,76,.25)" stroke-width="1"/> <circle cx="55" cy="55" r="38" fill="none" stroke="rgba(201,168,76,.18)" stroke-width="1" stroke-dasharray="3 4"/> <polygon points="55,18 62,40 87,40 68,54 75,76 55,62 35,76 42,54 23,40 48,40" fill="none" stroke="rgba(201,168,76,.7)" stroke-width="1.5" stroke-linejoin="round"/> <circle cx="55" cy="55" r="3.5" fill="#c9a84c" opacity=".9"/> </svg> </div> <div class="ld-title-h1">STONE OF<br>COMMITMENT</div> <div class="ld-title-h2">VANQUISH DEATH</div> <div class="ld-title-h2">DEMO</div> /* v2.11.05 (17 Jun): reordered — the Sea Cave narration is the game's actual ending, so it now comes FIRST, with the "Thank you for playing" gratitude line moved BELOW it (was above). Also recolored the narration to soft gold (--accent-amber, matching the Thank-you) for visual consistency — the two served slightly different purposes but the violet/gold split read as cluttered. */ <div class="soc-end-payoff"><em>Lawrence said the cave holds the first of them. Water, bound under the dock for fifty years. He did not say what it would cost to bring her up, only that it had to be tonight, and that you would go together.</em></div> <hr class="ld-divider" /> <div class="ld-tagline"><em>Thank you for playing.</em></div> /* ═══ WHAT YOU CAME FOR — merged desire + choice-recap (v2.10.44 27 May) Single box: opens with the desire the player chose, then the consequence of their dock/captain choices. Replaces the old paired boxes (the Demo-3-placeholder "What You Came For" and the separate "Shape of Your Evening" recap), which were duplicative. Capped to ~5 lines: desire line + R1 + R3/captain. */ <div class="soc-end-callback"> <div class="soc-end-callback-kicker">What You Came For</div> <div class="soc-end-callback-body"> /* rebuilt as call-and-response per author direction. CALL = the exact desire sentence the player chose at session 0 (echoed verbatim, not the mechanical $playerDesire token). RESPONSE = a direct read of whether the night delivered it, composed from the same state the recap journal reads. The shape is musical: you said you wanted X → here's what the night gave you. Each desire has its own evidence test. */ <<if $playerDesire is "matter_to_someone">> <p class="soc-end-call"><em>You'd said you came because you wanted to matter to someone tonight.</em></p> <<set _mattered = 0>> <<if window._socMomentFired("fang_ack_reciprocate") or window._socWasAnswered("fang_stari_krov_story")>><<set _mattered++>><</if>> <<if window._socMomentFired("B1_warm")>><<set _mattered++>><</if>> <<if window._socMomentFired("B4_chat_gallows_jeff_repair")>><<set _mattered++>><</if>> <<if window._socMomentFired("marcus_lute_witnessed")>><<set _mattered++>><</if>> <<if _mattered gte 3>><p class="soc-end-response">You did. Not because you asked for it, but because you showed up the way they needed, and they felt it. Fang let you in. Clare made room. The table stopped being a table and became a place that knew your name.</p> <<elseif _mattered gte 1>><p class="soc-end-response">A little. One person reached you, because for one moment you let them in, and the rest of the table you kept at arm's length without meaning to. You're left wondering which choice opened the door, and which one held it shut.</p> <<else>><p class="soc-end-response">Not tonight. The table stayed a table, because you never quite let it be anything more, and the night kept the distance you brought to it. Was that the room, or was it you? You came back to find out.</p> <</if>> <<elseif $playerDesire is "safe_to_be_myself">> <p class="soc-end-call"><em>You'd said you came because you wanted somewhere it was safe to be yourself.</em></p> <<set _rulesRead = 0>> <<if $R1_spoke>><<set _rulesRead++>><</if>> <<if $R1_castNet>><<set _rulesRead++>><</if>> <<if $R1_castYardarm>><<set _rulesRead++>><</if>> <<if $trickster_stepback>><<set _rulesRead++>><</if>> <<if _rulesRead gte 2>><p class="soc-end-response">And you tested them. You read the fight instead of forcing it, found the rule under the rule, and used it. The room answered.</p> <<elseif _rulesRead is 1>><p class="soc-end-response">Some of it. You found one rule and used it, then muscled through the rest when reading was slower than swinging. The room half-answered. You know there was more it would have told you.</p> <<else>><p class="soc-end-response">You learned them the hard way. The room didn't hand you its rules, it made you bleed for each one. You know more now than when you walked in.</p> <</if>> <<elseif $playerDesire is "finish_something">> <p class="soc-end-call"><em>You'd said you came to see if you could finish something you started.</em></p> <<if $trickster_stepback or $R3_standDown or $R2_stepBack>><p class="soc-end-response">And you finished it, the way a thing actually gets finished, by knowing when it wasn't yours to close alone. You started it. You let the others bring it down. That counts. That's the part most people never learn.</p> <<elseif $R1_struckChanter>><p class="soc-end-response">You saw it through to the end. The chant stopped because you didn't. You finished what you started, and you felt every yard of it.</p> <<else>><p class="soc-end-response">You finished it, but you're still not sure it's done. It closed because you wouldn't stop, not because you found the clean way through. Something's unsettled in it. You'll go back to see what you missed.</p> <</if>> <<elseif $playerDesire is "carry">> <p class="soc-end-call"><em>You'd said you came because you wanted this to stay with you.</em></p> <p class="soc-end-response">It will. Whatever you did down there, ash, or blood, or the line holding without you, it's in your chest now, in a place you can't reach. You'll carry it. That's what you asked for.</p> <</if>> </div> </div> /* EE-010 (Forestella *White Night*) — survey pivot. The intimate second-person line reframes the feedback ask as a continuation of the game's voice rather than a chore. Reads as pure send-off voice to non-fans; the Forestella listener catches the lyric (White Night is in the wishlist below — end-credits is the sanctioned co-presence exception per EE-010). No on-screen attribution. */ <div class="soc-end-pivot"><em>Whisper your secrets to me. I began my adventure for you.</em></div> <<socexitsurvey>> /* v2.11.05 (16 Jun): external longer-form survey block REMOVED per author — simplifying measurement for now. The in-game survey above is the single feedback surface. The block was a <div class="soc-survey-external"> with a Google Forms link ("There's more you can tell us... the longer survey..."). Re-add here if a deeper opt-in is wanted later; the viewform URL lived in git history / prior versions. */ <hr class="ld-divider" /> <!-- v2.00.30 (08 Jul): WISHLIST MUSIC list removed from credits (author call). Each track is already surfaced in-game via its scene music banner, so the end-credits repeat was redundant. Voice-actor inspirations retained (those are NOT surfaced in-game). If a consolidated music-credits list is wanted later, it can be regenerated from the Music Architecture doc's deployment rows rather than hand-maintained here. --> /* v2.11.02: Voice-actor inspirations — ported from v27_7. Demo-4 cast only. Kai (Ok Taec-yeon) is intentionally COMMENTED OUT for this demo. Kai does not appear in Demo 4. Restore the Kai row in future demos where he features. Per EE/homage discipline: these are creative-direction references, covered by the artist promise below; no actor has endorsed the project. Order note: voice actors sit ABOVE the rights/IP statement per author direction, so the IP statement reads as the closing rights block. */ <div class="ld-name-prompt" style="margin-top: 1.4rem;">VOICE ACTOR INSPIRATIONS</div> <div class="ld-name-sub"><em>Creative references only. The performers who inspired these voices, contacted first if funded.</em></div> <div class="soc-vactor-list"> <div class="soc-vactor-row"><span class="soc-vactor-char">Lawrence</span><a href="https://en.wikipedia.org/wiki/Lee_Jun-ho" target="_blank">Lee Jun-Ho</a></div> <div class="soc-vactor-row"><span class="soc-vactor-char">Fang</span><a href="https://www.therealslimsherri.com" target="_blank">Sherri Dindal</a></div> <div class="soc-vactor-row"><span class="soc-vactor-char">Marcus</span><a href="https://linktr.ee/pat.mandziy" target="_blank">Pat Mandziy</a></div> <div class="soc-vactor-row"><span class="soc-vactor-char">Tiberius</span><a href="https://www.joshjohnsoncomedy.com/" target="_blank">Josh Johnson</a></div> /* KAI — restore in future demos where Kai appears (Demo 4 does not feature him): <div class="soc-vactor-row"><span class="soc-vactor-char">Kai</span><a href="https://en.wikipedia.org/wiki/Ok_Taec-yeon" target="_blank">Ok Taec-yeon</a></div> */ </div> <hr class="ld-divider" /> /* v2.11.02: Artist-promise merge (Option C) — fuses Demo 4's existing music- wishlist promise + original-work statement with the fuller "no AI likenesses / first calls when funded" pledge ported from the 3D build (v27_7). One coherent rights-and-promise block, no overlapping paragraphs. The original- work / historical-setting statement (Demo 4's, stronger than v27_7's) is retained. No player-facing em-dashes (house rule). */ <div class="ld-body" style="font-size: 0.92rem;">All music, art, and casting in this demo is wishlist material: placeholder cues, reference images, and dream-casting that signal the register, tone, and feel we hope to commission or license. The musicians, performers, and artists who inspired this game have not endorsed it. They are the first people we will contact when funding is secured, for proper licensing, fair compensation, and full credit. No copyrighted work, and no AI-generated likenesses, enter any commercial release without a signed agreement. No exceptions. We didn't build this around what we could afford. We built it around what the story deserves, and the artists who inspired it deserve the same.</div> <div class="ld-body" style="font-size: 0.88rem; margin-top: 1.2rem;">Stone of Commitment: Vanquish Death is an original work of fiction. Characters, plot, and worldbuilding © Studio Zisha 2026. The Silk Road historical setting (1402, Smyrna) is treated with the care a research-backed romantasy deserves: period-accurate clothing, weapons, mercantile geography. Errors are ours.</div> <hr class="ld-divider" /> <div class="ld-name-prompt" style="margin-top: 1.4rem;">CREATED BY</div> <div class="soc-credits-team"> <p><strong>Dani McKenzie</strong><br><span>CEO & Creative Director, Studio Zisha</span></p> </div> /* EE-011 (RM / Kim Nam-joon interview quote) — final send-off line, placed immediately before the REPLAY action (release → "play again"). Reads as original send-off prose; RM-aware player catches it. No on-screen attribution. Source: RM interview, citation TBD (logged in EE inventory). */ <div class="soc-end-sendoff"><em>Don't be afraid, just dream.</em></div> <div class="ld-begin-wrap" style="margin-top: 2rem;"> <<link "▷ REPLAY">> <<script>> /* Full state-reset replay pattern. Demo 4 has too many state variables to enumerate (~100+ across chase, dock combat, Mo Stór, IRL chat, party bonds, consent moments, journal log). Engine.restart() is SugarCube's clean restart — clears State.variables, re-runs StoryInit, navigates to the start passage (LS.010_LoadScreen per Story Init Passage). */ try { if (window._socClearProgress) window._socClearProgress(); } catch (e) {} if (window._socTrack) window._socTrack('credits_replay', {}); try { SugarCube.Engine.restart(); } catch (e) { /* Fallback if Engine.restart fails for any reason: reload the page, which produces the same effect (fresh State, StoryInit runs, Loader is the start passage). */ try { window.location.reload(); } catch (e2) {} } <</script>> <</link>> </div> <div class="ld-buildtag">Studio Zisha · Confidential Playtest Build · <<= setup.version>> · © 2026</div>
<<setchat "bubble">> <<setheader "SMYRNA · MO STÓR" "Late afternoon · 1402" "VD v1.0 · §2">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/794214b6-0767-492c-b743-e972820ba7b5/MoSto%CC%81r_Entrance_afternoon.png?content-type=image%2Fpng">> <<setactors>> <<setoverlay "<p>The entrance to Mo Stór sits at the bottom of a long, stone street. The third step from the bottom creaks, announcing your arrival.</p>">> <<soctrack "scene_enter" "VD.200.mostor.mostorThreshold.enter">> /* ═══════════════════════════════════════════════════════════════════════════ MO STÓR ENTRANCE — Ch1-HUB PATH (Step 2, 25 Jun 2026). The first-visit gateway, reached from the Ch1 chapter-end frame's "Go to Mo Stór". OPTION A (author 25 Jun): MINIMAL recharge dialogue — creaking step, Fang's "have you been here before," a "rest after the fight" beat, then ENTER. The post-Svetomir plot dialogue (Lawrence/Matriarch/leave-town, charm-aftermath, melon-cost) is NOT here — it doesn't fit pre-Svetomir, and it lives in the plot-path entrance (Demo4_PostChase_ToMostor), which is untouched. ARCHITECTURE: a SEPARATE lean passage from the plot-path entrance (ToMostor), not one conditionalized gateway — because ToMostor has plot beats (charm- aftermath, spell-cost) woven in that don't conditionalize cleanly. Two entrance passages share the visual frame, differ in dialogue. If a THIRD arrival context appears, refactor to a resolver-driven single gateway (banked, SOC_Todo). Music: TOXIC continues (arrived straight from the alley charm beat), not the plot-path's Heartbeat. */ <<music "TOXIC" "MEOVV · continues" "https://www.youtube.com/watch?v=8F61FXiYpP0&list=RD8F61FXiYpP0&start_radio=1&pp=ygUOdG94aWMgYnkgbWVvdnagBwE%3D" "">> <div class="d4-dlg"><span class="d4-who --fang">Fang:</span> "Have you been here before?"</div> <div class="d4-dlg"><span class="d4-who --fortune">$avatarName:</span> "No. I've heard about it though."</div> <div class="d4-dlg"><span class="d4-who --fang">Fang:</span> "The tea is good. The company is... acquired."</div> <div class="d4-prose"><p class="--ingame">After the alley, the quiet of the stone street lands like a held breath let go. Whatever else tonight has waiting in it, this is a place to set it down for a moment.</p></div> <div class="d4-dlg"><span class="d4-who --fang">Fang:</span> "Catch your breath. Our plans can wait for the length of a cup of tea."</div> <<journalentry "he's gorgeous" "ok i can't stop looking. vampire saving the day, such a k-drama mafia boss entrance, and that face. wonder what he did to make his vampire so.....damn pretty?" "[REL] mostor · hub · lawrence-lingering-swoon">> <<set $moStorMode to "hub">> <div class="d4-choices"> <<set $moStorEntered to true>> /* mark Mo Stór as visited. A hub-rester (Ch1-end → Rest at the Tavern → this hub entrance) sets this, so when they LATER traverse the plot entrance (Demo4_PostChase_ToMostor) on the Ch1→Ch2 flow, the "Have you been here before?" first-visit exchange is skipped there (you were just here). A plot-only player never hits this passage, so the flag stays false and they get the first-visit line correctly. */ <<advance "Enter Mo Stór" "VD.999.credits.end.main">> </div>
<<setchat "bubble">> <<setheader "MO STÓR · MAIN ROOM" "Late afternoon · 1402" "VD v1.0 · §2">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8db0383c-5d4e-4d4f-85e9-61ae79e65f11/MoSto%CC%81r_Interior.png?content-type=image%2Fpng">> <<setactors '{"id":"tiberius","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/a33f6e17-b26c-4ada-9718-e3e7f651f7cb/AI-Tiberius_Standing.png?content-type=image%2Fpng","left":"58%","bottom":"-5%","width":"30%","pose":"still"}' >> <<soctrack "scene_enter" "VD.900.mostor.hub.main">> /* ═══════════════════════════════════════════════════════════════════════════ MO STÓR — HUB MODE (Step 3a, 25 Jun 2026). The recharge-between-chapters interior. Distinct from the PLOT-mode interior (VD.200.mostor.mostorThreshold.enter, untouched, full cast + briefing/tapestry/ask). HUB MODE = same interior image, TIBERIUS ONLY (per author: hub = Tiberius-only sprite; plot = Tiberius + whatever cast the plot needs). $moStorMode='hub' was set at the entrance (routing, + future resolver + the board/notes read it). §13.1 INVIOLABLE — mother-tea beat RELOCATED HERE (author 25 Jun, Option A): the Ch1-hub is Fortune's FIRST Mo Stór visit, so the mother-tea recognition belongs at the first visit. The plot-path Tea (Demo4_MoStor_Tea) now gets a LIGHTER tea greeting (the heavy recognition does not fire twice). The §13.1 core (Tiberius's two-handed "east of Constantinople" presentation, Fortune's cardamom inhale, the soft "Efharistó") ships intact here. The Marcus/Lawrence "He./Lawrence./Mm." lines that followed in the plot version are NOT here — they reference Lawrence having just left, which is plot-path context that doesn't fit the pre-Svetomir hub. Per Demo 4 Story Bible §13.1: load-bearing, must ship intact. Tiberius reads Fortune well enough to serve tea the way her dead mother served it (eleven years gone). The recognition is wordless. Tiberius does not check whether Fortune noticed. Fortune does not perform acknowledgment. Both choose not to perform the recognition; that choice IS the gesture. */ <<music "Nella Notte" "Forestella · acoustic instrumental (hub arrangement) · continues" "" "">> /* v2.00.12 (06 Jul): HUB theme. Was Irish Washerwoman "by Marcus" — but in HUB-mode (between chapters) Marcus is NOT present, so diegetic-lute framing is wrong here (the 5 Demo4 MoStor scenes keep Irish Washerwoman; Marcus is there). Nella Notte = the Mo Stor sanctuary leitmotif: pared-back acoustic INSTRUMENTAL loop in the hub (plants it), full Forestella VOCAL at end-credits (lights-down payoff). Two arrangements, one motif. Commission pattern (empty URL). CANON PENDING: music-arch doc reconciled Friday to document both arrangements (currently lists Nella Notte end-credits only). */ <<dlg "tiberius" "(readies the tea then presents a porcelain cup and saucer two-handed to Fortune, the way tea is served east of Constantinople) \"I hope this is to your liking.\"">> <<dlg "fortune" "(The smell of cardamom reaches you before the cup does. You inhale before you sip.)">> <<dlg "fortune" "(softly) \"Efharistó.\"">> /* §13.1 INVIOLABLE — Fortune's response. "Efharistó" (Ευχαριστώ) is the Greek everyday thank-you, period-correct for 1402 Smyrna. The (softly) honors §13.1: "Both choose not to perform the recognition; that choice IS the gesture." The understatement IS the recognition. */ <<dlg "tiberius" "(a small nod, already turning back to the bar) \"Sit as long as you like. The road keeps its own hours; it will not mind if you keep yours.\"">> <<set $moStorTeaSeen to true>> /* the §13.1 mother-tea recognition just fired at the hub (first visit). Flag it so the plot-path Tea gives the LIGHTER callback instead of repeating the full recognition. A Path-2 player (skipped the hub) never sets this, so they get the full §13.1 beat at the plot Tea — the immersion moment is reachable on either first-visit path (closes the banked follow-up). */ <!-- BOARD / OTHER-PLAYERS'-NOTES — PLACEHOLDER (Step 3b). The hub's systems (the message board + other players' notes) get a fresh design+build (the Demo 2/3 versions are out). For now, a placeholder marks where they live so the hub-mode flow is playable end-to-end. --> <div class="d4-prose"><p class="--ingame">[Not in scope for the demo. Mo Stór will include: a quest board, a graffiti wall of comments from other players, the ability to re-spec your avatar, IAP, and other features.]</p></div> <!-- v2.00.38 (09 Jul): JOURNAL on the Hub table. Ishani's notebook, sitting where she left it. A quiet "pick up your journal" opens the two-mode scroll inline (BRIEFING default — short catch-up for time-limited players; toggle to REVIEW for the full oldest->newest arc). Diegetic-object affordance, not a UI tab. --> <div class="hub-journal-affordance"><<link "pick up your journal">><<script>> setup._socOpenHubJournal(); <</script>><</link>></div> <div id="hub-journal-mount" class="hub-journal-mount"></div> /* RETURN-TO-CHAPTER (the plot-modification, confirmed 25 Jun): the hub is a recharge, not a slide into the Ch2 plot. After the cozy beat, a clean "ready to continue?" returns the player to the chapter (→ Svetomir). The briefing is Ch2's opening, reached only by Continue-from-the-alley, never by flowing out of the hub. */ /* return target is now DYNAMIC. The chapterend "Rest at the Tavern" button stores $_hubReturnTarget = its continue target before routing here, so the hub returns the player onward to the correct next chapter (Ch1-end → Ch2 opening/Svetomir; Ch2-end → the dock/Ch3). Fallback to Svetomir preserves the original behavior for any direct-nav or legacy save where the target wasn't set. */ /* DEMO Hub exit — two explicit links, NOT the full-game <<hubexit>> dropdown. For the demo the player rested here from the Ch1 kitchen BEFORE picking a desire, so "return where you were" means back to the KITCHEN (to make that choice), not forward to the chase. "Replay earlier chapter" restarts Ch1 at the raid. The <<hubexit>> macro + socAvailableChapters registry stay defined for the full game (forward/replay dropdown); the demo just doesn't invoke them. */ <div class="d4-choices"> <div class="d4-choice"><<link "Return to where you were">><<goto "VD.100.ishani_apartment.kitchen.reveal">><</link>></div> <div class="d4-choice"><<link "Replay earlier chapter">><<goto "VD.010.outside_smyrna.raid.road">><</link>></div> </div>
<<script>> $('#ui-bar').hide(); <</script>> /* ═══════════════════════════════════════════════════════════════════════════ LOADER v2.00.39 (10 Jul) — SCENE-AS-LOADER. The candlelit-table scroll photo IS the loader (replaces the star-SVG + stacked-title + text-panel layout). One scene, two states, driven by whether a valid save exists: · FIRST-TIME → title + pitch, then the road-name box + "Begin your journey". · RETURNING → title + pitch, then MENU (Return / New Journey / Review last session / Open your journal). The notebook mount detects the save and swaps the menu (see _socShowNotebook, rewritten v39). All prior wiring preserved: $avatarName textbox, BEGIN → Demo4_Beat1_Debt, ld-notebook-mount (returning detection), wishlist+promise, jump-links (kept inside .ld-jump-wrap for strip_jump_links.py), buildtag. The ring is baked into the scene asset (lower-left on the wood), so no separate sprite. Scene asset: Load_Screen2.png (Squarespace CDN), v3.02.28 — ring raised out of the text zone. NOTE: this asset still has an "AI Generated" watermark baked in at lower right. The cover-crop hides it at phone widths; a wider viewport will not. Swap URL when a clean export lands. */ <div class="ld-scene"> <div class="ld-scene-top"> <div class="ld-title-h1">STONE OF COMMITMENT</div> <div class="ld-title-h2">VANQUISH DEATH</div> <div class="ld-tagline">An RPG about trust.</div> <div class="ld-body">The slow burn kind. Romantasy, with a K-drama’s patience and a premium RPG’s teeth.</div> </div> <!-- FIRST-TIME menu block (road name + Begin). Hidden by _socShowNotebook when a save exists. The textbox + BEGIN wiring is unchanged from prior loaders. --> <div class="ld-menu ld-menu-firsttime" id="ld-menu-firsttime"> <!-- Avatar select, added 3 Sep. IRL portraits (Ishani/Elena/Sara) — recognition payoff for the "Elsewhere" cinematic beat requires the load-screen portrait to be recognizably the real person, not the in-world avatar. Only Ishani is playable for now; Elena/Sara render disabled, matching the existing disabled-thumb pattern already used elsewhere in this codebase. --> <div class="ld-avatar-select" id="ld-avatar-select"> <div class="ld-avatar-eyebrow">Choose your avatar</div> <div class="ld-avatar-thumbs"> <div class="ld-avatar-thumb --active" data-avatar="ishani" role="button" tabindex="0" aria-pressed="true" aria-label="Ishani"> <img src="https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f0bb67f6-1b42-4e80-bf40-38683870ecb7/Ishani_portrait.png?content-type=image%2Fpng"> <span class="ld-avatar-thumb-label">Ishani</span> </div> <div class="ld-avatar-thumb --disabled" data-avatar="elena" role="button" aria-disabled="true" aria-label="Elena, coming soon" title="Additional character choices to be enabled by launch."> <img src="https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/31aeddf0-9486-465a-9668-f144158d397d/Elena_Portrait.png?content-type=image%2Fpng"> <span class="ld-avatar-thumb-label">Elena (soon)</span> </div> <div class="ld-avatar-thumb --disabled" data-avatar="sara" role="button" aria-disabled="true" aria-label="Sara, coming soon" title="Additional character choices to be enabled by launch."> <img src="https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c9244b4f-c2bb-4d35-800e-ec1b0fbfa2e8/Sara_Portrait.png?content-type=image%2Fpng"> <span class="ld-avatar-thumb-label">Sara (soon)</span> </div> </div> </div> <<set $avatarKey to "ishani">> <!-- v0.0.014 (7 Sep): THE DESIRE PICK IS THE START ACTION. No Begin box. Three desires plus a refusal (Intent State Architecture v0.2 §1.1). Asked here, blind, before any fiction, once per run; the returning menu (_socShowNotebook) hides this whole block so a resumed run is never re-asked. The refusal leaves $playerDesire empty on purpose: that is the unnameable-offer path at Death, not missing data. Road name moved to VD.000 (the in-fiction launcher). Order is now LS.010 -> VD.001 (cinematic) -> VD.000 (launcher) -> VD.010 (raid). --> <div class="ld-desire-block"> <div class="ld-avatar-eyebrow ld-desire-eyebrow">Name your Desire</div> <div class="ld-desires"> <<link "Because I want somewhere it’s safe to be myself." "VD.001.netloom_cinematic">><<set $playerDesire to "safe_to_be_myself">><<soctrack "desire_safe">><<soctrack "loader_begin">><</link>> <<link "Because I want to see if I can finish something I started." "VD.001.netloom_cinematic">><<set $playerDesire to "finish_something">><<soctrack "desire_finish">><<soctrack "loader_begin">><</link>> <<link "Because I want to matter to someone tonight." "VD.001.netloom_cinematic">><<set $playerDesire to "matter_to_someone">><<soctrack "desire_matter">><<soctrack "loader_begin">><</link>> <<link "I’d rather not say yet." "VD.001.netloom_cinematic">><<set $playerDesire to "">><<soctrack "desire_refused">><<soctrack "loader_begin">><</link>> </div> </div><!-- /ld-desire-block --> </div> <!-- RETURNING menu mounts here (Return / New Journey / Review / Open). Populated by _socShowNotebook() when a valid save exists. --> <div id="ld-notebook-mount" class="ld-menu ld-menu-returning"></div> <!-- Lower-left: wishlist + artist promise + copyright, over the wood. --> <div class="ld-scene-foot"> <div class="ld-music-footer"> <span class="ld-music-dot"></span> <span class="ld-music-label">Wishlist Music</span> <span class="ld-music-track"><a href="https://youtu.be/sQ72u1KqJwU?si=rZfDzcf0dtPmxf0G&t=43" target="_blank">Ghost Town</a></span> <span class="ld-music-artist">Chen & Hwe Seung collaboration</span> </div> <div class="ld-body ld-promise">The artists, actors, and musicians who inspired this game will be the first people we contact when funding is secured.</div> <div class="ld-buildtag">Studio Zisha · Confidential Playtest Build · <<= setup.version>> · © 2026</div> </div> <!-- v2.00.41 (10 Jul): AI-placeholder label, lower-right (watermark position, over the dark wood past the scroll's end). Terse factual tag — the warm artist promise lives lower-left; this is just the label, no promise (that split removed the duplication). Swap/remove when real art lands. --> <div class="ld-ai-label">Art: AI placeholder</div> </div> /* Playtest jump links — kept inside .ld-jump-wrap so strip_jump_links.py removes them from the compiled player. Structure/class stable per the stripper. */ <div class="ld-jump-wrap"> <span class="ld-jump-label">Jump to section <em>(playtest only)</em>:</span> <span class="ld-jump-link"><<link "Skip Cinematic" "VD.000.vd_loadscreen">><<soctrack "loader_jump" "section_skip_cinematic">><</link>></span> <span class="ld-jump-link"><<link "§0 · Kitchen Table" "VD.100.ishani_apartment.kitchen.reveal">><<soctrack "loader_jump" "section_0">><</link>></span> <span class="ld-jump-link"><<link "§1 · Leaving the Han" "VD.105.smyrna.han_departure.leaving">><<soctrack "loader_jump" "section_1">><</link>></span> <span class="ld-jump-link"><<link "§2 · Mo Stór" "VD.200.mostor.mostorThreshold.enter">><<soctrack "loader_jump" "section_2">><</link>></span> </div>
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "pane" "force">> /* v0.0.028: the Table opens here: Ishani is logged into the guild server as she starts the game. */ <<settab "guild">> <<chatpush "clare" "now" "you playing tonight??" 1800>> /* v0.0.014, 7 Sep. THE IN-FICTION VD LAUNCHER, now AFTER the cinematic: this is what the push-in lands on (the last frame of the OTS render becomes this screen's background once that render exists; until then, the plate). Choosing Ishani on the parchment already chose Fortune (Game Bible §8.3, the 1:1 mapping is permanent), so the avatar row is a CONSEQUENCE, not a choice: Fortune highlighted, the other two greyed. The desire pick moved back to the parchment (LS.010) where it is asked blind. Road name is the only live input. Resume never reaches this screen (the parchment loads the save), so it only ever needs Begin. Layout mirrors launcher_mock_v3 (outputs/launcher/). */ /* ADDED 15 Sep, v0.0.015: the .vd-notify block above — Clare's text-preview, the "you are already seen" IRL-layer beat pulled forward from VD.100's kitchen reveal. Lives here as a real DOM element (mobile-safe, reflows correctly) rather than baked into the SOC_opening_v5 cinematic render. */ <div class="vd-load"> <div class="vd-load-inner"> <div class="vd-load-h2">Stone of Commitment</div> <div class="vd-load-title">Vanquish Death</div> <div class="vd-load-tag">The fight you win by staying, when leaving is easier.</div> <div class="vd-load-eyebrow">Your avatar</div> <div class="vd-avatars"> <div class="vd-av --on"><img src="https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/e2e5cf48-483d-4569-8b1b-e247b0fcc65f/fortune_portrait.png?content-type=image%2Fpng"><div class="vd-av-nm">Fortune</div></div> <div class="vd-av --off"><img src="data:image/png;base64,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"><div class="vd-av-nm">Spoon</div></div> <div class="vd-av --off"><img src="data:image/png;base64,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"><div class="vd-av-nm">RB</div></div> </div> <div class="vd-load-eyebrow">Your road name</div> <<textbox "$avatarName" "FortuneBringsProsperity">> <div class="vd-load-hint">Every traveler on the Silk Road carries one.<br>Keep this, or take your own.</div> /* v0.0.027: Clare's text moved to the Table in VD.010 (guild chat). */ <div class="vd-begin"><<link "Begin" "VD.010.outside_smyrna.raid.road">><<soctrack "vd_begin">><</link>></div> </div> <div class="vd-foot"> <div class="vd-wish">● Wishlist music <b>White Night</b> <i>Forestella</i></div> <div class="vd-credit">The artists, actors, and musicians who inspired this game will be the first people we contact when funding is secured.</div> <div class="vd-build">Studio Zisha · Confidential Playtest Build · <<= setup.version>> · © 2026<span class="vd-ai-inline">Art: AI placeholder</span></div> </div> <div class="vd-load-ai">Art: AI placeholder</div> </div> /* v0.0.038 (Dani, 1 Oct): Ishani's journal open in the left pane under the start screen, in the Table's type. The VD.000 frame builder moves it into .d4-prose. OPEN (Dani to decide): this is the same entry VD.100 uses as the desire-pick anchor; keep both, move it here only, or write a new entry for here. */ <<journalentry "tuesday night, 9:46pm" "3 weeks since i logged in. last guild got toxic, screenshots with my real name, the usual. not sure i wanted to play. but the alternative tonight was email or doomscrolling past midnight, and i'm tired of who that makes me.\n\nclare swears this guild is different. i picked the mortal to see if i can trust the guild." "[REL] session 0 · why i'm here" "tonight">> <div class="vd-journal"><div class="vd-journal-h">Ishani’s Journal</div><div class="vd-journal-entry"><div class="vd-journal-when">tuesday night<span>9:46 PM</span></div><p>3 weeks since i logged in. last guild got toxic, screenshots with my real name, the usual. not sure i wanted to play. but the alternative tonight was email or doomscrolling past midnight, and i'm tired of who that makes me.</p><p>clare swears this guild is different. i picked the mortal to see if i can trust the guild.</p></div></div>
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "off" "force">> <<setheader "THE WORKROOM OF THE GODDESS NET" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c7784612-d847-4334-aa58-dc2eba6df77c/Stage_NetWeaving_Anime.jpg?content-type=image%2Fjpeg">> /* v0.0.021 (30 Sep): Net's hall on Stage_NetWeaving_Anime.jpg (16:9, no crop on desktop; a concept/texture plate: the floor is to be rebuilt in Blender as real geometry, record 3.1). Scale 365 px/m: Net 625 px (1.71 m), Lawrence 674 px standing (1.85 m). Current renders from AnimeArt2.blend, blocked as the v5 cinematic: Net 3/4 right, Lawrence 3/4 left, facing. Loom + bench are Meshy props (Net_Loom_Prop / Net_Bench_Prop). Staging generated by Storyboard_v0_2/_build_v19/build_v21.py. */ <<setactors '{"id":"tap_lawrence","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0d5826b2-d657-4a9c-bca0-1addb2749027/Tapestry_Lawrence2.png?content-type=image%2Fpng","left":"3.39%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"brightness(1.12) saturate(1.1) drop-shadow(0 0 12px rgba(255,214,150,0.65))"}' '{"id":"tap_sun","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3f89b62c-dde7-444b-99f8-0d0b99dc8ae4/Tapestry_Sun2.png?content-type=image%2Fpng","left":"20.57%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_stone","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c4c3740c-2f60-468c-9c04-8014ec1d7045/Tapestry_Stone2.png?content-type=image%2Fpng","left":"37.76%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_sky","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9f053353-f041-488c-a061-fb89905e164a/Tapestry_Sky2.png?content-type=image%2Fpng","left":"54.95%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_water","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0aeb8a18-1e3b-4006-a43b-af47169f8a37/Tapestry_Water2.png?content-type=image%2Fpng","left":"72.14%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.45) brightness(0.88) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_moon","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/94f1be79-7fc7-4748-819f-3c0af8b5e294/Tapestry_Moon2.png?content-type=image%2Fpng","left":"89.32%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"loom","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/37ba96d9-1022-4b43-bcc1-af714ea9fda3/Net_Loom_Prop.png?content-type=image%2Fpng","left":"8.93%","bottom":"17.96%","width":"31.09%","pose":"still","sh":"aft","shx":"50.0%","shw":"97.8%","shh":"6.9%"}' '{"id":"bench","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/feb729c3-e6e6-4ae7-96ef-fff7b6ab2159/Net_Bench_Prop.png?content-type=image%2Fpng","left":"-0.86%","bottom":"13.66%","width":"27.75%","pose":"still","sh":"aft","shx":"50.0%","shw":"89.0%","shh":"24.4%"}' '{"id":"net_weave","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/009216dc-1912-4fc4-b668-6ec2de68deb8/Net_Weave_B.png?content-type=image%2Fpng","left":"15.56%","bottom":"14.91%","width":"17.92%","pose":"still","sh":"aft","shx":"50.0%","shw":"63.7%","shh":"6.4%"}' >> <<music "" "" "" "">> <<soctrack "scene_enter" "VD.001.netloom_cinematic">> /* v0.0.015, 15 Sep. STATIC-ART REPLACEMENT for the animated cinematic mount (the #nlCineRoot render). Blender arm-rigging pipeline abandoned per author direction — a week+ per pass, unreliable results, not worth further tokens. This uses stills from the SOC_opening_v5 render; Goddess_Net_Sitting_Loom.png already includes the room, so this beat needs no separate setactors call. Swaps to Nets_room.png (room only) starting VD.001b, once Net and Lawrence need to be independently addressable actors for keunjeol -> rise -> dismissal. */ <<sceneprose "The loom clicks. Thread over thread, the pattern older than the room around it." "g1">> <<sceneprose "She does not look up when he arrives. She does not need to." "g1">> <<advance "Continue" "VD.001b.netloom_keunjeol">>
<<setheader "THE WORKROOM OF THE GODDESS NET" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c7784612-d847-4334-aa58-dc2eba6df77c/Stage_NetWeaving_Anime.jpg?content-type=image%2Fjpeg">> /* v0.0.021 (30 Sep): Net's hall on Stage_NetWeaving_Anime.jpg (16:9, no crop on desktop; a concept/texture plate: the floor is to be rebuilt in Blender as real geometry, record 3.1). Scale 365 px/m: Net 625 px (1.71 m), Lawrence 674 px standing (1.85 m). Current renders from AnimeArt2.blend, blocked as the v5 cinematic: Net 3/4 right, Lawrence 3/4 left, facing. Loom + bench are Meshy props (Net_Loom_Prop / Net_Bench_Prop). Staging generated by Storyboard_v0_2/_build_v19/build_v21.py. */ <<setactors '{"id":"tap_lawrence","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0d5826b2-d657-4a9c-bca0-1addb2749027/Tapestry_Lawrence2.png?content-type=image%2Fpng","left":"3.39%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"brightness(1.12) saturate(1.1) drop-shadow(0 0 12px rgba(255,214,150,0.65))"}' '{"id":"tap_sun","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3f89b62c-dde7-444b-99f8-0d0b99dc8ae4/Tapestry_Sun2.png?content-type=image%2Fpng","left":"20.57%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_stone","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c4c3740c-2f60-468c-9c04-8014ec1d7045/Tapestry_Stone2.png?content-type=image%2Fpng","left":"37.76%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_sky","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9f053353-f041-488c-a061-fb89905e164a/Tapestry_Sky2.png?content-type=image%2Fpng","left":"54.95%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_water","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0aeb8a18-1e3b-4006-a43b-af47169f8a37/Tapestry_Water2.png?content-type=image%2Fpng","left":"72.14%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.45) brightness(0.88) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_moon","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/94f1be79-7fc7-4748-819f-3c0af8b5e294/Tapestry_Moon2.png?content-type=image%2Fpng","left":"89.32%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"loom","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/37ba96d9-1022-4b43-bcc1-af714ea9fda3/Net_Loom_Prop.png?content-type=image%2Fpng","left":"8.93%","bottom":"17.96%","width":"31.09%","pose":"still","sh":"aft","shx":"50.0%","shw":"97.8%","shh":"6.9%"}' '{"id":"bench","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/feb729c3-e6e6-4ae7-96ef-fff7b6ab2159/Net_Bench_Prop.png?content-type=image%2Fpng","left":"-0.86%","bottom":"13.66%","width":"27.75%","pose":"still","sh":"aft","shx":"50.0%","shw":"89.0%","shh":"24.4%"}' '{"id":"net_weave","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/009216dc-1912-4fc4-b668-6ec2de68deb8/Net_Weave_B.png?content-type=image%2Fpng","left":"15.56%","bottom":"14.91%","width":"17.92%","pose":"still","sh":"aft","shx":"50.0%","shw":"63.7%","shh":"6.4%"}' '{"id":"net","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ee8600cc-4e12-4ebc-986a-65d765cec3db/Net_LookDown_R.png?content-type=image%2Fpng","left":"31.99%","bottom":"10.83%","width":"15.21%","pose":"still","sh":"aft","shx":"50.0%","shw":"68.8%","shh":"6.4%","hidden":true}' '{"id":"law_sword","src":"v32:SwordFloor","left":"62.020%","bottom":"6.019%","width":"1.927%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"30.0%","hidden":true}' '{"id":"law_stand","src":"v32:Stand","left":"67.42%","bottom":"7.13%","width":"9.58%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"6.0%","hidden":true}' '{"id":"law_drawn","src":"v32:StandDrawn","left":"63.05%","bottom":"7.13%","width":"13.96%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"6.0%","hidden":true}' '{"id":"law_ksword","src":"v32:KneelSword","left":"57.11%","bottom":"5.56%","width":"22.92%","pose":"still","sh":"aft","shx":"50.0%","shw":"72.0%","shh":"7.8%","hidden":true}' '{"id":"law_lay","src":"v32:Lay","left":"47.16%","bottom":"5.56%","width":"32.29%","pose":"still","sh":"aft","shx":"50.0%","shw":"55.0%","shh":"9.0%","hidden":true}' '{"id":"law_kneel_e","src":"v32:KneelEmpty","left":"65.03%","bottom":"5.56%","width":"15.00%","pose":"still","sh":"aft","shx":"50.0%","shw":"72.0%","shh":"7.8%","hidden":true}' '{"id":"ots_kneel","src":"v32:OTS_Kneel","left":"0%","bottom":"0%","width":"100%","pose":"still","hidden":true}' '{"id":"ots_tight","src":"v32:OTS_KneelTight","left":"0%","bottom":"0%","width":"100%","pose":"still","hidden":true}' '{"id":"ots_gonsu","src":"v32:OTS_Gonsu","left":"0%","bottom":"0%","width":"100%","pose":"still","hidden":true}' '{"id":"ots_bow","src":"v32:OTS_Bow","left":"0%","bottom":"0%","width":"100%","pose":"still","hidden":true}' >> <<script>> /* v0.0.032 (Dani, 1 Oct): fade in standing; draw; kneel holding the sword, tip to the floor; lay it down with both hands; kneel, scabbard empty. Cut over the Goddess Net's shoulder (wide, then tight) for the gonsu; wide again for the one bow. */ (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade(null, "law_stand", 1600); }, 300); setTimeout(function () { if (State.passage === pg) window._socXfade("net_weave", "net", 900); }, 1700); setTimeout(function () { if (State.passage === pg) window._socXfade("law_stand", "law_drawn", 600); }, 2700); setTimeout(function () { if (State.passage === pg) window._socXfade("law_drawn", "law_ksword", 800); }, 3700); setTimeout(function () { if (State.passage === pg) window._socXfade("law_ksword", "law_lay", 700); }, 4900); setTimeout(function () { if (State.passage === pg) window._socXfade("law_lay", "law_kneel_e", 700); }, 5900); setTimeout(function () { if (State.passage === pg) window._socXfade(null, "law_sword", 700); }, 5900); setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ots_kneel", 450); }, 7000); setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ots_tight", 450); }, 7900); setTimeout(function () { if (State.passage === pg) window._socXfade("ots_kneel", null, 10); }, 8400); setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ots_gonsu", 600); }, 8500); setTimeout(function () { if (State.passage === pg) window._socXfade("ots_tight", null, 10); }, 9150); setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ots_bow", 900); }, 10100); setTimeout(function () { if (State.passage === pg) window._socXfade("ots_gonsu", null, 10); }, 11050); })(); <</script>> /* v0.0.021: blocking from the v5 cinematic: Net turns from the loom to face him (3/4 right), Lawrence kneels facing her (3/4 left). Steps 1-3 of the keunjeol (Character Bible 3.8) run on a timeline while her lines read: he fades in standing, drops to the kneel, gonsu, the one bow. Lawrence is in full profile, facing her directly. Net's name colour (.d4-who.--net, gold) was added in v0.0.020. */ <<soctrack "scene_enter" "VD.001b.netloom_keunjeol">> <<sceneprose "dialogue" '<span class="d4-who --net">Goddess Net:</span> "You let yourself get distracted by your own kind."' "g1">> <<sceneprose "dialogue" '<span class="d4-who --net">Goddess Net:</span> "You kept looking in all the wrong places."' "g1">> <<sceneprose "dialogue" '<span class="d4-who --net">Goddess Net:</span><span class="hx-break"></span> "That was never a failure of effort. It was a failure of discipline."' "g1">> /* STAGE (v0.0.022): he does not lift his head; he has not, this whole time. Carried by the bow. */ /* v0.0.037 (Dani, 1 Oct): he answers once, from the bow, into the floor. Acceptance, never justification. */ <<sceneprose "dialogue" '<span class="d4-who --lawrence">Lawrence:</span> (murmurs) "Yes, my Lady."' "g1">> <<advance "Continue" "VD.001c.netloom_assessment">>
<<setheader "THE WORKROOM OF THE GODDESS NET" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c7784612-d847-4334-aa58-dc2eba6df77c/Stage_NetWeaving_Anime.jpg?content-type=image%2Fjpeg">> <<setactors '{"id":"tap_lawrence","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0d5826b2-d657-4a9c-bca0-1addb2749027/Tapestry_Lawrence2.png?content-type=image%2Fpng","left":"3.39%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"brightness(1.12) saturate(1.1) drop-shadow(0 0 12px rgba(255,214,150,0.65))"}' '{"id":"tap_sun","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3f89b62c-dde7-444b-99f8-0d0b99dc8ae4/Tapestry_Sun2.png?content-type=image%2Fpng","left":"20.57%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_stone","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c4c3740c-2f60-468c-9c04-8014ec1d7045/Tapestry_Stone2.png?content-type=image%2Fpng","left":"37.76%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_sky","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9f053353-f041-488c-a061-fb89905e164a/Tapestry_Sky2.png?content-type=image%2Fpng","left":"54.95%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_water","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0aeb8a18-1e3b-4006-a43b-af47169f8a37/Tapestry_Water2.png?content-type=image%2Fpng","left":"72.14%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.45) brightness(0.88) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_moon","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/94f1be79-7fc7-4748-819f-3c0af8b5e294/Tapestry_Moon2.png?content-type=image%2Fpng","left":"89.32%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"loom","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/37ba96d9-1022-4b43-bcc1-af714ea9fda3/Net_Loom_Prop.png?content-type=image%2Fpng","left":"8.93%","bottom":"17.96%","width":"31.09%","pose":"still","sh":"aft","shx":"50.0%","shw":"97.8%","shh":"6.9%"}' '{"id":"bench","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/feb729c3-e6e6-4ae7-96ef-fff7b6ab2159/Net_Bench_Prop.png?content-type=image%2Fpng","left":"-0.86%","bottom":"13.66%","width":"27.75%","pose":"still","sh":"aft","shx":"50.0%","shw":"89.0%","shh":"24.4%"}' '{"id":"net","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ee8600cc-4e12-4ebc-986a-65d765cec3db/Net_LookDown_R.png?content-type=image%2Fpng","left":"31.99%","bottom":"10.83%","width":"15.21%","pose":"still","sh":"aft","shx":"50.0%","shw":"68.8%","shh":"6.4%"}' '{"id":"law_sword","src":"v32:SwordFloor","left":"62.020%","bottom":"6.019%","width":"1.927%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"30.0%"}' '{"id":"law_kneel_e","src":"v32:KneelEmpty","left":"65.03%","bottom":"5.56%","width":"15.00%","pose":"still","sh":"aft","shx":"50.0%","shw":"72.0%","shh":"7.8%"}' '{"id":"ots_kneel","src":"v32:OTS_Kneel","left":"0%","bottom":"0%","width":"100%","pose":"still","hidden":true}' '{"id":"ots_bow","src":"v32:OTS_Bow","left":"0%","bottom":"0%","width":"100%","pose":"still"}' >> <<soctrack "scene_enter" "VD.001c.netloom_assessment">> <<script>> /* v0.0.032: over the Goddess Net's shoulder: he rises straight back from the bow to the kneel (1.2 s). */ (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ots_kneel", 10); }, 350); setTimeout(function () { if (State.passage === pg) window._socXfade("ots_bow", null, 1200); }, 360); })(); <</script>> /* v0.0.021: the keunjeol per Character Bible 3.8. When she asks "What are you afraid of, my champion," he rises straight back to the kneel, head bowed: no reverse gonsu, and the rise is not hurried (1.2 s crossfade). He stands only in VD.001d. */ /* STAGE (v0.0.022): he rises to his knees, not yet the rest of the way. Carried by the bow -> kneel crossfade. v0.0.033 (Dani, 1 Oct): "He says nothing. It is not the silence of a man with no answer..." cut: his silence in the scene carries it. */ <<sceneprose "dialogue" '<span class="d4-who --net">Goddess Net:</span> "You have watched the caravan woman longer than any other you’ve tested. What is holding you back? What are you afraid of, my champion?"' "g1">> /* v0.0.033 (Dani, 1 Oct): TWEE ONLY. Keep this line while the opening is a twee script; CUT it from the cinematic, where her held look shows it instead of the text telling it. */ <<sceneprose "She watches him a moment past where the question needed an answer. Then, as if the silence itself were sufficient — as if not-answering and answering-with-duty were the same thing to her — she goes on." "g1">> /* LOCKED 15 Sep: "not the first he's tested" framing confirmed without naming what happened before. Do not name the death-promise (Game Bible §3.5) anywhere in this scene — the payoff belongs to a later bond-gated scene. Net does not chase the silence — the category error, staged without being named: she asked in good faith and cannot actually listen once the answer doesn't arrive on schedule. Keep her free of any suspicion in her own lines; the irony only works if the player sees it and she never does. */ <<sceneprose "dialogue" '<span class="d4-who --net">Goddess Net:</span> "You know what you are looking for. The halls of power never had it. Find out whether she does."' "g1">> <<sceneprose "dialogue" '<span class="d4-who --net">Goddess Net:</span> "Death has hidden my children. Find them. Restore them to their rightful duties."' "g1">> <<advance "Continue" "VD.001d.netloom_dismissal">>
<<setheader "THE WORKROOM OF THE GODDESS NET" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c7784612-d847-4334-aa58-dc2eba6df77c/Stage_NetWeaving_Anime.jpg?content-type=image%2Fjpeg">> <<setactors '{"id":"tap_lawrence","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0d5826b2-d657-4a9c-bca0-1addb2749027/Tapestry_Lawrence2.png?content-type=image%2Fpng","left":"3.39%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"brightness(1.12) saturate(1.1) drop-shadow(0 0 12px rgba(255,214,150,0.65))"}' '{"id":"tap_sun","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3f89b62c-dde7-444b-99f8-0d0b99dc8ae4/Tapestry_Sun2.png?content-type=image%2Fpng","left":"20.57%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_stone","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c4c3740c-2f60-468c-9c04-8014ec1d7045/Tapestry_Stone2.png?content-type=image%2Fpng","left":"37.76%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_sky","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/9f053353-f041-488c-a061-fb89905e164a/Tapestry_Sky2.png?content-type=image%2Fpng","left":"54.95%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_water","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/0aeb8a18-1e3b-4006-a43b-af47169f8a37/Tapestry_Water2.png?content-type=image%2Fpng","left":"72.14%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.45) brightness(0.88) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"tap_moon","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/94f1be79-7fc7-4748-819f-3c0af8b5e294/Tapestry_Moon2.png?content-type=image%2Fpng","left":"89.32%","bottom":"53.82%","width":"8.85%","pose":"still","filter":"grayscale(0.85) brightness(0.68) drop-shadow(0 3px 4px rgba(0,0,0,0.35))"}' '{"id":"loom","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/37ba96d9-1022-4b43-bcc1-af714ea9fda3/Net_Loom_Prop.png?content-type=image%2Fpng","left":"8.93%","bottom":"17.96%","width":"31.09%","pose":"still","sh":"aft","shx":"50.0%","shw":"97.8%","shh":"6.9%"}' '{"id":"bench","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/feb729c3-e6e6-4ae7-96ef-fff7b6ab2159/Net_Bench_Prop.png?content-type=image%2Fpng","left":"-0.86%","bottom":"13.66%","width":"27.75%","pose":"still","sh":"aft","shx":"50.0%","shw":"89.0%","shh":"24.4%"}' '{"id":"net","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ee8600cc-4e12-4ebc-986a-65d765cec3db/Net_LookDown_R.png?content-type=image%2Fpng","left":"31.99%","bottom":"10.83%","width":"15.21%","pose":"still","sh":"aft","shx":"50.0%","shw":"68.8%","shh":"6.4%"}' '{"id":"net_wave","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/8c7fa599-022d-4c1f-a623-e1fdbfbad759/Net_Wave_R.png?content-type=image%2Fpng","left":"26.30%","bottom":"10.83%","width":"23.59%","pose":"still","sh":"aft","shx":"50.0%","shw":"44.3%","shh":"6.4%","hidden":true}' '{"id":"net_weave","src":"https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/009216dc-1912-4fc4-b668-6ec2de68deb8/Net_Weave_B.png?content-type=image%2Fpng","left":"15.56%","bottom":"14.91%","width":"17.92%","pose":"still","sh":"aft","shx":"50.0%","shw":"63.7%","shh":"6.4%","hidden":true}' '{"id":"law_sword","src":"v32:SwordFloor","left":"62.020%","bottom":"6.019%","width":"1.927%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"30.0%"}' '{"id":"law_kneel_e","src":"v32:KneelEmpty","left":"65.03%","bottom":"5.56%","width":"15.00%","pose":"still","sh":"aft","shx":"50.0%","shw":"72.0%","shh":"7.8%"}' '{"id":"law_lay","src":"v32:Lay","left":"47.16%","bottom":"5.56%","width":"32.29%","pose":"still","sh":"aft","shx":"50.0%","shw":"55.0%","shh":"9.0%","hidden":true}' '{"id":"law_ksword","src":"v32:KneelSword","left":"57.11%","bottom":"5.56%","width":"22.92%","pose":"still","sh":"aft","shx":"50.0%","shw":"72.0%","shh":"7.8%","hidden":true}' '{"id":"law_drawn","src":"v32:StandDrawn","left":"63.05%","bottom":"7.13%","width":"13.96%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"6.0%","hidden":true}' '{"id":"law_stand","src":"v32:Stand","left":"67.42%","bottom":"7.13%","width":"9.58%","pose":"still","sh":"aft","shx":"50.0%","shw":"90.0%","shh":"6.0%","hidden":true}' '{"id":"ots_kneel","src":"v32:OTS_Kneel","left":"0%","bottom":"0%","width":"100%","pose":"still"}' >> <<soctrack "scene_enter" "VD.001d.netloom_dismissal">> <<script>> /* v0.0.032 (Dani, 1 Oct): the ceremony reversed as he stands: picks the sword up, kneels with it, stands holding it, sheathes it. Then the Goddess Net's wave sends him back and she returns to the loom. */ (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade("ots_kneel", null, 700); }, 150); setTimeout(function () { if (State.passage === pg) window._socXfade("law_kneel_e", "law_lay", 700); }, 1000); setTimeout(function () { if (State.passage === pg) window._socXfade("law_sword", null, 700); }, 1000); setTimeout(function () { if (State.passage === pg) window._socXfade("law_lay", "law_ksword", 700); }, 2000); setTimeout(function () { if (State.passage === pg) window._socXfade("law_ksword", "law_drawn", 800); }, 3000); setTimeout(function () { if (State.passage === pg) window._socXfade("law_drawn", "law_stand", 600); }, 4000); setTimeout(function () { if (State.passage === pg) window._socXfade("net", "net_wave", 450); }, 4700); setTimeout(function () { if (State.passage === pg) window._socXfade("law_stand", null, 900); }, 5300); setTimeout(function () { if (State.passage === pg) window._socXfade("net_wave", "net_weave", 1000); }, 6700); })(); <</script>> /* STAGE (v0.0.022): he stands. Carried by the kneel -> stand crossfade. */ <<sceneprose "He does not answer her." "g1">> /* Dematerialization handled in PROSE, not VFX — no dissolve shader, no opacity trick standing in for one. Per author direction 15 Sep: avoid re-opening an animation-pipeline fight for this beat; a visual dissolve is a separate, deliberately-scoped follow-up if ever wanted, not a default to reach for. UPDATE (v0.0.017): line below changed to Net actively sending him back (a gesture on her part) rather than Lawrence dematerializing unassisted — this comment's original rationale predates that change; revisit if the new wording implies a visual cue this still-prose-only approach doesn't cover. */ /* STAGE (v0.0.022): with a wave of her hand, the Goddess Net sends him back. Carried by Net_Wave_R, then his fade. */ /* v0.0.038 (Dani, 1 Oct): the narration now matches her wave. */ <<sceneprose "With a wave of her hand, the Goddess Net sends him back to the world, returning to the future she has not finished weaving." "g1">> <<advance "Continue" "VD.001e.ishani_room">> /* ═══ v0.0.041 (Dani, 1 Oct): ISHANI'S SCENE, restored. It lived only in the v5 film (a 2.5 s push-in) and dropped out on 15 Sep when the workroom moved from the video to twee stills. Order (consistency spec §5): the hall first, then the pull-back to Ishani, which turns the start screen into a reveal. Stills from SOC_previz_v0_5_ishani.blend; the dog is Potato (only Potato in this version). Narration = Claude draft. */
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "off" "force">> <<setheader "ISHANI'S APARTMENT" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3bc67e46-aee4-4923-b703-3ace8bbb05ad/Ishani_1_Room.png?content-type=image%2Fpng">> <<setactors '{"id": "ish_room", "src": "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3bc67e46-aee4-4923-b703-3ace8bbb05ad/Ishani_1_Room.png?content-type=image%2Fpng", "left": "0%", "bottom": "0%", "width": "100%", "pose": "still"}' >> <<soctrack "scene_enter" "VD.001e.ishani_room">> <<sceneprose "Tuesday, 9:46 at night. The apartment is quiet." "g1">> <<advance "Continue" "VD.001f.ishani_sits">>
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "off" "force">> <<setheader "ISHANI'S APARTMENT" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/3bc67e46-aee4-4923-b703-3ace8bbb05ad/Ishani_1_Room.png?content-type=image%2Fpng">> <<setactors '{"id": "ish_sits", "src": "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5c7f1cbf-ade4-4483-8d86-8155d692ec53/Ishani_2_Sits.png?content-type=image%2Fpng", "left": "0%", "bottom": "0%", "width": "100%", "pose": "still", "hidden": true}' >> <<soctrack "scene_enter" "VD.001f.ishani_sits">> <<script>> (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ish_sits", 900); }, 200); })(); <</script>> <<sceneprose "Ishani sets her coffee down and settles in." "g1">> <<advance "Continue" "VD.001g.ishani_potato">>
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "off" "force">> <<setheader "ISHANI'S APARTMENT" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5c7f1cbf-ade4-4483-8d86-8155d692ec53/Ishani_2_Sits.png?content-type=image%2Fpng">> <<setactors '{"id": "ish_dog", "src": "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5525905c-deb0-4b0d-bd4f-7a39242b1ad5/Ishani_3_Dog.png?content-type=image%2Fpng", "left": "0%", "bottom": "0%", "width": "100%", "pose": "still", "hidden": true}' >> <<soctrack "scene_enter" "VD.001g.ishani_potato">> <<script>> (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ish_dog", 900); }, 200); })(); <</script>> <<sceneprose "Potato settles at her feet." "g1">> <<advance "Continue" "VD.001h.ishani_game">>
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "off" "force">> <<setheader "ISHANI'S APARTMENT" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/5525905c-deb0-4b0d-bd4f-7a39242b1ad5/Ishani_3_Dog.png?content-type=image%2Fpng">> <<setactors '{"id": "ish_game", "src": "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2030735a-9344-4ebf-9b99-2021131a60f2/Ishani_4_Game.png?content-type=image%2Fpng", "left": "0%", "bottom": "0%", "width": "100%", "pose": "still", "hidden": true}' >> <<soctrack "scene_enter" "VD.001h.ishani_game">> <<script>> (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ish_game", 900); }, 200); })(); <</script>> <<sceneprose "She opens the game." "g1">> <<advance "Continue" "VD.001i.ishani_pushin">>
<<script>> $('#ui-bar').hide(); <</script>> <<setchat "off" "force">> <<setheader "ISHANI'S APARTMENT" " " "VD v1.0 · Prologue">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/2030735a-9344-4ebf-9b99-2021131a60f2/Ishani_4_Game.png?content-type=image%2Fpng">> <<setactors '{"id": "ish_push", "src": "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/d5c31b9a-b735-4a24-815d-3c0293bce972/Ishani_5_PushIn.png?content-type=image%2Fpng", "left": "0%", "bottom": "0%", "width": "100%", "pose": "still", "hidden": true}' >> <<soctrack "scene_enter" "VD.001i.ishani_pushin">> <<script>> (function () { var pg = State.passage; setTimeout(function () { if (State.passage === pg) window._socXfade(null, "ish_push", 1200); }, 150); setTimeout(function () { if (State.passage === pg) Engine.play("VD.000.vd_loadscreen"); }, 2100); /* the push-in hands off */ })(); <</script>> <<advance "Continue" "VD.000.vd_loadscreen">>
<<setchat "off" "force">> <<script>> $('#ui-bar').hide(); <</script>> /* v2.00.43 (10 Jul): REVIEW-mode journal page. "Review last session" is a MEMORY-JOG (newest->oldest, scrollable): most recent beat first so the player re-orients on "what was I doing," but can read the whole thing. (The oldest-> newest full-arc reflective read lives in the Hub toggle.) setchat "off" "force" hides the guild/table chat surfaces so they don't bleed through when this page is reached from a resumed in-game state. Reached from the loader "Review last session" item (renders the loader save's journalLog, stashed on window._socReviewJournalLog). "back" returns to the loader. */ <div class="journal-review-wrap"> <div id="journal-review-mount"></div> <div class="journal-review-back"><<link "‹ back">><<script>>SugarCube.Engine.play('LS.010_LoadScreen');<</script>><</link>></div> </div>
<<setchat "bubble">> <<setheader "ONE RING — CLASSIFIER DEMO" "Sandbox · token-free mock" "VD v1.0 · DEV">> <<setscene "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f606323b-590f-4d2e-b776-8bf9c3a40ca0/Merchant_Quarter_Alley_Fight.png?content-type=image%2Fpng">> <<soctrack "scene_enter" "OneRing_Demo">> /* DEMONSTRATOR BEAT (Option A, 25 Jun 2026). Proves the <<onering>> macro → orMockClassify → route pipeline end-to-end in the actual build, token-free. Type any input; the mock classifies it (disclosure / action / impossible / unsafe / out_of_tone / drift) and the panel shows the route it would dispatch to (trust_engine / intent_engine / refusal_ladder / narrative_gravity), the secondary class if any, the default rung, the reading, and confidence. This is a SANDBOX — it shows the route rather than acting on it. The real integration is "B" (One Ring as pre-filter upstream of trustvetting; see SOC_Todo). Not linked into the main flow — navigate here directly in Twine to test, or call orSelfTest() in the browser console for the plumbing-corpus check. */ <div class="d4-prose"><p class="--ingame">The One Ring, offline. Type anything below — a confession, an action, an impossible demand, a hostile jab, a non-sequitur — and watch which engine it routes to. This is the token-free mock; the lexicon is a keyword heuristic, not real judgment (that arrives with the live model).</p></div> <<onering "OneRing_Demo">>
<<set $avatarName = "Fortune">> <<set $playerDesire = "">> /* ─── CONSENT ARCHITECTURE STATS (per Spec §2 + §6) ───────────────────────── These are the bilateral-trust stats the closing surface composes against. Range: 1–100, baseline 50 at demo start. Per-moment deltas are roughly ±5 to ±15 (Spec §2.1). End-state is what the closing surface composes against. Baseline 50 ensures stats never go negative on any demo path — worst-case low ends at ~45, well above zero. Schema (locked per author 18 May; rubric clarified per Game Bible §15.3 update 22 May): <name>Trust = in-fiction character trust (e.g., fangTrust = Fang's read of Fortune as a fellow caravan guard) ishani<Name>Bond = IRL meta-layer bond (e.g., ishaniClareBond = Ishani's friendship with Clare-the-pilot) The suffix is load-bearing: Trust = in-fiction rubric, Bond = meta-layer rubric. See Game Bible §15.3 Surface-Rubric Mapping. TODO (architectural cleanup, parked): - $minjaeTrust on line below is misnamed under the new convention. It tracks MJ-as-Lawrence (the IRL pair's directorial state), which is meta-layer, not in-fiction. Under the locked convention it should be $ishaniMinjaeBond-adjacent or $minjaeDirectorial — NOT *Trust. Rename in a future twee pass once the canonical name is chosen. - The inline comment on $minjaeTrust below says "In-world: MJ-as- Lawrence's trust in Fortune" — that's a layer conflation. MJ lives meta-layer; Lawrence lives in-fiction. Two stats, two layers. Some chips tick one, some tick both via stat2/delta2 (dual-plane work). See SOC_Stat_System_Recommendation_v1.md for the longer rationale. */ <<set $fangTrust = 50>> /* In-world: Fang's read of Fortune. Beat 5 (A) is the primary mover; PostChase ack gates on >=60. */ <<set $minjaeTrust = 50>> /* In-world: MJ-as-Lawrence's trust in Fortune. */ <<set $lawrenceTrust = 50>> /* In-world: Lawrence's character trust in Fortune. Distinct from minjaeTrust iff Lawrence's interiority diverges from MJ's directorial intent later. */ <<set $ishaniClareBond = 50>> /* IRL: Ishani's bond with Clare-the- friend. Beat 3 (B1) primary mover. */ <<set $ishaniMinjaeBond = 50>> /* IRL: Ishani's bond with MJ-the-friend. Beat 3 (B2) primary mover. */ <<set $ishaniJeffBond = 50>> /* IRL: Ishani's bond with Jeff-the-friend. */ <<set $ishaniFangBond = 50>> /* IRL: Ishani's bond with Fang's pilot. Currently no chip writes; init'd for symmetry and future use. */ <<set $lawrenceFirstRead = "">> /* State, not graded stat. Set by Beat 6 (C). Values: "lean" / "anchor" / "name" / "default-anchor". */ /* ─── MOMENTS-THAT-MATTERED (per Spec §3) ─────────────────────────────────── Curation pool for the closing surface. Every <<consentmoment>> macro call pushes one record; player anchors 3 at closing. */ <<set $momentsThatMattered = []>> /* ─── DECLARED INTENTS (open questions the player has marked) ────────── v2.10.38 — Architecture B (consumed-when-asked queue) per author direction 18 May. Players can journal forward-pointing wishes ("I want to know more about X"); the engine records the intent here, then future passages can conditionally surface a chip / dialogue option to ask the question. When the player asks on a given surface, the intent can be consumed (removed) so it doesn't re-appear elsewhere. Consumption semantics (v2.10.38 initial implementation): B3 don't- consume-by-default. hasDeclaredIntent(tag) returns true once the intent is declared; consumeIntent(tag) removes it. Most surfaces that surface the chip will call consumeIntent() in the chip's reply handler, so the chip disappears from other surfaces after first ask. But the don't-consume default lets us delay decisions about whether a particular surface should remove the intent (e.g., if Clare's answer is a deflection that doesn't actually answer the question, maybe the chip should stay live for Fang to be asked too — that decision is made per-payoff, in the chip's handler). Storage shape: dict of tag → metadata object. metadata: { declaredAt: passage, declaredVia: source } Example: $declaredIntents["fang_stari_krov_story"] = { declaredAt: "VD.170.smyrna.chase.b7", declaredVia: "declareintent" } ─── DECLARED INTENTS LEDGER (v2.10.45) ───────────────────────────────── Maintained by author. Update when adding any of: <<declareintent>>, <<deflectintent>>, <<resolveintent>> Column "Feeds desire" planning column — names which $playerDesire options should read this tag's resolution state in their recap evaluator. | Tag | Declared at | Deflected at | Resolved at | Feeds desire | |------------------------|-----------------------------------|--------------------------|--------------------|--------------------------| | fang_stari_krov_story | VD.170.smyrna.chase.b7 | Demo4_MoStor_Fang_Answer | Demo4_To_The_Dock | matter_to_someone, carry | (moved from the deleted VD.122 branch in the v0.0.016 chase consolidation) Audit grep (run from project root against any Demo .twee): grep -nE '<<declareintent "|<<deflectintent "|<<resolveintent "|<<consumeintent "|_socHasDeclaredIntent\(|_socWasDeflected\(|_socWasAnswered\(' SOC_Demo4_*.twee Cross-reference output against ledger; anything unmatched is either a missing wire or a missing ledger entry. <<consumeintent>> hits are deprecation flags — should be migrated to <<resolveintent>>. ────────────────────────────────────────────────────────────────────── See: declareIntent(), hasDeclaredIntent(), consumeIntent() helpers (defined in the SugarCube setup block), and the <<declareintent>> / <<consumeintent>> macros for non-journal contexts. */ <<set $declaredIntents = {}>> /* ─── INTENT LOG (v2.10.45) ───────────────────────────────────────────── Permanent record of intent state transitions across the session. Distinct from $declaredIntents (active queue, purged on outcome) — $intentLog accumulates and is never purged. Used by end-of-session evaluators (e.g., the "did i get what i came for" recap at credits). Schema: $intentLog[tag] = { declared: { at: passage, via: source } | null, deflected: { at: passage, via: source } | null, answered: { at: passage, via: source } | null } Three flags are INDEPENDENT, not a state machine. A question can be deflected without prior declaration (the tea passage deflects for all players); answered without declaration (canon reveals that bypass player curiosity); or hit all three flags across a single playthrough. See: _socDeflectIntent(), _socResolveIntent(), window._socWasDeflected(), window._socWasAnswered(), window._socIntentLog() helpers, and the <<deflectintent>> / <<resolveintent>> macros. */ <<set $intentLog = {}>> /* ─── ENCOUNTER OUTCOMES LEDGER ───────────────────────────────────────── v2.10.49: Single source of truth for consequential-encounter results. Keyed by encounter id (like $intentLog is keyed by intent tag); accumulates, never purged. The game-wide outcome ledger — the dock is the first adopter; every future consequential encounter gets its own key under the SAME schema. This is a deliberate migration-durable contract: one shape to map into the engine-side save format when the project moves to Unreal, not N bespoke per-encounter var pairs. Schema: $encounterOutcomes[id] = { action: <string>, // what the PLAYER chose (the decision/button). // dock: "trickster" | "end_chant" | "killed_captain" // | "stood_down" | "stepped_back" | "walked_through" result: <string>, // what the WORLD became — DERIVED from `actors`, // never authored independently (B2 / single source // of truth). "clean" | "lethal". // "clean" = no death by anyone's hand (dock: trickster // ash path only — the canon register is "nobody died"). // "lethal" = at least one actor dead. actors: { <npcId>: <disposition> }, // per-NPC end state. Dispositions are // open-vocabulary per encounter. dock captain: // "alive" | "dead" | "walked" | "ash"; dock chanter: // "dead" | "ash". at: <passage>, // where it resolved (provenance, cf. intentLog.at) ts: <epoch ms> // resolution time } Set ONCE at encounter resolution via window._socSetEncounterOutcome(id, action, actors). `result` is computed inside the setter from `actors` so it cannot drift. Read EVERYWHERE downstream via window._socEncounterOutcome(id) — save-picker label (System 1, navigation) and recap/Victory/journal surfaces (System 2, evaluation, per Todo #12). Do NOT re-derive from raw R1/R2/R3 flags anywhere else; that duplication is the exact drift #12 exists to kill. */ <<set $encounterOutcomes = {}>> /* ─── B3 ARRIVAL-PATH TRACKING ────────────────────────────────────────── v2.10.38: VD.130.smyrna.chase.b3 receives players from two upstream routes (Dive vs Tactical/Trickster→Tactical). The canon-correct B3 content differs: - Dive players: never heard "war band" — B3 is the reveal moment - Tactical players: already had collaborative reveal at Side Street ("they want me alive") — B3 is the post-reveal beat This var is set in each predecessor passage before <<advance>> to B3. Values: "dive" | "tactical" | "" (uninitialized; B3 defaults to dive content as a fallback). */ <<set $arrivedB3Via = "">> /* ─── CHASE-STYLE STATS (in-world flavor, NOT consent architecture) ───────── These track which movement style the player favored during the chase. Used downstream so e.g. Lawrence can reference the specific micro-detail ("the side street" / "the melons" / "the wall-cut") later. They are NOT part of the consent system. */ <<set $dex = 0>><<set $flow = 0>><<set $end = 0>><<set $xp = 0>> <<set $chase = { aggressive: 0, tactical: 0, trickster: 0, detail: "", mjRunPushed: false, choicesMade: 0 }>> /* choicesMade: v2.00.05 — total chasechoice clicks, branch-blind counter driving whisper-surface unlock at 2. */ <<set $heartbeatCount = 0>> <<set $tibTellCount = 0>> /* ─── DOCK COMBAT STATE (v2.10.44 — Phase A + Phase B) ───────────────────── The dock encounter at Smyrna · Furthest Dock runs on a passage-tree model rather than the menu-driven combat engine used elsewhere. Per the design spec (May 27): Phase A is Fortune's solo agency test (3 rounds, 4 enemies, party in observer mode per Lawrence's "We will watch" directive); Phase B is the conditional party encounter triggered by chant completion. Fortune VIT: starts 100. Thresholds 80/50/30. Critical <30 (Recovery Fracture incoming if struck again). Tracked via $fortuneVIT. Mutterer HP: starts 55. Protected (-25% dmg) while both signal AND muscle are alive and in formation. Chant-failure threshold: HP ≤ 30 at end of R3 means chant CANNOT complete regardless of mutterer's survival. Chant clock: advances 1 beat per round unless disrupted. Completion at end of R3 fires Phase B. Disrupted twice across encounter = chant fails. */ <<set $fortuneVIT = 100>> <<set $muttererHP = 55>> <<set $signalAlive = true>> <<set $signalInFormation = true>> <<set $muscleAlive = true>> <<set $muscleInFormation = true>> <<set $captainAlive = true>> <<set $chantBeat = 1>> <<set $chantInterruptCount = 0>> /* directorial vector + no-harm vow latch. $minjaeVector is set by the directorial chasechoice (hard/aware/soft); initialized empty so the R1-entry <<if>> gates are defined on a clean start and across save-game schemas that predate these vars. $nonviolentLock is the trickster no-harm vow — latched true in the soft branch at R1 entry, consumed by the first lock-break click. */ <<set $minjaeVector = "">> <<set $nonviolentLock = false>> /* dock board-state engine tracking (SOC_Combat_Architecture v1.0). $dockSpent gates posture rotation (a posture rotates out once used); $dockPrimary records the aggressive-triage target (wrong-target reads); $vowBroken latches if the player takes the lethal ceiling. Seeded here so a clean start / old save has them defined; SOC_DOCK.ensure() re-seeds defensively. */ <<set $dockSpent = { aggressive: false, tactical: false, trickster: false, negotiation: false }>> <<set $dockPrimary = "">> <<set $vowBroken = false>> /* cast-capacity prototype meter (Reading-1, cheap). Fortune at L2 knows ONE working — manus motoria (move an object). Per the Magic Primer: no new spells without story, and "the location is part of the spell" — so the dock options are all the SAME spell pointed at different matter (rope / net / yardarm / box / a body). Cost scales with mass. $fortuneCast is felt, not metered: NO HUD this build. It surfaces only in prose (breath catches, hand trembles, nosebleed). It exists so the architecture is present to evolve when the full magic system is designed; the starting value and per-cast costs are deliberately UNBALANCED prototype numbers, not a tuned economy. When it runs low, the Step Back (ask the team to disable, don't kill) becomes the rewarded mastery move — the trickster path's equivalent of Demo 3's No-Recovery-Fracture step-back. */ <<set $fortuneCast = 3>> <<set $castMelons = false>> /* latched true at B2_Trickster melon cast; gates the deferred cost beat on the post-chase walk + the depletion-scaled charm hit. Path-conditional (trickster only). */ <<set $R1_castNet = false>> <<set $R1_castYardarm = false>> <<set $trickster_stepback = false>> /* Per-round R1/R2/R3 continuity flags — drive R2 menu restructure, captain's R3 response gating, and Lawrence's dialogue branching. */ <<set $R1_struckChanter = false>> <<set $R1_capitanHeld = false>> <<set $R1_baited = false>> <<set $R1_cutThrough = false>> <<set $R1_spoke = false>> <<set $R1_captainAnsweredR1 = false>> <<set $R2_pressedChanter = false>> <<set $R2_disabled = false>> <<set $R2_named = false>> <<set $R2_stepBack = false>> <<set $R3_walkThrough = false>> <<set $R3_killedCaptain = false>> <<set $R3_standDown = false>> <<set $D4_firstKill = false>> <<set $captainR3Response = "">> /* "lowers" | "strikes" | "speaks" | "walks" */ /* ─── SCENE-PROSE QUEUE (Section 2A) ─────────────────────────────────────── The unspoken-layer surface lives in the left-pane overlay. Multiple paragraphs queue here and reveal cumulatively as the player advances within a passage. Cleared on passage transition. */ <<set $_sceneQueue = []>> /* array of { kind, html } */ <<set $_sceneRevealed = 0>> /* index of last revealed paragraph */ <<set $_sceneRevealTarget = "prose">> /* v3.01.02 (16 Jul): default flipped 'overlay'->'prose'. Scene text renders in-flow in the .d4-prose column below the art by default (kills the absolute over-art overlay pattern on mobile — Galaxy S24 etc). A passage that WANTS text over the art opts in with <<set $_sceneRevealTarget = "overlay">> before its <<sceneprose>>/<<setoverlay>> calls. Reset to 'prose' on every scene clear. */ <<set $_sceneActors = []>> /* array of { src, left, bottom, width, z, flip } */ <<set $_whisperReplyPending = []>> /* chips awaiting Ishani’s reply (the ACTIVE cluster the UI reads) */ <<set $_whisperClusterQueue = []>> /* FIFO of WAITING reply-clusters behind the active one. Design A: when a second <<whisperreply>> fires while a cluster is still pending, it queues here instead of clobbering $_whisperReplyPending (the orphan bug). Drains one cluster into the active slot per chip-answer. Whisper-only; guild path untouched. Each queued cluster carries an optional surfaceDelayMs (inert default now; the scene-driven chatTempo layer scales it later). */ <<set $_lastChipAnswerTurn = 0>> /* v1.01.10: last turn any chip was picked (Disengagement primitive, July-15 system) */ <<set $_whisperReplyThread = null>> /* thread chips belong to (e.g., "clare", "minjae") */ <<set $_whisperActiveThread = null>> /* active sub-tab; null = use default-thread rules */ <<set $_guildReplyPending = []>> /* chips awaiting Ishani's public reply */ <<set $pendingWhispers = []>> /* queued Clare-responses, fire on passage entry */ /* ─── PORTRAITS ─────────────────────────────────────────────────────────── */ <<set $portraits = { fortune: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/74fd7e6a-49b7-4164-a2b0-bde30928a52a/Portrait_Fortune.png?content-type=image%2Fpng", fang: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/c22332e7-348b-4f31-8c3b-589501cd106d/Portrait_Fang.png?content-type=image%2Fpng", lawrence: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/82faf79b-2be1-4208-b034-ef14c3af9cbc/Portrait_Lawrence.png?content-type=image%2Fpng", berke: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/ab494e98-d614-47bd-b4ec-a787e74e1867/Portrait_Berke.png?content-type=image%2Fpng", net: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/f1c675b4-adf0-494b-a69f-9821da9ff4f9/Portrait_Net.png?content-type=image%2Fpng", marcus: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/82a9d763-f9e7-49e7-9270-f3508203cf91/Marcus_Portrait.png?content-type=image%2Fpng", tiberius: "https://images.squarespace-cdn.com/content/69b081e46b04f75d4e5e8c7f/69d676e5-2ae0-4c87-bcf2-df3760b4c827/Portrait_Tiberius.png?content-type=image%2Fpng" }>> /* ─── NPC PRESENTATION STATE (per SOC_NPC_Presentation_Standard_v1_0) ──── $npcsMet tracks recurring-NPC intro cards. Set true after card fires; read by <<npcintro>> to suppress repeat firings. Per-save only for D4. $_lastSpeaker is the per-passage run-collapse tracker for <<dlg>>. */ <<set $npcsMet = {}>> /* ─── GUILD ROSTER ──────────────────────────────────────────────────────── */ /* v2.10.6: Roster name for Ishani's slot changed from "You" to "Ishani" to match how the other three pilots are labeled (Clare/Fang, Song Min-jae/Lawrence, Jeff/Marcus — pilot's name / character's name). Per Easter-Egg Inventory EE-004 (mirror-held-open) and Register Style Sheet v1.9.9 §1 Per-Pilot Trust Asymmetry: Ishani is a peer at the table, not a special-cased second-person "you." Interface convention of "You" labels was creating daylight between player and Ishani that the consent architecture is built to dissolve. Single-source change: cascades automatically to roster identity chip ("Ishani / Fortune"), chip-stack avatar letter ("I"), chat message author labels ("Ishani · now: starting"), and chat message portrait avatars. CSS class names .--you and .--me intentionally NOT renamed — internal scaffolding, stable. */ <<set $chatRoster = [ { id: "you", name: "Ishani", handle: "fortune", status: "online" }, { id: "clare", name: "Clare", handle: "fang", status: "online" }, { id: "minjae", name: "Min-jae", handle: "lawrence", status: "online" }, { id: "jeff", name: "Jeff", handle: "marcus", status: "online" } ]>> /* ─── GUILD TAB LOG ───────────────────────────────────────────────────────── Public guild chat. Each entry: { kind: 'day'|'quiet', text } or { who, time, text, read }. read=true → muted (yesterday's scrollback). */ <<set $chatLog = [ { kind: "day", text: "yesterday" }, { who: "jeff", time: "6:31 PM", text: "Mo Stór tomorrow?", read: true }, { who: "jeff", time: "6:31 PM", text: "usual time", read: true }, { who: "clare", time: "6:48 PM", text: "i'm in", read: true }, { who: "minjae", time: "7:02 PM", text: "see you there", read: true }, { who: "jeff", time: "7:14 PM", text: "marcus has a new song", read: true }, { kind: "day", text: "today" } ]>> /* ─── WHISPER TAB LOG ─────────────────────────────────────────────────────── Private one-to-one IRL channels. Each entry: { from, to, time, text, read }. The Clare priming whisper at Beat 1 ("hey fyi mj is dealing with personal stuff tonight") fires here. */ <<set $whisperLog = []>> /* ─── JOURNAL TAB LOG ─────────────────────────────────────────────────────── Ishani's gamer-voice journal. Each entry: { title, body, tag, time }. Populated by <<journalentry>> macro. Surfaces as anchorable candidates on the closing-surface curation interaction. */ <<set $journalLog = []>> /* ─── ACTIVE TAB ──────────────────────────────────────────────────────────── Which right-pane tab is currently showing. Default to GUILD; the priming-whisper at Beat 1 will switch to WHISPER once for the tutorial. */ <<set $activeChatTab = "guild">> <<set $tabUnread = { guild: false, whisper: false, journal: false }>> /* PROGRESSIVE DISCLOSURE ledger. The Table reveals its surfaces as they become necessary, so a cold player meets guild chat first (one scrolling column) instead of the full four-pilot / three-tab / roster HUD on second zero. Unlock is MONOTONIC (one-way latch via <<unlocksurface>>); once true, a surface never re-locks. FAIL-SAFE: buildChatHTML treats an UNDEFINED $tableSurfaces as all-true, so every existing passage renders the full Table exactly as before — this change is purely additive; only passages that opt in (set surfaces false, then unlock) get gating. roster stays locked until party > 2-with-Fortune (author 03 Jul). */ <<set $tableSurfaces = { guild: true, whisper: false, journal: false, roster: false }>> <<set $partyJoined = { you: true, clare: true, jeff: false, minjae: false }>> /* PROGRESSIVE ROSTER membership gate. Keyed by pilot id (roster/portrait key). You (Ishani/Fortune) + clare (Fang) are the core party from the start. jeff (Marcus) joins at the plot Mo Stór arrival; minjae (Lawrence) joins at the briefing. The roster grid renders a FILLED cell for joined members and a HELD-SEAT placeholder for not-yet-joined ones, in a FIXED seat order (you, clare, jeff, minjae) so Lawrence's specific chair (cell 4) is the one held empty until he arrives. Gate is monotonic in practice (members only join), set via <<partyjoin "id">> at the reveal beats. */ /* ─── CHAT MODE ───────────────────────────────────────────────────────────── 'pane' = always-open (tutorial); 'bubble' = collapsed-with-popup. */ <<set $chatMode = "pane">> <<set $chatModeManual = false>> /* true once player explicitly closes pane */ <<set $chatTutorialShown = false>> <<set $whisperTutorialShown = false>> /* Legacy v1.1 vars retained for compatibility with existing chase passages */ <<set $fang = 0>><<set $lawrence = 0>> <<set $journal = []>> <<set $buildScope = "DEMO4">>