TacticalMetaphysics / LiSE

Rules-based engine for life sims, with time travel
GNU Affero General Public License v3.0
116 stars 9 forks source link

Bad keyframe from delta #133

Closed clayote closed 2 days ago

clayote commented 1 week ago

Here's a normal LiSE world produced by running the wolfsheep example for around fifteen turns, closing ELiDE, reopening, time traveling back to turn 9, and then closing ELiDE again.

badkfsheep.tar.gz

When I open this world in LiSE, and advance time for a while, like so:

import shutil
import tempfile

from LiSE import Engine

with tempfile.TemporaryDirectory() as td:
    shutil.unpack_archive("badnodekfsheep.tar.gz", td)
    with Engine(td + "/wolfsheep/") as eng:
        for _ in range(20):
            eng.next_turn()

...it creates a keyframe that's not consistent with the observed state of the world. The develop branch has an assertion in it that fails, demonstrating the issue