Yeoun Studio V3 · From first outline to reviewed publication
Start with the work’s playable structure, then verify references and character voice before running a real playtest. Saving a draft or passing lint is not publication approval. Read the Creator Rights and Submission Policy before submitting.
1. Recommended workflow
Create a work in Creator Admin and open it in the Studio editor.
Write a one-sentence premise and an entry hook that gives the player an immediate reason to act.
Connect the world, characters, goals, facts, and available actions, then save.
Upload the cover and portraits, and confirm rights, source disclosure, and alt text.
Resolve every lint issue, then run the real runtime in a sandbox playtest.
Review completion and localization checks, then submit. If changes are requested, address the specific reasons and resubmit a new revision.
Build what the player can actually experience before expanding a long lore document.
Premise and entry hook: State who is where and what must be addressed now. The opening scene should give the player a clear reason to speak or act.
World and facts: Separate locations, rules, public facts, and secrets. Define who can learn a secret and through which event.
Characters and cast: Define each lead and supporting character’s wants, boundaries, relationships, and scene presence. Do not assume every character witnessed every event.
Goal Graph: Connect the start state, success conditions, failures or detours, and major milestones. Allow multiple meaningful approaches instead of requiring one exact sentence.
Affordances: Describe what the player can actually attempt—speaking, investigating, moving, proposing—and the boundaries the world will enforce.
Ending and continuity: Define ending conditions and the relationship evidence a character may use when deciding what comes next. Plot or Lore content cannot directly grant relationship stats, memories, capabilities, or a mutual decision.
Discovery metadata: Keep the title, genre, tags, description, content notes, and age rating faithful to the actual experience.
3. Stable IDs and references
A display name is for readers; an ID is the address that keeps the work connected.
Once used, character, actor, goal, and fact IDs must stay stable even when a display name changes or is translated. Never reuse a deleted ID for a new meaning.
Use Studio’s searchable reference selectors instead of manually typing IDs whenever a selector is available.
Fact references use stableNamespace:localId. Identical local IDs in different namespaces identify different facts.
Unresolved references, namespace conflicts, and dependency cycles block publication. Run impact preview and lint before detaching a module or deleting an item.
A shared LoreModule is manually pinned to an exact revision. A source author’s latest revision never changes an existing work automatically; inspect the diff and update explicitly.
Studio’s 20-section field reference
This follows the tab order in the current standard story editor. A reading-room work shows only Basic, Participation, Catalog, World, Characters, and Relationship Cast.
1. Basic
Purpose Define stable work and Goal-contract identity plus the basic description. Write Keep plot.id, title, one-line summary, expected minutes, and contract.id distinct. Good exampleplot.id = moon-archive; “Find the missing oath in the lunar archive.” Avoid/verify Do not rename a published ID like display copy or reuse a retired ID for a new meaning; resolve missing title and summary lint.
2. Participation
Purpose Choose self, self with an approach, or reading/advisory execution. Write Use self for open participation, self_with_approach for a starting-card choice, or reading_advisory with disclaimer and prompts for a reading room without Goal Graph. Good example “Self + approach—the investigation lens is fixed when a new worldline begins.” Avoid/verify The disabled canonical-character mode cannot be saved; review warnings and diffs because changing mode can delete contract, opening, and ending data.
3. Approach cards
Purpose Offer 2–12 public cards with different lenses, tools, and starting points for the same player. Write Connect stable ID, title, hook, difficulty, capabilities, briefing, first collaboration, start location and milestone, public FactRefs, allowed Affordances, and opening variant. Good example “Verify it yourself—inspect the seal and question the record keeper.” Avoid/verify Do not assign the player a forced profession or identity or expose hidden/secret facts; verify every reference and reviewed English localization.
4. Approach openings
Purpose Give each approach card its own first scene. Write Connect variant and scene IDs, a play-contract location, time, title, narration, participating actors, initial Director events, and narrator/character events. Good example “Archive · late night—the participating actor ‘archivist’ points to the empty oath case.” Avoid/verify Never author the player’s dialogue, thoughts, emotions, or voluntary actions; make each character speaker a participating actor and verify the approach link.
5. Play style
Purpose Pin progression, movement, time-skip, and failure handling into the publication revision. Write Choose guided_loop, open_journey, or hybrid, then fill checkpoints or locations, connections, anchor facts, and recovery routes. Good example hybrid: “archive↔garden; anchor seal_examined; recover a missed clue through the librarian.” Avoid/verify Do not disable NPC autonomy or server-authoritative world facts; validate start locations, connections, fact references, and paths.
6. Catalog
Purpose Help customers discover the work and make an informed choice on list and detail screens. Write Attach an approved cover and add genre and mood tags, a concrete short entryHook, and content notes. Good example “Before the seal breaks, trace whose oath disappeared.” Avoid/verify Avoid sensational promises absent from the work or missing safety notes; verify the cover is this creator’s approved asset.
7. World and Lore
Purpose Manage the world namespace, shared rules, forbidden claims, and reusable Lore. Write Set stable world ID, title, rules, and forbiddenKnowledge; manually pin up to five LoreModules to exact approved revisions and inspect diffs before updating. Good example “The seal text cannot be read on a moonless night.” Avoid/verify Legacy embedded loreEntries, namespace conflicts, cycles, unresolved refs, and Lore that directly changes relationships or Goals cannot be published.
8. Character cards
Purpose Define identity, judgment, voice, knowledge, and portraits for 1–8 characters. Write Start with values, boundaries, and core motives, then author register, address, averageLength, questionFrequency, emotionDirectness, silence style, sentence patterns, forbidden expressions, relationship/crisis changes, and good/bad line examples. Give each behavior rule an instruction plus examples, each reaction a principle plus one scene-ready line, and connect fact-gated authoredSecrets and native world/facts. Good example “polite; answers briefly; never states an unverified claim as fact”; principle “when worried, acts before lecturing,” example “Jaeyun quietly sets warm milk in front of you.” Avoid/verify Ban unconditional obedience, direct relationship writes, and unknown secrets. Never overwrite a legacy string rule without reviewing its structured conversion; verify authored-secret localization and approved portraits.
9. Relationship cast
Purpose Choose which character cards are relationship characters in this work and set starting presence and continuity eligibility. Write Connect character reference, in-work role, present/offscreen/absent, continuationEligible, and a fact-gated continuity memory with eventCode, meaning, and source text. Good example “archivist / guide / present / ‘the night you kept the promise’ after promise_kept.” Avoid/verify Do not connect NPC IDs, unknown facts, or unconditional memories; eligible characters must pass mutual-choice authoring readiness.
10. NPCs
Purpose Define incident characters separately from relationship characters. Write Add stable ID, name, role, knowledge boundary, voice, behavior and reactions, relationship-room eligibility, initial presence, and fact-gated secret prose. Good example “guard / gatekeeper / knows why the alarm rang but not the culprit / offscreen.” Avoid/verify Do not place secret prose on public approach cards or reveal it before its FactRef; leave relationshipCapable off for ordinary incident NPCs.
11. Appearance plan
Purpose Move characters and NPCs between present, offscreen, and absent when conditions are met. Write Add rule ID, actor reference, target presence, all/any/none fact condition, minimum turns, focus-on-entry, and announcement. Good example After alarm_rung, make the guard present: “Footsteps approach in the corridor.” Avoid/verify Do not make an absent actor a witness to past events; check conflicting transitions and unknown actor or fact references.
12. Guest companions
Purpose Define slots and boundaries for relationship characters arriving from another work. Write Set min/max guests, slot ID and label, required status, allowed_list or active_connection, role, knowledge boundaries, local limitations, and arrival copy using {{guestName}}. Good example “0–1 connected companion; sees this world’s magic for the first time.” Avoid/verify Never grant new powers or world knowledge automatically; check min/max and ownership/public-reference validity for allowlists.
13. Facts
Purpose Define stable facts that ground Goal state and character knowledge. Write Choose local ID, label, public/discovered/hidden, and state_only/observable/tellable/secret; put only initially true facts in initialFactIds. Good exampleseal_examined / “The crack in the seal was confirmed” / discovered+observable. Avoid/verify A model sentence alone cannot create authority and secret must not leak as observable; use worldNamespace:localId where a FactRef is required and reject duplicate IDs.
14. Milestones
Purpose Group facts into player-readable progress stages. Write Set stable ID, description, visibility, and all/any/none Fact conditions in completeWhen. Good exampleidentify_owner completes when both seal_examined and witness_heard hold. Avoid/verify A milestone does not itself mutate facts or relationships; use Goal analysis to find conditions true at start or unreachable by any Affordance.
15. Affordances
Purpose Map customer free text to executable server actions and resulting facts. Write Add stable ID, description, varied positive and negative examples, optional semantic anchors, recognition and availability conditions, eventCode, added/removed facts, and presentation or blocked directives. Good exampleinspect_seal; positive “look closely at the seal,” negative “tear the seal off”; add seal_examined. Avoid/verify Never write relationships or memories directly or let the player determine an NPC’s action; test conditions, result refs, and false-positive examples.
16. Goal Graph
Purpose Visualize current Facts, Affordances, Milestones, and Endings and run real reachability through server GoalRuntime. Write Save the source contract, then run whole-graph analysis or select an Affordance sequence in the path builder. Good example Execute inspect_seal → question_archivist → restore_oath on the server. Avoid/verify This view stores no separate graph state; use failed traces and unreachable endings to fix their original tabs.
17. Endings
Purpose Define eligibility, outcome, and final presentation for up to 12 ending IDs. Write Add ID, label, true_ending/partial_ending/bad_ending, all/any/none Fact conditions, and either per-ID events or outcome-default events. Good exampleoath_restored becomes a true ending with its own scene when the restoration fact holds. Avoid/verify Do not grant relationships, memories, or capabilities as ending effects; check duplicate IDs, the 12-ending limit, reachability, and presentation.
18. Common opening
Purpose Author the work’s common opening presentation. Write Order narrator or character roles with a display name and concise text. Good example narrator: “Blue light spills through the archive’s closed door.” Avoid/verify Never decide the player’s speech, thoughts, emotions, or action; check empty text and missing character names.
19. Policy and Director
Purpose Define high-risk actions, supporting presentation, Director events, and EchoBeats that turn a remembered detail into observable behavior. Write Reference real Affordances/eventCodes and configure the Director trigger—such as quiet_turns or after_fact—actor, conditions, priority, and directive. For an EchoBeat, set minimum/cooldown turns, purpose, allowed memory sources, topics, kinds and preference polarity, then choose fallback or suppress and author matched/fallback actions. At least one evidenceTermsAny token must occur in the exact narration committed to the customer. Good example A matched “milk” preference yields “Jaeyun sets warm milk in front of you”; suppress creates no fallback action when no memory matches. Avoid/verify Never expose internal directives or proof tokens as customer-facing copy, and never let a Director/EchoBeat directly change relationships, memory, or capabilities. Test actor/fact/eventCode references, no-match behavior, and evidence wording.
20. Mutual-choice policy
Purpose Accumulate relationship evidence from committed facts and actor presence, then let the character decide accept, defer, or decline by context. Write Author evidence source fact, participant/observer/direct_target, reason and axis/signal effects, plus five contexts’ minimum axes/signals, required/forbidden events, targets, and defaults. Good example Participating in promise_kept adds trust+1; accept at signal 2+, otherwise default defer. Avoid/verify Plot/Lore cannot directly set the result and insufficient evidence must not be bypassed with a default accept; verify ending/private-room rules for eligible characters and run the server preview.
4. Character voice
Decision-making principles keep a character recognizable across scenes more reliably than a list of sentence endings.
Core: Describe what the character wants, fears, values, refuses to cross, how they admit fault, and how they react under pressure.
Speech: Define register, forms of address, sentence length, directness, silence, and humor. Give short examples for calm, conflict, and intimate scenes.
Performance material: Write sentence patterns and forbidden expressions as situation-specific behavior, and contrast good and bad examples for the same situation. Review Studio's explicit conversion warning before turning legacy string rules into structured records.
Knowledge: Let a character state only facts they observed or were authoritatively told. Separate author-only secrets and another character’s inner thoughts.
Relationship evidence: Author observable values such as keeping a promise or respecting a boundary as relationship evidence rules. Content must not write the resulting stats directly.
Verification: Ask the same question in calm, crisis, and ensemble scenes. If every character gives a similar answer, make their values, boundaries, and voice examples more specific.
5. Image specifications and rights
Accepted files: Static JPEG, PNG, and WebP, up to 5 MB per file. Source width and height must each be 64–4096 px. SVG, GIF, and executable content are not accepted.
Recommended framing: Use 1200×1600 px at 3:4 for covers and 1200×1200 px at 1:1 for portraits. Cropping is center-based, so keep faces and important lettering away from edges and inspect the crop preview.
Accessibility: Alt text describing the character or scene conveyed by the image is required. Do not use only a filename or “image.”
Processing: Yeoun validates the actual file signature and dimensions rather than trusting the extension, and strips EXIF and other metadata from the approved derivative. Pending, rejected, or deleted assets cannot be attached to a new publication.
Rights: Upload only images you created or have authority to use commercially and license for service delivery. Accurately disclose AI tools, third-party material, real people or brands, and the permission basis.
Save: Confirm the saved/dirty state and any conflict notice. If another tab changed the draft, compare the local and server versions before recovering the needed work.
Lint: Follow an issue to its section and field. Resolve missing values, broken references, secret-knowledge leaks, direct relationship writes, and every publication quality gate.
Real playtest: In the sandbox, test free text, goal routes, ensemble replies, Lore retrieval, memory and knowledge, endings, and mutual choice. Sandbox results do not affect real customer relationship data.
Submission: The workflow is draft → submitted → changes_requested or approved → scheduled → published. A creator’s saved draft is never published immediately.
Revision: An approved publication revision is immutable. Editing a live work leaves the current live revision in place; the public pointer moves only after the new revision is approved.
7. Translation and human review
Keep stable IDs and references unchanged. Translate reader-visible titles, descriptions, dialogue, choices, and content notes.
Machine or AI translation is a draft. A human who understands the source relationships, register, forms of address, proper nouns, restricted wording, and age rating must perform the final review.
Preserve character voice and scene intent rather than translating mechanically, but never add facts, emotions, or choice conditions absent from the source.
Check clipping, omissions, variables, and references and replay the work in each locale. Do not publish a locale before its own quality gate passes.
Final submission check
Does the opening make the player’s possible action clear?
Are each character’s wants, boundaries, voice, and knowledge distinct?
Can the player reach goals and endings without a broken reference?
Are image rights, sources, alt text, and approval states complete?
Did a human review every published language and play the sandbox to the end?