Skip to content

Conversation

@Lorthiz
Copy link

@Lorthiz Lorthiz commented Apr 2, 2025

Screen Shot 2025-04-02 at 10 30 23

AppURL: https://kaitai.lorthiz.ovh

Goal

Global refactor of the application. Currently my branch should have the same functionality as devel, but also includes some QoL improvements, better responsiveness, modularity and up to date dependencies and libraries.

Disclaimer

Right now I made sure that your new changes are also applied in my branch and that there is a way to merge this project without much hassle, but my MR were ignored in the past - so were my messages about MRs in Gitter. So without clear interest from your side I just plan to add more features to this branch not waiting for any response. And if it breaks then so be it.

Changelog

Architecture changes

  • jQuery is gone(sorry I had to)
  • whole app was rewritten to Vue3
  • Parcel was added to build/bundle build artifacts - the js folder with custom build steps and copying node_module is gone
  • Old editor was replaced with Monaco editor
  • GoldenLayout was replaced with a more modern Dockview
  • new build process using Github Actions and direct deployment to Github Pages
  • Worker and it's code are even more isolated to allow us to make a separate project just for worker code and worker building
  • Fully typescriped project

HexViewer

  • selection is blazing fast and responsive
  • double click selects whole parsed range
  • Shift + click for bigger selections
  • Arrow keys for moving cursor around
  • Shift + arrow keys for selecting multiple rows/bytes
  • more context actions: jumping to end/start of selection
  • possibility to change config of HexViewer to display more columns or spacers on the go
  • Emoji mode

File Tree

  • Ground work was done to implement loading full support for folders, one thing that is missing is update script for FileSystem schema
  • Possibility to download whole folders or even whole LocalStorage as a zip

Things to consider before merging

  • Whole app was prepared in a way to be clear on the go that it's not official. Before merging those things needs to be reverted
  • Build process changed a little bit might need adapting to your pipelines

Things I plan to work on next

  • FileSystem schema upgrade to support folders and nesting(DONE0
  • dist folder where all the generated code will land instead of opening popup windows/new tabs for generated code(DONE)
  • settings to select "default" language in which parsers should be generated
  • Yaml support and code completion - I tried implement monaco-yaml editor but it had problems with parcel
  • crating separete project for worker to cleanup this project dependencies
  • overall project cleanup - moving files around to "where they fit"
  • settings view where more options may be specified

…ries, added testing library - mocha, docs cleanup, removed duplicated 3rd party libraries info
…ts for code evaluation functionality, initial restore of LazyInstances
…viour when file is deleted and it was selected
@Lorthiz Lorthiz changed the title V3 Refactor - it's stylish, it' V3 Refactor - it's stylish, it's fast, it's more modern Apr 2, 2025
Lorthiz added 4 commits April 3, 2025 13:53
…ng onMountedEvents when filesystems were not ready, added dist folder instead of opening new window for each generated parser
…d tests written, imports for folders now work during parser generation, but only absolute imports are advised. Some other fixes and improvements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant