Compare commits

...

2 commits

Author SHA1 Message Date
8ed9267cb7 update todo 2025-11-06 19:53:54 +01:00
5b48895c94 fix typescript error 2025-11-06 19:53:43 +01:00
2 changed files with 6 additions and 6 deletions

View file

@ -64,6 +64,7 @@ type CoupledState = {
export type BigStepCause = {
kind: "init",
simtime: 0,
} | {
kind: "input",
simtime: number,
@ -161,7 +162,7 @@ export function App() {
const onInit = useCallback(() => {
if (cE === null) return;
const metadata = {simtime: 0, cause: {kind: "init" as const}};
const metadata = {simtime: 0, cause: {kind: "init" as const, simtime: 0 as const}};
try {
const [outputEvents, state] = cE.initial(); // may throw if initialing the statechart results in a RuntimeError
setTrace({
@ -504,7 +505,7 @@ export function App() {
<CachedOutlinedIcon fontSize="small"/>
</button>
&nbsp;
<span style={{display:'inline-block', width: 26, fontSize: 9}}>{(Math.floor(savedTrace[1].at(-1).simtime/1000))}s</span>
<span style={{display:'inline-block', width: 26, fontSize: 9}}>{(Math.floor(savedTrace[1].at(-1)!.simtime/1000))}s</span>
<span style={{display:'inline-block', width: 22, fontSize: 9}}>({savedTrace[1].length})</span>
&nbsp;
<input title="name of the trace (only for humans - names don't have to be unique or anything)" type="text" value={savedTrace[0]} style={{width: 'calc(100% - 124px)'}} onChange={e => setSavedTraces(savedTraces => savedTraces.toSpliced(i, 1, [e.target.value, savedTraces[i][1]]))}/>

View file

@ -23,6 +23,9 @@
- paused / step-wise
- (scaled) real time
- omniscient debugging
- coupled execution with "plant"
- MTL properties & checking of plant state
- recording and replaying traces
TODO
@ -30,10 +33,6 @@ TODO
- bugs
editing SC <-> Plant connections at runtime doesn't seem to work
- testing
use STL for testing
https://github.com/mvcisback/py-metric-temporal-logic
- maybe support:
- explicit order of:
- outgoing transitions?