use sim_kernel::Symbol;
pub const SCENE_NAMESPACE: &str = "scene";
pub const KIND_KEY: &str = "kind";
pub const SCENE_KINDS: &[&str] = &[
"box",
"stack",
"grid",
"text",
"field",
"button",
"badge",
"icon",
"tree",
"table",
"graph",
"node",
"edge",
"plot",
"matrix",
"knob",
"slider",
"meter",
"waveform",
"spectrum",
"timeline",
"keyboard",
"piano-roll",
"player-rack",
"object-roll",
"canvas",
"overlay",
"embed",
"patch",
];
pub fn scene_kind(name: &str) -> Symbol {
Symbol::qualified(SCENE_NAMESPACE, name)
}
pub fn is_known_kind_name(name: &str) -> bool {
SCENE_KINDS.contains(&name)
}
pub fn is_known_kind(symbol: &Symbol) -> bool {
symbol.namespace.as_deref() == Some(SCENE_NAMESPACE) && is_known_kind_name(&symbol.name)
}