{ "_comment": "Evidence notes (PLAN 7.3, enriched). unlock_type: 'threshold' (lexicon_size >= unlock_value), 'topic' (topic_signal == unlock_value), or 'empathy' (surfaced by the empathy METER in app/game.py — caring/personal questions fill it, each full meter reveals the next empathy note in unlock_value order, then resets; the old unlock_value now only sequences that reveal order). 'act' = earliest act the note can appear. 'found' = how it surfaced (no spoilers). 'prompts' = helping questions shown on the evidence card; tapping one pre-fills the input to nudge the player's next move (and point toward un-found topics/memories). 'summary' = the fragment this note contributes to the Her Story tab; 'order' sequences the assembled narrative. 'artifact' = {name, icon, relation} for the 'Her Things' tab — the personal object behind the note and what it means to her. TENSE DISCIPLINE: every player-facing note is written in PRESENT tense and never reveals that she did not survive — only the final reveal (N10) does. 'body' is the artifact text; 'design' is a render hint.", "topic_signals": ["music", "university", "relationship", "family", "travel"], "notes": [ { "id": "N05", "title": "Photograph — at her desk", "unlock_type": "threshold", "unlock_value": 10, "act": 2, "asset": "n05_photo_desk.png", "found": "Shared by a classmate who took it weeks ago, unprompted, and kept it.", "prompts": ["What were you like with your friends?", "What makes you laugh like that?"], "summary": "To the people around her she is vivid and ordinarily, gloriously alive — beautiful chaos at a crowded desk.", "order": 10, "design": "Candid photo, someone else's camera. Lily laughing at her desk, beautiful chaos around her. The note that makes the player love her.", "body": "A candid photo — she didn't know it was being taken. Lily at her desk mid-laugh, head tipped back, hand half-raised as if to wave the camera off. Around her: pinned sheets of staff paper curling at the corners, three open textbooks, three half-empty mugs, a tangle of cables and headphones, and a postcard of a far-off mountain taped to the monitor. The room is beautiful chaos. She looks completely, ordinarily alive.", "artifact": { "name": "Candid photo", "icon": "📷", "relation": "How her friends see her: vivid, mid-laugh, gloriously chaotic — with a postcard of a far mountain always taped where she can see it." } }, { "id": "N02", "title": "Manuscript — an unfinished song", "unlock_type": "topic", "unlock_value": "music", "act": 1, "asset": "n02_manuscript.png", "found": "Open on her desk, a pencil resting in the crease.", "prompts": ["Tell me about the song you were writing.", "What should its ending sound like?"], "summary": "She is a musician before she is anything else, shaping what she feels into melody with a tenderness she rarely lets herself put into words.", "order": 20, "design": "Pencil score on staff paper, rendered with extraordinary care, dynamics and breath-marks set. The final bars are still blank — not erased, just not written yet.", "body": "A song in soft pencil on staff paper, almost finished. Every phrase is shaped with impossible care — the dynamics marked, the breath-marks set where a voice would rise and fall. The piece is titled 'A Held Breath.' The final bars are still blank. In the corner, faintly: \"the ending should sound like sunrise. work it out later.\"", "artifact": { "name": "Unfinished score — 'A Held Breath'", "icon": "🎼", "relation": "The piece she is writing now. She turns feeling into melody far more fluently than into words — she just hasn't found its ending yet." } }, { "id": "N04", "title": "CS assignment — margin notes", "unlock_type": "topic", "unlock_value": "university", "act": 1, "asset": "n04_assignment.png", "found": "Among the printouts in her bag, soft at the edges from being carried everywhere.", "prompts": ["What are you studying?", "Do you hear music in your work too?"], "summary": "She studies computer science but to understand complex topics she often sees them as music instead. She thinks music makes everything feel alive and beautiful.", "order": 30, "design": "Scan of a printed CS assignment, dense with handwritten margin notes and scraps of melody in quick notation. Warm, alive, personal.", "body": "Printed lab sheet: 'Assignment 4 — Recursive Structures.' The margins are full. Scraps of melody in quick notation — a rising figure, a falling one, three notes circled and starred. Beside one function, in careful handwriting:\n\n\"this function feels like a held breath. it waits and waits and then all at once it lets everything go. i think that's beautiful. (will prof think i'm insane if i write that in the report) (writing it anyway)\"", "artifact": { "name": "CS lab sheet", "icon": "📝", "relation": "She hears music inside programming functions." } }, { "id": "N03", "title": "Email — Composition Prize finalist", "unlock_type": "threshold", "unlock_value": 6, "act": 1, "asset": "n03_award_email.png", "found": "Recovered from her inbox during the device review — flagged, starred, opened many times.", "prompts": ["How did it feel to be named a finalist?", "Have you told your parents yet?"], "summary": "Her composition has been named a finalist at an international symposium — the first real sign that the dream might actually be hers.", "order": 35, "design": "An email client screenshot. Subject starred. A half-written reply to her parents sits in drafts, unsent.", "body": "From: International Sound + Code Symposium \nSubject: Congratulations — you are a Finalist ★\n\n\"...your composition, 'A Held Breath,' has been selected as a finalist in this year's Generative Composition category. We would be honoured to host you...\"\n\nIt has been opened and re-opened a dozen times. In her drafts, a reply she hasn't sent yet:\n\n\"mum, dad — okay don't freak out but—\"", "artifact": { "name": "Finalist email", "icon": "🏆", "relation": "Her music is a finalist at an international symposium. She hasn't told her parents yet — she's saving it, wanting to tell them both in person." } }, { "id": "N01", "title": "Postcard — Mount Fuji", "unlock_type": "topic", "unlock_value": "travel", "act": 1, "asset": "n01_fuji_postcard.png", "found": "Pinned above her desk, the corners soft from being taken down and put back.", "prompts": ["Where in the world do you most want to go?", "Who would you bring to the mountain?"], "summary": "More than anything, she wants to see the world — and it begins with one mountain. She means to stand at Mount Fuji with both her parents, once she graduates.", "order": 40, "design": "A glossy tourist postcard of Mount Fuji at dawn. On the back, in her handwriting, a short plan with one word underlined.", "body": "MOUNT FUJI — sunrise from the fifth station\n\n(on the back, in her hand:)\n\"after graduation. all three of us — mum AND dad, same trip, no excuses this time. we stand here and watch the sun come up and nobody leaves early.\nthat's the plan. start saving. ♪\"", "artifact": { "name": "Mount Fuji postcard", "icon": "🗻", "relation": "She keeps it above her desk. She wants to stand there at sunrise with her mother and father — all three of them, together for once, the way they haven't been in years." } }, { "id": "N07", "title": "Travel fund — and a new passport", "unlock_type": "threshold", "unlock_value": 14, "act": 2, "asset": "n07_travel_fund.png", "found": "A jar on her shelf and a passport still in its envelope, found in the same drawer.", "prompts": ["What are you saving up for?", "Is the trip just for you?"], "summary": "She is saving for the trip a little at a time; her passport is brand new and completely empty, and she means to fill it with the whole world.", "order": 45, "design": "A glass jar of folded notes and coins with a marker label, beside a passport still sealed in its delivery envelope.", "body": "A glass jar, half-full of folded notes and coins. A strip of masking tape across it, in marker:\n\n\"FUJI — then everywhere. (mum AND dad come too)\"\n\nBeside it, a passport still sealed in its delivery envelope. Issued three weeks ago. Not one stamp in it. Not one yet.", "artifact": { "name": "Travel fund + new passport", "icon": "🛂", "relation": "A jar labelled 'FUJI — then everywhere,' and a passport without a single stamp. She's saving for it slowly, and she means to fill every page." } }, { "id": "N08", "title": "Notebook — 'stages I want to play'", "unlock_type": "threshold", "unlock_value": 16, "act": 2, "asset": "n08_stages_list.png", "found": "The last written pages of the notebook she carries everywhere.", "prompts": ["Where do you dream of playing?", "Which place is at the top of your list?"], "summary": "In the back of her notebook is a list of every city she wants to play music in someday — the whole world, ranked and underlined.", "order": 48, "design": "Back pages of a battered notebook, a hand-written wishlist of places, the last line circled.", "body": "Back pages of a battered notebook, headed 'STAGES I WANT TO PLAY (someday)':\n\n — a tiny bar in Lisbon\n — a rooftop in Seoul\n — anywhere at all in New Orleans\n — a train station, just busking, somewhere it echoes\n — !!! the foot of Mount Fuji (not a stage. doesn't matter. top of the list.) !!!\n\nThe last line is underlined twice and circled.", "artifact": { "name": "'Stages I want to play' list", "icon": "🎫", "relation": "A list of every city she wants to play music in someday. Mount Fuji isn't a stage, but it sits at the very top, underlined twice." } }, { "id": "N11", "title": "Childhood folder — two homes", "unlock_type": "topic", "unlock_value": "family", "act": 2, "asset": "n11_childhood_folder.png", "found": "Recovered from a storage box at her father's apartment; her mother keeps an identical one.", "prompts": ["What was it like growing up?", "Tell me about your mum and dad."], "summary": "Her parents divorced when she was eleven and she grew up between two homes — which is exactly why the one trip, all three of them in the same photograph, matters so much.", "order": 50, "design": "A folder of a child's drawings and a custody calendar. One crayon house labelled 'mum's', another 'dad's', a small figure drawn into both — with a newer sticky note clipped behind.", "body": "A worn folder of childhood drawings, kept in duplicate by both parents.\n\nOne page: two crayon houses, far apart on the paper. 'MUM'S' over one, 'DAD'S' over the other, and a small figure drawn carefully into both, holding a tiny suitcase.\n\nClipped behind it, newer, in adult handwriting on a sticky note: \"one day — same picture. all three of us. somewhere far.\"", "artifact": { "name": "Childhood drawing — two homes", "icon": "🏠", "relation": "She grew up between two homes after the divorce. She still keeps the drawing of both — with a newer note stuck to it: 'one day, same picture. all three of us.'" } }, { "id": "N15", "title": "Statement — her friend, M", "unlock_type": "empathy", "unlock_value": 2, "act": 2, "asset": "n15_statement_friend.png", "found": "Her closest friend came forward during the investigation and asked to give a statement.", "prompts": ["Are you carrying more than you let on?", "How are you, really?"], "summary": "To the one friend who knows the whole of it, she is worn thin but luminous with plans — right on the edge of the life she keeps describing.", "order": 90, "design": "A typed witness statement from a friend, 'M'. Plain, fond, full of her plans.", "body": "STATEMENT — witness 'M' (friend)\n\n\"She feels everything so hard. People think she's calm — she just hides it well. This month she's running on nothing: the project, classes, the thing with R.\n\nBut god, the plans. She talks about that mountain like it's a person. The three of them, this trip, after she graduates — she's got a jar and everything. She showed me the new passport like it was treasure.\n\nShe's so close. That's what I keep thinking. She's so close to everything she wants.\"\n\n[statement continues]", "artifact": { "name": "Friend's statement (M)", "icon": "🗣️", "relation": "Her closest friend's account: worn thin, but lit up with plans — the mountain, the trip, the three of them. 'She's so close to everything she wants.'" } }, { "id": "N12", "title": "Voicemail — her mother", "unlock_type": "empathy", "unlock_value": 3, "act": 2, "asset": "n12_voicemail_mother.png", "found": "Retrieved from her phone's saved messages — kept, never returned.", "prompts": ["When did you last speak to your mother?", "Do you miss her?"], "summary": "She has been drifting from her mother for a while — going quiet the way she learned to as a child — even as she dreams of bringing her along on the trip.", "order": 70, "design": "Transcript of a saved voicemail. Warm, tentative, unreturned.", "body": "SAVED VOICEMAIL — 'Mum'\n\n\"Hi sweetheart. It's me. I know you're busy, you're always busy lately, that's okay. I just — I saw a little mountain on a calendar today and thought of you and that silly plan of yours. Made me smile.\n\nCall me back when you can. Or don't, if you can't. I just love you. That's all. Okay. Bye. Bye.\"\n\nSaved. Not yet returned.", "artifact": { "name": "Saved voicemail — Mum", "icon": "📞", "relation": "Her mother's voicemail, saved and not deleted. She keeps meaning to call back. She keeps meaning to." } }, { "id": "N13", "title": "Wellbeing referral — folded small", "unlock_type": "empathy", "unlock_value": 4, "act": 2, "asset": "n13_counseling_slip.png", "found": "Found folded into a tight square in her wallet, behind her student card.", "prompts": ["Have you been able to ask anyone for help?", "You don't have to hold it all alone."], "summary": "Beneath the 'just tired' she tells everyone, she has been struggling quietly — and has just taken the first small, brave step of asking someone for help.", "order": 80, "design": "A campus wellbeing referral slip with an upcoming appointment. Folded many times, carried not hidden.", "body": "STUDENT WELLBEING — REFERRAL\n\nName: Lily Anne\nReason (self-described): \"low / exhausted / 'don't feel like myself' lately — but I want to feel like myself again. would like to talk to someone.\"\nFirst appointment: booked\nStatus: upcoming\n\nThe slip has been folded and refolded until the creases nearly wear through — carried, not hidden.", "artifact": { "name": "Wellbeing referral slip", "icon": "🩺", "relation": "Folded small and carried everywhere. Under the 'just tired,' she has quietly started reaching for help — she wants to feel like herself again." } }, { "id": "N09", "title": "Journal page", "unlock_type": "threshold", "unlock_value": 18, "act": 3, "asset": "n09_journal.png", "found": "A page recovered folded inside the back cover of her manuscript book.", "prompts": ["What keeps you going when you're this tired?", "What are you reaching for?"], "summary": "She is tired of being the rope between two houses, and tired in a deeper way too — but she keeps reaching forward: toward graduation, toward the trip, toward the version of herself she can already hear.", "order": 100, "design": "A journal page, the handwriting quick. Hopeful and exhausted at once.", "body": "(a journal page, the hand quick)\n\n\"so tired this month. but. (always but.) i keep thinking: just get to graduation. get the three of us on one plane. watch mum and dad stand next to each other at the bottom of that mountain and not argue, just once.\n\ni am so tired of being the thing that gets passed between two houses. but i think if i can just hold on and finish, i get to choose where i go next. me. the whole world is right there. i can hear the ending now — i just have to write it down.\"", "artifact": { "name": "Journal page", "icon": "📓", "relation": "Proof of how tired she is — and how stubbornly hopeful. She just wants to get to graduation, get all three of them on one plane, and finally choose where she goes next." } }, { "id": "N06", "title": "Messages — R", "unlock_type": "topic", "unlock_value": "relationship", "act": 2, "asset": "n06_text_thread.png", "found": "A short thread on her phone — the last exchange with R.", "prompts": ["Was there someone special to you?", "What happened with R?"], "summary": "There is someone, R. What they have is ending — gently, mutually, sadly. It weighs on her, but it is not the centre of her.", "order": 110, "design": "A message thread. The breakup is soft and kind on both sides; he tells her to go be big somewhere.", "body": "R · recent\n\nR: i think we both know\nLily: yeah. i think we do\nR: it's not anyone's fault, is it\nLily: no. it really isn't\nR: you've got somewhere to be and it isn't here. i get it\nLily: i'm sorry i couldn't be smaller for you\nR: don't be. go be big somewhere\nLily: ♪\n\n[read]", "artifact": { "name": "Last messages with R", "icon": "💬", "relation": "There is someone, R. It is ending, kindly. He tells her to 'go be big somewhere' — and somewhere is exactly where she is always looking." } }, { "id": "N14", "title": "That evening — what we can reconstruct", "unlock_type": "empathy", "unlock_value": 5, "act": 3, "asset": "n14_timeline.png", "found": "Pieced together from her messages, a neighbour's account, and the timestamps of that day.", "prompts": ["Can you tell me about that evening?", "Take your time — I'm here."], "summary": "On that evening it all arrived at once: the morning's gentle ending with R, then her father at her mother's door to collect her, the two of them arguing in the hall. Already raw, she didn't wait — she stepped out into the dark on foot, toward the crossing on library road.", "order": 130, "design": "Not a single artifact but a reconstructed timeline — the investigator's notes. Deliberately stops short of the crossing.", "body": "RECONSTRUCTED — that evening\n\nThat morning, the thread with R ends — kindly, both of them quiet about it. She tells M she's okay. She is mostly okay.\n\nThat evening, her father comes to her mother's to collect her — the old handover. Something tips over in the hall: raised voices, the same argument worn smooth by years. A neighbour hears a door.\n\nShe doesn't wait in the car. Already hurting, she leaves on foot into the dark, earphones in, the unfinished song playing. She heads for the crossing on library road —\n\n(the timeline stops here.)", "artifact": { "name": "Investigator's timeline", "icon": "🕯️", "relation": "What can be pieced together of that evening: a gentle goodbye, her parents arguing at the door, and Lily stepping out alone into the dark rather than wait — the song still playing in her ears." } }, { "id": "N10", "title": "Incident report — case closed", "unlock_type": "threshold", "unlock_value": 27, "act": 3, "asset": "n10_police_report.png", "found": "The closed case file, released last of all.", "summary": "The incident report, case closed: she is found at the scene, at the crossing on library road. No other party. Among her effects, the new passport — unstamped — and the jar.", "order": 999, "design": "Appears differently from all others — placed flat in the center of the board, not pinned. The reveal. Its effects list quietly echoes the artifacts the player has been collecting.", "body": "INCIDENT REPORT — CASE CLOSED\n\nName: Lily Anne, 19\nLocation: pedestrian crossing, library road\n\nFindings: No other parties involved. Pronounced at the scene.\nPersonal effects catalogued and returned to family:\n — one phone\n — one notebook\n — one passport, new, no stamps\n — one jar, coins and folded notes, labelled 'FUJI'\n\nCase closed.", "artifact": null } ] }