-
Notifications
You must be signed in to change notification settings - Fork 26
Add Dynamic Parameter Rendering #352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
08ff0f2 to
f805f4c
Compare
yondonfu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks pretty good! I tested install of the sample plugin and confirmed that the schema driven fields show up in InputAndControls + Settings panel and that updating the fields in the former trigger parameter update sends across the WebRTC data channel during runtime.
There seems to be a stray box by default when I open up the app and look at the default LongLive settings.
f805f4c to
c9fb517
Compare
4f33260 to
901fa07
Compare
yondonfu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't need to happen immediately, but for my own understanding will we be able to slim down BasePipelineConfig too? It seems to have a lot of stuff.
Yes, agree. The same actually with some parts of the frontend, like |
65270d8 to
5964d39
Compare
Signed-off-by: Rafal Leszko <rafal@livepeer.org>
Signed-off-by: Rafal Leszko <rafal@livepeer.org>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
5964d39 to
e6219a5
Compare
yondonfu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!


Add support for defining parts of the frontend in plugins.
Demo
demo_dynamic.mp4
Sample plugin
It's simplest to understand how it works by looking at a sample plugin: https://github.com/leszko/scope-plugin-ui
DAYDREAM_SCOPE_PREVIEW=1 uv run daydream-scope install git+https://github.com/leszko/scope-plugin-uiWhat and how to define
Any field in
schema.pythat includesjson_schema_extrawill be rendered in the UI.You can define the following keys inside
json_schema_extrato control how the field is displayed:order(int) — Controls the rendering order in the UI (lower numbers appear first).category(str) — Determines where the field is displayed. Possible values:inputconfiguration(default)component(str) — The name of a custom or complex UI component to use for this field.label(str) — The label shown in the UI. If not provided, the field’sdescriptionis used.modes(list[str]) — Specifies which modes the field is visible in.Defaults to
["text", "video"].Resources:
Non-Goals