Skip to content
Tuxedo CatSTUDIO
Menu

Advanced Debug Override

Review draft. This source page has not completed website editorial and release-specific verification.

Knowledge Director V1.1 keeps normal Knowledge monotonicity intact while providing a temporary editor-only debug overlay for a live Knowledge authority.

Runtime Edit calls the existing authoritative APIs:

  • AcquireFact(FactId, Provenance)
  • AcquireEvidence(EvidenceId, Provenance)
  • SetBeliefConfidence(BeliefId, Confidence, Provenance)
  • AdjustBeliefConfidence(BeliefId, Delta, Provenance)
  • DiscloseKnowledge(ItemReference, RecipientSubjectId)

No normal Fact removal, Evidence removal, Belief forget, or Disclosure clear API was added. Fact and Evidence acquisitions remain monotonic. A Belief with confidence 0 is present; an absent Belief has no record.

Advanced Debug Override is available only in an editor build and only for a valid live PIE/SIE Knowledge authority. It is not Blueprint-visible or shipping-visible.

The overlay supports:

  • suppressing or restoring one exact Knowledge.Fact.* identity;
  • suppressing or restoring one exact Knowledge.Evidence.* identity;
  • forcing one exact Belief present at confidence 0..100;
  • forcing one exact Belief absent;
  • suppressing one exact disclosure, or all disclosures for one exact item.

Suppression masks resolved reads while canonical Fact, Evidence, Belief, Disclosure, provenance, and persistence data remain intact. Restoring a suppressed item removes only the overlay; it does not reacquire the item or emit a normal acquisition event. Forced Beliefs do not create gameplay provenance. A forced Belief with confidence zero is still present.

Raw record accessors remain canonical: GetFactRecord, GetEvidenceRecord, and GetBeliefRecord report stored runtime state. Resolved queries such as HasFact, HasEvidence, HasBelief, GetResolved*, confidence reads, and disclosure reads honor the editor overlay. Dialogue read conditions therefore see the temporary debug state without adding removal actions to Dialogue.

The first successful Advanced Debug operation captures the selected authority’s canonical runtime Facts, Evidence, Beliefs, and Disclosures. Normal Runtime Controls edits made before that operation are part of the baseline. The baseline is captured once and is not recaptured by later debug operations.

RestoreEditorDebugBaseline restores the captured canonical runtime arrays, clears every debug overlay, clears the baseline, and returns Runtime Controls to normal Runtime Edit. It is an explicit action. Canonical gameplay changes made after baseline capture are discarded by this restore, so Runtime Controls warns before the action is used. Restore emits the editor-only debug refresh notification and does not synthesize normal Knowledge or SignalBus acquisition/removal events.

Persistence captures canonical Knowledge state only. Suppressed Facts, suppressed Evidence, forced Beliefs, disclosure suppressions, and baseline metadata are excluded. Restoring a persistence snapshot clears any active debug overlay and baseline before the restored canonical state becomes visible.

Normal OnKnowledgeChanged and SignalBus events describe committed gameplay mutations. Debug overlay changes use the native editor-only debug notification for Inspector refresh and do not fabricate Fact removed, Evidence removed, Disclosure cleared, or Belief changed gameplay events.

The overlay uses exact Gameplay Tag identity and does not use hierarchy fallback, world scans, Actor references, or cross-Director dependencies. It is session-local editor state and is never a second Knowledge authority.

Runtime Controls shows operation-specific selectors: Knowledge.Fact.* for Fact operations, Knowledge.Evidence.* for Evidence, Knowledge.Belief.* for Belief overrides, and Knowledge.Subject.* for a Recipient Subject. Disclosure item operations use exactly Fact, Evidence, or Belief branches; Subject and unrelated project tags are excluded. The owning Knowledge root and branch roots are navigation only; validators accept only concrete strict descendants. Identity is selected from filtered Gameplay Tag controls, never free-form text.

Use Advanced Debug Override only to test exceptional resolved behavior in a live editor session. It is unavailable as Blueprint/shipping functionality and is not an alternative gameplay removal API. The V1.1 implementation is submitted as CL294.