It is one. Your app is a Rust program that depends on a crate. The UI compiles to Rust code, and we also have the `slint!` proc macro.
> there's always some edge case logic that needs a full programming language
Right, and that language is Rust. The DSL only describes the GUI. You operate it from Rust.
> Why was using js like qt quick not good enough?
QML was the inspiration. I worked on Qt and wrote QML bindings for Rust before (qmetaobject-rs). Slint is a new take on it, compiled ahead of time, no GC, strongly typed.