Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discover editing structures lazily starting from the ground #18

Open
countvajhula opened this issue Mar 26, 2024 · 0 comments
Open

Discover editing structures lazily starting from the ground #18

countvajhula opened this issue Mar 26, 2024 · 0 comments

Comments

@countvajhula
Copy link
Owner

Currently, Rigpa comes with some editing structures pre-defined, such as modes, towers, and complexes. There is an implicit top-down ordering here, where editing complexes contain towers which contain modes. Instead, it would be better to start from the ground, and find some way to delegate the UX to structures "discovered" when escaping into larger scales and meta levels. For instance, an inner level should not know that it is contained in a particular type of larger-scale structure.

This might necessitate:

  • discovering containing structures using a lambda rather than through a hardcoded access of a known containing structure
  • basic mutable structures (e.g. a simple list) to be able to add containing structures dynamically, so that they can be discovered through the discovery mechanism. When there is no containing structure discovered, it may need to be dynamically and automatically created in some cases.
  • A UX abstraction layer that allows the discovery process to discover new keybindings that are appropriate for the containing structure's topology. E.g. a tower may involve up/down, but a ring may involve left/right rotation, and an array may involve translation in four directions. Most likely, we can just enter an appropriate mode here, and it won't involve making anything new, aside from possibly needing to have a mechanism to tie a structure to a mode.
  • There may also be built-in ways to represent different types of structures (e.g. buffers for a complex, a single buffer for a tower, TBD for a ring), which could be determined by the type of structure.
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

No branches or pull requests

1 participant