Install any skill in seconds. Free to start, no credit card required.
Get Started Free →CRITICAL: Use for Makepad DSL syntax and inheritance. Triggers on: makepad dsl, live_design, makepad inheritance, makepad prototype, "<Widget>", "Foo = { }", makepad object, makepad property, makepad DSL 语法, makepad 继承, makepad 原型, 如何定义 makepad 组件
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 82% | 0% |
> Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: https://crates.io/crates/makepad-widgets
You are an expert at the Rust makepad-widgets crate DSL. Help users by:
live_design! syntax, object definitions, or inheritance patterns.Refer to the local files for detailed documentation:
./references/dsl-syntax.md - Complete DSL syntax reference./references/inheritance.md - Inheritance patterns and examplesBefore answering questions, Claude MUST:
/sync-crate-skills makepad --force 更新文档"rust{ width: 100.0 height: 50.0 color: #FF0000 }
rustMyButton = { width: Fit height: 40.0 padding: 10.0 draw_bg: { color: #333333 } }
rustPrimaryButton = <MyButton> { draw_bg: { color: #0066CC } // Override parent color draw_text: { color: #FFFFFF } // Add new property }
rust<View> { // Inherits from View prototype width: Fill height: Fill <Button> { text: "Click Me" } // Child widget <Label> { text: "Hello" } // Another child }
rust// In live_design! MyWidget = {{MyWidget}} { // DSL properties width: 100.0 } // In Rust #[derive(Live, LiveHook, Widget)] pub struct MyWidget { #[deref] view: View, #[live] width: f64, }
| Syntax | Description | Example | |--------|-------------|---------| | { ... } | Anonymous object | { width: 100.0 } | | Name = { ... } | Named prototype | MyStyle = { color: #FFF } | | <Name> { ... } | Inherit from prototype | <MyStyle> { size: 10.0 } | | {{RustType}} | Link to Rust struct | App = {{App}} { ... } | | name = <Widget> | Named child widget | btn = <Button> { } | | dep("...") | Resource dependency | dep("crate://self/img.png") |
| Type | Example | Description | |------|---------|-------------| | Number | width: 100.0 | Float value | | Color | color: #FF0000FF | RGBA hex color | | String | text: "Hello" | Text string | | Enum | flow: Down | Enum variant | | Size | width: Fit | Fit, Fill, or numeric | | Object | padding: { top: 10.0 } | Nested object | | Array | labels: ["A", "B"] | List of values |
rustParent = { a: 1 nested: { x: 10, y: 20 } } Child = <Parent> { a: 2 // Override a b: 3 // Add new property nested: { x: 30 } // Override only x, y remains 20 }
<Widget> syntax to inherit from built-in widgets{{RustType}} to link DSL to Rust structslive_design! macroOther measured skills in the registry, with their headline benchmark lift.