freenode/#shirakumo - IRC Chatlog
Search
11:36:43
Shinmera
I'm very unhappy about how components, their extent, and their focus is strewn about and how hard it is to connect everything together satisfactorily.
11:37:20
Shinmera
Especially right now the component contains state that's required to manage its interactivity, but that doesn't mesh well with a component appearing in multiple layouts at once.
11:38:00
Shinmera
Right now I'm thinking I need a much lower level of abstraction for the "content" that should be displayed (text, editable text, boolean, choice, etc.)
11:38:40
Shinmera
And a representative component that acts as both a focus-element and a layout-element, and is responsible for managing the interactivity state, as well as the display state.
11:39:24
Shinmera
Since then each "component" is completely self-contained and you'd just create multiples of that fora particular "content" the management of the state would be much cleaner.
11:40:50
Shinmera
Usually if I can't explain something well enough it means I don't understand it well enough yet either.
15:20:24
Shinmera
1. data containers. This can be practically anything, though there will be convenient "standard containers" in case the data is only in the UI and not already represented somewhere else.
15:21:06
Shinmera
2. layout trees. These trees define the extent of elements that are displayed as well as the way they are rendered
15:21:26
Shinmera
3. focus trees. These trees define the way most events are routed and handled in the system.
15:21:58
Shinmera
4. components. These are representations of data containers that sit in a layout tree and possibly a focus tree.
15:22:57
Shinmera
5. data protocol. This protocol is a set of generic functions that allow the exchange of necessary information between a component and the data container that it represents. The protocol will need to be different for each type of data to represent.
15:24:01
Shinmera
Since components are now "shallow" they only manage display and interaction state, and there can be many components representing the same data container.
15:26:04
Shinmera
And since a component is now both a layout-element and a focus-element there's no more need to juggle the state between the two trees. The component will simply live directly in both, rather than having a container in both trees to hold the state for the component.
15:31:02
Shinmera
I'm also not sure if this is "just" MVC, as I'm never could quite understand what MVC was supposed to be exactly.