Skip to content

Latest commit

 

History

History
172 lines (169 loc) · 7.41 KB

PROGRESS.md

File metadata and controls

172 lines (169 loc) · 7.41 KB

Progress

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

Planned / In Progress

Release v1.5.0 (Plugin infrastructure)

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

Backlog

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.

Legacy

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
  • 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
  • Release v1.4.0
    • HAWK / nttals usability exploration fixes
      • Importer / Exporter interfaces
        • importer interface & tapaal example
        • exporter interface & tapaal example
    • Fix TODOs
    • Javadocs