Context
The repository currently contains only a LICENSE file. Before any visualizer can be implemented, we need the shared vocabulary the rest of the engine will build on: how a captured execution is represented, and the contract every visualizer implements.
What
Define the core domain models and abstract interfaces:
- Models:
ExecutionStep (line number, event type such as line/call/return, local variable snapshot, timestamp/step index), ExecutionTrace (ordered list of ExecutionStep, target function metadata), VisualizationFrame (the renderable state derived from one or more steps, e.g. current pointer positions, highlighted nodes).
- Interfaces:
BaseTracer (produces an ExecutionTrace from a function + inputs), BaseVisualizer (consumes an ExecutionTrace and produces a sequence of VisualizationFrame), BaseRenderer (consumes VisualizationFrames and produces output, e.g. terminal text or HTML).
This mirrors the interface/model split already established in the dsa-autopsy and complexity-lab sibling projects and should unblock the tracer and visualizer implementations.
Acceptance Criteria
Context
The repository currently contains only a
LICENSEfile. Before any visualizer can be implemented, we need the shared vocabulary the rest of the engine will build on: how a captured execution is represented, and the contract every visualizer implements.What
Define the core domain models and abstract interfaces:
ExecutionStep(line number, event type such asline/call/return, local variable snapshot, timestamp/step index),ExecutionTrace(ordered list ofExecutionStep, target function metadata),VisualizationFrame(the renderable state derived from one or more steps, e.g. current pointer positions, highlighted nodes).BaseTracer(produces anExecutionTracefrom a function + inputs),BaseVisualizer(consumes anExecutionTraceand produces a sequence ofVisualizationFrame),BaseRenderer(consumesVisualizationFrames and produces output, e.g. terminal text or HTML).This mirrors the interface/model split already established in the
dsa-autopsyandcomplexity-labsibling projects and should unblock the tracer and visualizer implementations.Acceptance Criteria
ExecutionStep,ExecutionTrace,VisualizationFrameadded undermodels/BaseTracer,BaseVisualizer,BaseRendererABCs added underinterfaces/with documented abstract methods