• while not ideal, you can set breakpoints this way as well at the start of your main script:

    import debugger
    debugger.debugger.set_break(filename, lineno)
    debugger.debugger.set_break(filename, lineno2)

    and so on.

    There is probably a way using objc to query all open editor files for breakpoints. An almost worked through way this would work: cycle through editor tabs

    editor._get_editor_tab().parentViewController().tabViewControllers()

    getting the filepath from .filePath()
    checking for .editorView(), then

    bps=tab.editorView().breakPoints() lines=[1+i for i,entry in enumerate(list(bps)) if entry['active'] ]

    then add breakpoints as described above. This must happen after script is run, so either we pack this code into a import filebreaks, or else we can hijack pythonista_preflight the way dgelessus does in his pythonista_startup to disable global clearing.

  • The appex resource limits would explain everything. I don’t have Xcode access to check, but it makes sense. Thanks for helping out a Pythonista newbie!

  • as I understand your code, it is not that data is getting duplicated, but you are using the same touch instance, since the touch Id is the same -- i.e you are updating the touch object, but not creating a new one. really, I think you sort of want to compute the rotation, etc parameters for each state, when the state object gets created, rather than manipulating the touch object in Data. Dunno.

    btw, the python built in debugger is called pdb, and does let you single step code, look at variables in real time, etc. But it is not really useful within scene, since it is console based. I am not sure if scene is compatible with the long press to set breakpoints in the python ista debugger.

  • Sorry correction, it does seem to make it iPhoine size.

Internal error.

Oops! Looks like something went wrong!