You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cover repeated map-local and object behavior with bounded compiled action definitions, leaving bespoke mechanics as explicit reviewed Go handlers.
Scope and invariants
Define typed triggers for apply, enter/leave, message, timer, death, state change, portal, spawn, and other measured common events.
Define a small versioned action graph over approved typed commands: condition, sequence, choice, set state, spawn/despawn, transfer, message, quest/dialog handoff, and domain-service invocation.
Compile and statically validate references, cycles, permissions, required services, and CEL expressions; runtime never interprets legacy Python.
Provide source-aware diagnostics and structured tracing without exposing hidden state to players.
Acceptance criteria
A corpus-driven inventory proves each action/trigger exists because multiple behaviors need it; avoid an unbounded generic scripting language.
Fuzz/property tests cover cycles, recursion, stale entities, invalid references, partial failure, huge graphs, and event storms.
Sam's saw/activity and one map portal/puzzle run without custom script in M3.
Unsupported bespoke behavior receives a focused Go handler issue, not an unsafe reflection escape.
Editor/toolkit schemas and Go runtime pass the same positive/negative fixtures.
Dependencies and parallelization
Depends on #36, #41, #44, and #45. Toolkit schema/validation and editor authoring may proceed in parallel; Starlark #60 is evaluated only after this is exercised.
Independent implementation
Implement from the preserved issue-level/product behavior and independently authored fixtures. Do not copy or mechanically translate GPL server/Python code or tests. Replacement code is MIT; consumed content and assets keep their own licenses.
Outcome
Cover repeated map-local and object behavior with bounded compiled action definitions, leaving bespoke mechanics as explicit reviewed Go handlers.
Scope and invariants
Acceptance criteria
Dependencies and parallelization
Depends on #36, #41, #44, and #45. Toolkit schema/validation and editor authoring may proceed in parallel; Starlark #60 is evaluated only after this is exercised.
Independent implementation
Implement from the preserved issue-level/product behavior and independently authored fixtures. Do not copy or mechanically translate GPL server/Python code or tests. Replacement code is MIT; consumed content and assets keep their own licenses.