Skip to content

1.0 Planning

John Bartos edited this page May 22, 2019 · 4 revisions

Goals

  • Better API
    • More consistent
    • Easier to use
      • Functions instead of getters/setters?
      • Promise-based?
  • 100% Typescript
    • Makes typing events easier internally because we have actual handlers to type
  • Progressive parsing
  • Plugin system?

Ideas

  • Hooks into license request flow for DRM server manipulations
  • Fewer events used internally will allow easier control flow introspection
  • Allow developers to use their own captions renderer/fire cues event

Open Questions

  • Should we continue to use getters/setters in the public API?
    • Example: currentLevel changes a level, which is a big side effect
    • Consensus seems to be yes
  • What APIs/configs can we remove/consolidate?
  • What should our default config value be?
  • How do we handle event order dependencies when instantiating controllers?
    • Some controllers need to set up before any other because they rely on handling an event first
  • Should we outlaw static class properties?
    • Probably: they do not minify well
  • Should we tackle the plugin system now?
    • Probably not - @itsjamie: 1.0.0 will be big already, and we can add a plugin system without changing the public API for the distro users.
  • Drop Bower support: https://bower.io/blog/2017/how-to-drop-bower-support/