dionyziz / automata Goto Github PK
View Code? Open in Web Editor NEWAn editor for deterministic finite automata
Home Page: http://automata.discrete.gr
An editor for deterministic finite automata
Home Page: http://automata.discrete.gr
Some icons need to be upgraded to retina resolution.
When running, the runner may overlap the automaton. Resize the automaton so that it is fully visible while running. Depends #18
There is an issue with object.js and the classical inheritance implementation.
You should add a help button which shows the available keyboard shortcuts (or add them as buttons on the toolbar).
At the moment it's practically impossible for a new user to find out how to mark a state as initial (i) or accepting, which he will be needing if he's using the website.
The automaton displayed when the application is started should be the empty automaton. The text
"Double click to create an automaton state"
should be displayed. The first state created should be the initial state.
The rendering main loop keeps being called even when it's unnecessary. Make it run only when needed.
Since the tool is devoted to the Automata theory, the core terms may be better write in the correct form:
Singular form: automaton (not automata).
Plural form: automata (not automatons).
Improve the way positions of automata state and transitions are stored so that they are not screen-dependent. Instead of storing locations in pixels, store them as floats in the interval [ 0, 1 ] so that the automaton remains visible when the window is resized or when viewed on a different screen.
Reloading the page currently makes you lose your automaton unless you've used the share link. This is a usual situation, especially on the mac where the delete key and backspace key only differ by a modifier, and the backspace key is equivalent to the browser's back button.
Make it so that when reloading the page, the automaton is saved.
504 Gateway Time-out
Add support for high pixel-density displays. Currently the rendering looks pixelated.
When selecting all states and deleting them, the start number should start over.
How to reproduce the bug:
When clicking on one of the little 'state radio buttons' indicating runner states, the automaton should advance or reverse to the appropriate state.
We 've got some trouble with UX:
Solution to this would be a pop up menu(github issues-like is a good idea) that explains the basic functionality of the app, with keyboard shortcuts and relevant info.
server.py constructs an .htaccess file for some reason. This is tight coupling and should be avoided.
When selecting multiple nodes, Ctrl+C (Cmd+C on Mac) should copy them and Ctrl+V (Cmd+V on Mac) should paste new ones that are of the same topology.
Trying to load saved automata (using share links) is working inproperly. Specifically, sometimes it takes too much time to load the saved NFA and sometimes it doesn't even load it at all.
Example link of saved NFA: http://automata.discrete.gr/##v70
Make it so that when a symbol that is not part of the automaton alphabet is entered during transition creation, the symbol is automatically added to the alphabet.
Self-transitions that use the symbol 0 are always highlighted, even when not running. Example:
Double clicking on a transition text should change the transition text. It should not only happen when double clicking on the transition arrow.
There is a bug at the visual buttons for prev, rewind and fastforward, only keyboard buttons works on these features. Have a look...
In an automaton that early rejects by reaching a state where no states are active before consuming the final symbol, hitting the right arrow key on the keyboard to go to the next state a few times doesn't have any effect. But if thereafter the user presses the left arrow to go to the previous state, the wrong state is highlighted in the runner window.
When sharing an automaton while it's running, the highlighted transitions incorrectly remain highlighted when the automaton is loaded.
The only thing I noticed is that in the restored automaton nfa and nfaview.nfa are differend!
To be more specific nfaview.nfa has no events!
Also nfaview.nfa[ state ] is equal with nfaview[ state ] instead of true...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.