-
Notifications
You must be signed in to change notification settings - Fork 41
Home
Andy Li edited this page Jul 26, 2016
·
1 revision
Welcome to the wiki.
For now this page keeps track of known issues and ideas for improvement.
- Mobile compatibility
- Code editor is broken on mobile
https://github.com/ajaxorg/ace/issues/37
Idea: could switch to https://codemirror.net/, depending on usage stats. - Modal dialogs may not scroll on iOS. Possibly related to https://github.com/twbs/bootstrap/issues/14839 ?
- Code editor is broken on mobile
https://github.com/ajaxorg/ace/issues/37
- Framerate drops when state nodes exceed a certain amount.
- Likely caused by lack of optimization / GPU acceleration in SVG: http://www.crmarsh.com/svg-performance/.
- Notes: profiler blamed
getBBox()
for causing relayout, but removing it did nothing. Could try the CSS transform trick, or switch from SVG to Canvas.
- Parser doesn't catch duplicated symbols when using multi-symbol matching;
e.g.
start: {1: R, [1,0]: L}
should detect the duplicated1
keys. Will fix. - Internet Explorer
-
SVG marker-ends (arrowheads) are left behind when their paths move
Workaround: click "Load machine" to recreate the paths. -
data URIs aren't supported in anchor elements
Could add IE-only downloading logic, depending on usage stats.
-
SVG marker-ends (arrowheads) are left behind when their paths move
- Firefox doesn't support SVG
letter-spacing
https://bugzilla.mozilla.org/show_bug.cgi?id=371787
- Auto-arrange self-loops to avoid edge overlap
- Export formats: SVG, PNG, Graphviz, TikZ automata
- Document list reordering, bulk editing
- Auto-detect DFAs and simplify edge labels:
0 β R
to0
and1 β R
to1
. - Step counter, possibly jump to step
-
2D history trace graphing the tape over time.
- Concerns:
- Placement relative to the state diagram and code editor. Ideally you'd be able to see both the diagram and the trace as you edit.
- Coordination with simulator: head-centered simulator vs. tape-centered trace. What happens when tape head goes out of bounds β display trace page by page?
- Concerns:
- Faster speed options
- Concerns:
- Interface: whole-app option, per-machine, or both?
- Measure: relative, or based on real time (e.g. avg. 3 steps/s)?
- Alternative design: designate loops/components to skip, e.g. move-right loop, adder subroutine.
- Unlocks: more complex examples, e.g. universal Turing machine
- Concerns:
- Breakpoints
- Rectangular selection to move multiple nodes at once
- Start arrow
- Concerns: arrows currently go from one state to another state (same start and end = loop). Manual adjustment of length and angle could be done via an invisible state (unintuitive), or dragging of the arrow itself (unlike other arrows).
Preferred: estimate length based on other edges, and angle similar to auto-arranged loops.
- Concerns: arrows currently go from one state to another state (same start and end = loop). Manual adjustment of length and angle could be done via an invisible state (unintuitive), or dragging of the arrow itself (unlike other arrows).
- Double circle for halting states (no exiting transitions)
- Will need to redo current state highlight
- On-demand script loading
- Trash instead of delete confirmation http://alistapart.com/article/neveruseawarning
- Atomic transactions, storage error reporting
- Concerns: Web SQL is not a standard, IndexedDB silently aborts transactions on page close
- Continuous integration, GUI testing
- Adjustable node size, aspect ratio?
- Show documents as a grid with thumbnails
- Need a way to render the thumbnails and cache them somewhere besides local storage.
- Cloud integration?
- Google docs, Dropbox
- Import/export, or direct saving?