Giter Club home page Giter Club logo

megalith's Introduction

Designing a UI framework for CAD & Tooling applications, Territory Tabs. The design will be based on my own experiences with all varieties of these apps, and watching others succeed and fail when using them. I'll also be developing a CAD program with this framework!

Design Goals

Easy for Novices, Open to Experts

  • Tightly constrained UI design environment for a streamlined, consistent, easy-to-learn user experience.
  • ...but with a completely exposed configuration for the experts.
  • Ultra flat and wide feature heap with a central, easily-accessed fuzzy search for navigation.
  • Frequently used features can be turned into Tabs, which sit inside non-overlapping Territories.
  • Layout and linked layout features emulate workflow tabs.
  • Multi-window workflow support.
  • Works with keyboard only, mouse only, and touchpad only. Keybinds & shortcuts, naturally.

Consistent UI Rules

  • The only opaque overlays are context menus and toasts. Nothing else overlaps!
  • Features are never hidden or removed, and can only be disabled (greyed-out).
  • All disabled features will have, on-hover, a reason for why it is disabled, and a meaning for further explanation.
  • RuleSets (exposed Systems) govern feature enabling/disabling, among many other domains.
  • Modern quality of life standards, like toggling UI elements not moving the toggle source.

Lessons Learned

  • 30 years of CAD & Tooling design errors have informed the priorities of Territory Tabs.
  • Version-controlled, SHA1 Repository compatible, deterministic Operations for a single source of truth.
  • Taskpool for predicting & parallelizing large Operations.
  • All features and actions exposed out of the gate for scripting and integrations with other apps.
  • All ECS, all the time.

Roadmap

Core Territory Behavior

  • [] Redesign Move and Resize to be decoupled from display lbraries.
  • [] Implement Locked Territories

** Features **

  • []

License

This work is dual-licensed under Apache 2.0 and MIT. You can choose between one of them if you use this work.

megalith's People

Contributors

physgun avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.