LiveSplit / livesplit-core

livesplit-core is a library that provides a lot of functionality for creating a speedrun timer.
https://livesplit.org/
Apache License 2.0
212 stars 58 forks source link

Implement the Contextual Slideshow Component #228

Open CryZe opened 5 years ago

CryZe commented 5 years ago

We always wanted this component for the original LiveSplit. The way livesplit-core works, it should be pretty easy to implement this.

The idea is that you can select multiple components that are part of the slideshow. The component will switch between them every now and then. That way you can visualize a lot of components with minimal space. The component would always check if a component is actively being updated and prefers switching to that component to visualize the new information.

The only hard part would be to figure out how to let the user choose what components are part of the slideshow. Also how do we deal with components that have different sizes? We wouldn't want the layout to change size all the time. I guess an initial implementation can just provide checkbox based settings for a default set of key value based components.

DarkRTA commented 5 years ago

Another thing to consider is if we want to do the component swapping on livesplit-core's side or leave it up to the person using the library.

If we do it on livesplit_core's side, it could essentially be drop in for people using Layout_state_as_json()