Repository navigation
Port resolveQuests, progression and nextContinuations (all 11 families) - #3
Merged
Merged
Conversation
The last three families the port had vendored but never run. All 12 test fixtures now pass, covering every vector against the v0.14.0 pin. - ResolveQuests fires quest stage onComplete and outcome effects whose completeWhen/reachedWhen holds, once each (recorded in QuestFired), to a fixpoint, in ordinal quest-id then array order. Unconditioned effects never auto-fire, and QuestStages is never written. - Progression: LevelForXp, PointsEarned, AvailablePoints, EffectiveSkill, SkillCap, RecomputeSkills and the guarded InvestSkillPoint, with an optional skills registry for per-skill max. - NextContinuations returns a pending cutscene first, then forced routing (a routed character whose winning offer reads its active_dialogue__ flag at the top level, visited set ignored), else discovery with the visited filter. ClearActiveDialogue and ClearPendingCutscene consume them. Mutants on once-only firing, the cap guard, the cap clamp and the forced-offer flag test each turn the suite red. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wc6JEuMmSXJEJSRYwGjn1f
mwburke
pushed a commit
to Orbitope/parlance-releases
that referenced
this pull request
Sep 22, 2026
Both ports gained resolveQuests, progression and nextContinuations, so the scoreboards drop their SKIP row and read 182 passed, 0 skipped. The engine-contract note about SKIP now describes it as what an unfinished port does, since this one no longer has any. Merge after Orbitope/parlance-gdscript#3 and Orbitope/parlance-unity#3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wc6JEuMmSXJEJSRYwGjn1f
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the last three conformance families this port vendored but never ran. With them, all 182 vectors at the v0.14.0 pin run and pass.
Changes
ResolveQuests(state, project)fires quest stageonCompleteand outcomeeffectswhen their condition (completeWhen/reachedWhen) holds.QuestFired, and the pass repeats until nothing new fires.QuestStages.LevelForXp,PointsEarned,AvailablePoints,EffectiveSkill,SkillCap,RecomputeSkills, andInvestSkillPoint.InvestSkillPointdoes nothing unless a point is available and the skill is below its cap. Per-skillmaxcomes from an optional skills registry.NextContinuations(state, project, visited, currentDialogueId)decides what to offer when a scene ends.active_dialogue__flag is set and whose winning offer reads that flag at the top level. These are marked queued and ignore the visited set.ClearActiveDialogueandClearPendingCutsceneclear the flag and the pending cutscene once the host has used them.NextContinuations,ResolveQuestsandProgression, which mirror the reference test setup.Verification
cd Parlance.Tests && dotnet test(.NET 8): 12 passed, 0 failed. Each fixture runs every vector in its file.🤖 Generated with Claude Code
https://claude.ai/code/session_01Wc6JEuMmSXJEJSRYwGjn1f
Generated by Claude Code