Current progress and future plans. There is also a github project for this, and I am debating which solution I should use / prefer. For now, both exist
This milestone focuses on cleanup and plugin infrastructure. The goal is to make the plugin ecosystem more robust and easier to use and extend.
- Purge github issues
- Undo system overhaul (make it diff-based)
- Wrapper for the
addListener
/removeListener
boilerplate pattern - Language bindings
- [-]
Python bindings - Lua bindings LuaJava.
- [-]
- Plugin Repository with some exploration / browsing built in
-
std
sidepanel for plugin browsing
These are the ideas that are not yet planned, but are on the radar.
- TIOA syntax
- Diff view
- TA syntax
- Continuous Deployment
- flathub
- Web based view
- CodeArea tree highlighter implementation
- Trace-traverser & specification
- Plan for git integration
- Planarity Embedding / autoformatting
- MonacoFX and TextBuffers
- DAP like specification
- Protobuf specification
- Implement
IDap
/IDapEngine
interfaces
- Clean up
DI
usage- Create some analysis tools, maybe a dependency graph from where things are added and where they are retrived again.
This is a list of things that have been done. Only here for sentimental reasons.
- Basic graph model implementation
- Serialization / deserialization of the graph model
- Create issue on jdtls repo about not implementing the progress feature - it's getting a bit annoying to use
- JFX basics
- Log4j / Logback
- BuildConfig
- Log sink for any type of log message (using log4j's verbosity enum)
- JFoenix (Nope)
- MaterialFX <-- Much better library (actively maintained)
- AtlantaFX <-- Even better, no need for special stuff
- Set up the core architecture (MVVM)
- Set up the basic window
- Tab pane
- project file explorer
- graph editor / viewer
- Toolbar
- properties / queries pane
- Log viewer
- Preloader
- Text-editable example vertex
- Project configuration & actual file-browser integration (geproject.json or something like that)
- Shortcut + Shift + O > file chooser > open project will restart the application and open the project
- double-clicking a model file will open the model
- double-clicking a directory will toggle the directory
- have a keyboard accelerator for new model file (create in selected path - warn if none selected)
- Get feature parity with H-Uppaal
- Focus stealing
- Project search (telescope-like)
- clickable links
- Run configurations (will replace engine "integrations")
- Code polish and project structure cleanup
- Separate codebase into projects (yalibs for libraries) guide
-
yadi
-
yaerrors
-
yafunc
-
yastreamgobbler
-
yaundo
-
- Fix todos
- Combined modelling tool
- graph editor polish
- Project file pane
- Proper fill-out
- Separate codebase into projects (yalibs for libraries) guide
- Beurocracy Cleanup
- A documentation wiki
- Commission a logo
- javadoc
- InspectorUtils.java:73: error: unexpected content
- InspectorUtils.java:81: error: @param name not found
- InspectorUtils.java:111: error: unexpected content
- InspectorUtils.java:148: error: unexpected content
- ShapeUtil.java:19: error: unknown tag: implNote
- ViewModelEdge.java:102: error: unexpected content
- ViewModelVertex.java:100: error: unexpected content
- ViewModelTextVertex.java:29: error: unexpected content
- Roadmap
- Readme polish
- Changelog
- CI
- Make repository public
- use gzip see this
- dont install in /opt
- license
- /bin/graphedit > /bin/Graphedit
- Release
v1.0.0
(gradle publishing guide)- Runtargets are not serializing
- dont package /doc
- Desktop icon not functioning on .dekstop file for linux
- Delete key doesnt work on unified tool (misunderstanding - it was the select tool, which is on purpose)
- Ctrl+N dialogue not autoappending .json (same with new project)
- Preloader is ass - just launch into /tmp/graphedit/uuid and ask for savedir on first Ctrl+S (or something better)
- Change saved settings file notification to "saved /path/to/place/settings.json" instead
- MenuItems are lowercase, they should be Upper Case
- window title is just "java" (only when using "make run")
- trying to open project.json through filepane shouldn't be that scary
- inspector pane is odd to use (hide it)
- buffer changed *-thing
- Unread logs *-thing
- ignore toasts settings toggle
- modals should have titles
- modals are ugly - missing padding
- autoselect unified tool
- readme install steps
- homebrew
- flatpak
- GNOME store?
- javadoc
- gitignored Project cache, such as what files did you have open last etc.
- windows menubar not showing
- Migraters
- Plugin system
- general plugin system
- refactor into "vscode" style layout
- refactor things into
std
- File Explorer
- Syntactic Element Inspector
- Syntax factories
- polish
- move things into proper packages and remove old stuff
- launchable with no plugins (we shouldn't depend on plugins. That would be bass ackwards)
- ugly UI
- cut dependencies off in build.gradle please
- Release format (ship plugins)
- TODOs round
- update readme (screenshots etc)
- Release `v1.1.0
- GraphDiff algorithm (look at https://stackoverflow.com/questions/16553343/diff-for-directed-acyclic-graphs)
- Additions (new syntactic elements), Deletions (B does not have some syntactic element), Edits (Some syntactic element's properties has been changed)
- Cut / Copy / Paste support
- Lint layer
- Lint protobuf specification
- Implement
ILint
/ILinter
interfaces
- Release core as a library on ossrh
- Additional Syntaxes
- Simple Text
- LTS
- P/N
- Plugin Manager
- Fix TODOs
- Polish
- Release `v1.3.0
- Third party language plugins
- NTTA
- HAWK
- Model metadata editor
- Add plugin API and
- LSP like specification (use docusaurus, or github wiki)
- Protobuf specification (that way, you are language agnostic)
- Implement
ILsp
/ILspEngine
interfaces
- Third party language plugins
- Release
v1.4.0
- HAWK / nttals usability exploration fixes
- Importer / Exporter interfaces
- importer interface & tapaal example
- exporter interface & tapaal example
- Importer / Exporter interfaces
- Fix TODOs
- Javadocs
- HAWK / nttals usability exploration fixes