Roadmap & Manifesto
HTMLCARS is continually evolving. This page lists some of the ideas and
planned features for this library.
The LCARS Manifesto
- LCARS is the user-interface of all Spaceships of the
United Federation of Planets.
- LCARS is fundamentally a means of getting and setting the state
of a complex system that interfaces with the real world.
- LCARS output is highly domain-specific. Its general chrome is
consistent and minimalistic. Its data presentation is interactive,
tailored to the task and mostly visual.
- LCARS input is versatile and precise. Commands are sent by touch
or speech. Modes like yellow alert set defaults for the whole system.
Procedures combine actions into single parameterized commands.
- LCARS state is structured and regular. Scalar or boolean values
combined in structs and lists are distributed consistently across the
system.
- LCARS interfaces are non-destructive and adaptable. Any form of data
may be stored, analyzed or used to drive automated systems. Reusing data
from an interface somewhere else in the system is explicitly
encouraged.
- LCARS is dynamic. It will work reliably as configured but will also
suggest new views and configurations based on usage patterns and processed
data.
High-Level Goals
- Implement a comprehensive library of components/widgets
- Implement an algorithm that places widgets based on input and usage data
- Adapt this into a proper ES Module / Vue library
Components
Components are the fundamental building block of an LCARS interface. They
may be grouped together to form a single application, but can also be split
apart to appear in a different part of the interface.
Actions in particular can be created and moved around freely, depending on
how frequently they are used. This is vital for a starship control, where
some actions need to exist for different people on the bridge, composed
into their usual task interface.
Much like GTK+ Widgets and HTML elements, these components have a minimal
and optimal size and aspect ratio. Based on these values, an algorithm or
machine learning model places the components onto the available screen.
- Clock
- Stardate Display
- Status Indicator
- Terminal Emulator
- Numpad
- Keyboard
- Action Group
- Navigation Wheel
- Picture Frame
- Settings Panel