Lmpessoa / Glyphr-Studio-2

V2 is back \m/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Glyphr Studio v2!

V2 is back :-) the overall goal is codebase modernization. Much of the code hasn't been worked on since 2010, so it's time to do an all-up scrub.

While most user scenarios and functionality will be the same as V1, the one main functionality improvement will be multi-project editing that will allow for cross-project copy/paste and merging fonts.

Links

Website glyphrstudio.com
Email mail@glyphrstudio.com
App glyphrstudio.com/v2/app
Help & Docs glyphrstudio.com/v2/help
Blog glyphrstudio.com/blog
Mastodon @glyphrstudio@typo.social
Reddit reddit.com/r/GlyphrStudio
Twitter @glyphrstudio
GitHub github.com/glyphr-studio

What's changing

My rough road-map is to start refactoring the Glyph Element objects (the underlying data structures that describe glyphs), ensure we have good separation between data and the UI, then start working on the new UI layer.

Glyph Elements / Project Data stuff
Modules (native)
Change prototypes to classes
Let / Const instead of Var
Template strings instead of string concatenation
Lint everything with Prettier
JSDoc all the things
Vitest tests for everything (basic coverage)
🔜 Vitest tests for everything (advanced coverage)
UI Layer stuff
Use Web Components to define atomic controls
New top-level navigation / page view switching
CSS3, mostly for Variables and Layout
Let / Const instead of Var
Template strings instead of string concatenation
Lint everything with Prettier
JSDoc all the things
🔲 Vitest tests for everything (basic coverage)
🔲 Investigation - Language switching for localization

What's not changing

So, here at Glyphr Studio, we've always had a very strong DIY attitude - this means:

  • The only external library we will use for the UI is OpenType.js, for importing and exporting OTF files
    • This means no UI Frameworks like React or Vue, and no helper libraries like Paper.js
  • The whole app will still concat down to HTML, CSS, and JavaScript files:
    • Continuing the ability to run locally (or online) without a back-end
    • Build process using Vite for modules

Timeline

Preliminary investigations started in 2019... but Covid slowed things way down. Things have picked back up in 2021/2022. Alphas are being released in late 2022 / early 2023, with a goal of finishing in (the first half?) of 2023.

Bug fixes for V1 will still take precedence over V2.

Merging new ideas with old functionality is time consuming :-)

License

Copyright (C) 2010 - 2023 Matthew LaGrandeur, released under GPL 3.0

Author

Matthew LaGrandeur's picture
Matthew LaGrandeur
matt[at]mattlag[dot]com

About

V2 is back \m/


Languages

Language:JavaScript 99.1%Language:CSS 0.9%Language:HTML 0.1%