[{"data":1,"prerenderedAt":299},["ShallowReactive",2],{"news-\u002Fnews\u002Fplayed-and-selected":3},{"id":4,"title":5,"author":6,"body":7,"date":288,"description":289,"draft":290,"extension":291,"image":6,"meta":292,"navigation":293,"path":294,"seo":295,"seoTitle":6,"stem":296,"tag":297,"__hash__":298},"news\u002Fnews\u002Fplayed-and-selected.md","Every node knows if it was played, every option if it was selected",null,{"type":8,"value":9,"toc":283},"minimark",[10,14,18,23,85,89,236,250,254,279],[11,12,5],"h1",{"id":13},"every-node-knows-if-it-was-played-every-option-if-it-was-selected",[15,16,17],"p",{},"A dialogue often needs to remember what already happened in it: grey out a question the player already asked, or skip a line they have heard. Now every node and every option carries that state in the export, so your game doesn't need a variable for each one.",[19,20,22],"h2",{"id":21},"whats-new","What's new",[24,25,26,47,67,79],"ul",{},[27,28,29,38,39,42,43,46],"li",{},[30,31,32,33,37],"strong",{},"A ",[34,35,36],"code",{},"stateData"," block in the export."," Every node is exported with ",[34,40,41],{},"\"stateData\": { \"played\": false }"," and every option with ",[34,44,45],{},"\"stateData\": { \"selected\": false }",". The block is always there, in both export v1 and v2.",[27,48,49,52,53,56,57,60,61,56,64,66],{},[30,50,51],{},"Your game fills it in."," Set a node's ",[34,54,55],{},"played"," to ",[34,58,59],{},"true"," when it is shown, and an option's ",[34,62,63],{},"selected",[34,65,59],{}," when the player picks it. You decide when to reset them, for example on a new playthrough.",[27,68,69,72,73,75,76,78],{},[30,70,71],{},"Nothing to author."," You can't edit these values in LoreHub and they are not saved with your dialogue. The node inspector shows them locked, as ",[30,74,55],{}," on the node and ",[30,77,63],{}," on each option.",[27,80,81,84],{},[30,82,83],{},"In the player."," When you test a dialogue, the player keeps the same state: nodes become played as you reach them and options selected as you pick them. The locked values in the inspector show the live state while the player is open. Step back and restart undo them.",[19,86,88],{"id":87},"in-your-export","In your export",[90,91,96],"pre",{"className":92,"code":93,"language":94,"meta":95,"style":95},"language-json shiki shiki-themes dracula-soft","{\n  \"type\": \"@lorehub\u002Fdialogue-node-option\",\n  \"apiVersion\": \"2.0.0\",\n  \"id\": \"dialogue\u002F…\u002Fdialogue-node\u002F…\u002Fdialogue-node-option\u002F…\",\n  \"text\": \"Who are you?\",\n  \"stateData\": { \"selected\": false }\n}\n","json","",[34,97,98,107,138,159,180,201,230],{"__ignoreMap":95},[99,100,103],"span",{"class":101,"line":102},"line",1,[99,104,106],{"class":105},"sptrb","{\n",[99,108,110,114,118,121,125,129,133,135],{"class":101,"line":109},2,[99,111,113],{"class":112},"swKhn","  \"",[99,115,117],{"class":116},"si9D1","type",[99,119,120],{"class":112},"\"",[99,122,124],{"class":123},"suBnA",":",[99,126,128],{"class":127},"sWivA"," \"",[99,130,132],{"class":131},"sBh-q","@lorehub\u002Fdialogue-node-option",[99,134,120],{"class":127},[99,136,137],{"class":105},",\n",[99,139,141,143,146,148,150,152,155,157],{"class":101,"line":140},3,[99,142,113],{"class":112},[99,144,145],{"class":116},"apiVersion",[99,147,120],{"class":112},[99,149,124],{"class":123},[99,151,128],{"class":127},[99,153,154],{"class":131},"2.0.0",[99,156,120],{"class":127},[99,158,137],{"class":105},[99,160,162,164,167,169,171,173,176,178],{"class":101,"line":161},4,[99,163,113],{"class":112},[99,165,166],{"class":116},"id",[99,168,120],{"class":112},[99,170,124],{"class":123},[99,172,128],{"class":127},[99,174,175],{"class":131},"dialogue\u002F…\u002Fdialogue-node\u002F…\u002Fdialogue-node-option\u002F…",[99,177,120],{"class":127},[99,179,137],{"class":105},[99,181,183,185,188,190,192,194,197,199],{"class":101,"line":182},5,[99,184,113],{"class":112},[99,186,187],{"class":116},"text",[99,189,120],{"class":112},[99,191,124],{"class":123},[99,193,128],{"class":127},[99,195,196],{"class":131},"Who are you?",[99,198,120],{"class":127},[99,200,137],{"class":105},[99,202,204,206,208,210,212,215,217,219,221,223,227],{"class":101,"line":203},6,[99,205,113],{"class":112},[99,207,36],{"class":116},[99,209,120],{"class":112},[99,211,124],{"class":123},[99,213,214],{"class":105}," { ",[99,216,120],{"class":112},[99,218,63],{"class":116},[99,220,120],{"class":112},[99,222,124],{"class":123},[99,224,226],{"class":225},"sZmUQ"," false",[99,228,229],{"class":105}," }\n",[99,231,233],{"class":101,"line":232},7,[99,234,235],{"class":105},"}\n",[15,237,238,239,244,245,249],{},"See ",[240,241,243],"a",{"href":242},"\u002Fdocumentation\u002Fdialogue-schema-api\u002Fdialogue-node-v2#statedata","Dialogue Node v2"," and ",[240,246,248],{"href":247},"\u002Fdocumentation\u002Fdialogue-schema-api\u002Fdialogue-node-option-v2#statedata","Dialogue Node Option v2"," for the details.",[19,251,253],{"id":252},"try-it","Try it",[15,255,256,257,263,264,266,267,272,273,278],{},"Export a dialogue from ",[240,258,262],{"href":259,"rel":260},"https:\u002F\u002Florehub.app",[261],"nofollow","LoreHub"," and look for ",[34,265,36],{}," on its nodes and options. If something feels off, tell us on ",[240,268,271],{"href":269,"rel":270},"https:\u002F\u002Fdiscord.com\u002Fchannels\u002F663035283419168808\u002F976393281615306772\u002F976393527468634143",[261],"Discord"," or ",[240,274,277],{"href":275,"rel":276},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Florehub",[261],"Reddit",".",[280,281,282],"style",{},"html pre.shiki code .sptrb, html code.shiki .sptrb{--shiki-default:#F6F6F4}html pre.shiki code .swKhn, html code.shiki .swKhn{--shiki-default:#97E2F2}html pre.shiki code .si9D1, html code.shiki .si9D1{--shiki-default:#97E1F1}html pre.shiki code .suBnA, html code.shiki .suBnA{--shiki-default:#F286C4}html pre.shiki code .sWivA, html code.shiki .sWivA{--shiki-default:#DEE492}html pre.shiki code .sBh-q, html code.shiki .sBh-q{--shiki-default:#E7EE98}html pre.shiki code .sZmUQ, html code.shiki .sZmUQ{--shiki-default:#BF9EEE}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":95,"searchDepth":140,"depth":140,"links":284},[285,286,287],{"id":21,"depth":109,"text":22},{"id":87,"depth":109,"text":88},{"id":252,"depth":109,"text":253},"2026-11-02","Exported dialogues now carry a read-only stateData block on each node and option: played and selected. Your game sets them while the dialogue runs.",false,"md",{},true,"\u002Fnews\u002Fplayed-and-selected",{"title":5,"description":289},"news\u002Fplayed-and-selected","Feature","UomewRXovGSB47ncfNaOJsrwVXZhHFaW6AORFszWSsY",1793632234824]