I would like to build a Roku SceneGraph experience built incrementally from XML components shipped off from a remote server. That is to say, enable a Roku channel to drive a SceneGraph experience using components that are not all included as part of the XML and brs files under the component/ folder shipping with the channel, but rather, downloaded from the Internet dynamically.
The analogy is a web browser with html as the declarative markup language (although that is not my specific goal).
I saw reference to SceneGraph files being compiled on channel startup based on what is present under component/
. There doesn't seem to be a way to generate a roSGNode
from XML, for instance.
I did a bit of research but came up empty handed. Curious to know if anyone else thought this space through before?
In short I don't think a SceneGraph channel can dynamically load XML-defined components that aren't stored as part of the channel package.
However that doesn't necessarily mean you can't build a dynamic channel.
You might be able to at least run Brightscript code that are sent server-side by using the Run() or Eval() functions https://sdkdocs.roku.com/display/sdkdoc/Runtime+Functions
A lot can be done programmatically with Brightscript, e.g. you can add components and fields for those components.