Agent skill · Backend & API

makepad-2.0-troubleshooting

makepad error, makepad bug, makepad problem, makepad issue, makepad not working, text invisible, widget not showing, click not working, height zero, makepad pitfall, makepad gotcha, makepad FAQ, makepad help, script_mod error, compile error, widget not found, render not updating, hot reload not working, wasm build error, port conflict, server lock, IME popup, selection handle, popup window crash, canvas splash, POST splash loop, 100% CPU, set_visible not working, on_render empty, event bridge unreliable, float time display, fn tick not called, on_audio not called, button click through, 常见错误, 问

ZhangHanDonggithub.com/ZhangHanDongGitHub ↗
claude-code
Install
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-troubleshooting --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 54 KB
Bundled scripts: none
Path: skills/makepad-2.0-troubleshooting/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 745

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Provides step-by-step guidance for diagnosing and fixing common Makepad 2.0 issues, including UI rendering, batching, widget registration, layout width behavior, color parsing, and animator usage.

How it works

  • Lists common pitfalls (e.g., container height 0, text invisible due to batching, named child overrides, hex color parsing with e, border_radius types, widget registration order, fillers vs Fill, text disappearing on hover, comma usage, semicolon usage, root container width behavior, and label animator support).
  • For each pitfall, states the symptom, root cause, and a concrete fix with minimal code examples.
  • Emphasizes exact property names and values to use in Splash/Makepad 2.0 contexts (e.g., height: Fit, new_batch: true, #x prefix for hex colors with e, draw_bg.radius vs draw_bg.border_radius, width: Fill on root, etc.).
  • Provides explicit code snippets illustrating wrong vs correct usage and the proper context-specific properties.

When to use it

Use this guide when users report the listed symptoms or when implementing UI components in Makepad 2.0 that touch rendering, layout, color parsing, batching, widget registration, and animator behavior.

What it can touch

  • Properties and blocks mentioned in the guide: height, width, Fill, Fit, new_batch, show_bg, draw_bg, color, color_hover, hover, pixel, radius, border_radius, draw_text, animator, Label, View, Filler, RoundedAllView, Inset, vec4, and script_mod context names.
  • Tool usage: script_mod(vm) registration order when wiring widgets (via Rust code snippet shown).

Caveats

  • Notes about color hex parsing involving the letter e and the workaround #x prefix.
  • Clarifies that commas in Splash blocks are optional and treated as whitespace; either style is valid.
  • States that semicolons are not valid in Splash and should be removed.
  • Highlights that Label and several other widgets do not support animator directly and must be wrapped in a View that does.
From the SKILL.md

# Makepad 2.0 Common Pitfalls & Troubleshooting Guide This skill covers common mistakes when building with Makepad 2.0 and the Splash scripting language. Each pitfall includes: - What the user sees (symptom) - Why it happens (root cause) - How to fix it (correct code) Reference documents: `AGENTS.md`, `splash.md` --- ## Pitfall #1: Container height is 0px -- UI is invisible **Symptom:** Your entire UI or a section of it does not appear. The container renders with zero height, making all children invisible. **Root Cause:** All View-based containers (`View`, `SolidView`, `RoundedView`, etc.) default to `height: Fill`. When a `Fill` container is placed inside a `Fit` parent (or any context where the available height is determined by children), the height resolves to 0px due to circular dependency: the parent asks the child how tall it is, the child says "as tall as my parent", and the result is zero. **Fix:** Always set `height: Fit` on containers that should shrink-wrap their content. ``` // WRONG -- height defaults to Fill, resolves to 0px in a Fit context View{ flow: Down Label{text: "Hello"} } // CORRECT -- height: Fit makes the container wrap its children View{ height: Fit flow:

What's inside
Steps it walks through
  1. Pitfall #1: Container height is 0px -- UI is invisible
  2. Pitfall #2: Text invisible on colored background -- missing newbatch
  3. Pitfall #3: Named child override does not work -- used : instead of :=
  4. Pitfall #4: Hex color with letter 'e' renders wrong or causes parse error
  5. Pitfall #5: borderradius takes wrong type -- must be float, not Inset
  6. Pitfall #6: Widget not found from Rust -- registration order wrong
  7. Pitfall #7: Filler clips text -- used alongside width: Fill sibling
  8. Pitfall #8: Text disappears on hover -- animated View without newbatch
  9. Pitfall #9: Commas in Splash -- tolerated but not required
  10. Pitfall #10: Using semicolons -- not valid in Splash
  11. Pitfall #11: Root container without width: Fill -- narrow or broken layout
  12. Pitfall #12: Label does not support Animator -- silently ignored
  13. Pitfall #13: Default text color is white -- invisible on light backgrounds
  14. Pitfall #14: Shader pixel function missing Pal.premul() -- colors render wrong
Ships with 1 file
  • references/error-solutions.md
Commands it runs
Run with hot reload enabled
cargo run -p my-app -- --hot
More from makepad-skills
All skills →
About this skill
What does the makepad-2.0-troubleshooting skill do?

makepad error, makepad bug, makepad problem, makepad issue, makepad not working, text invisible, widget not showing, click not working, height zero, makepad pitfall, makepad gotcha, makepad FAQ, makepad help, script_mod error, compile error, widget not found, render not updating, hot reload not working, wasm build error, port conflict, server lock, IME popup, selection handle, popup window crash, canvas splash, POST splash loop, 100% CPU, set_visible not working, on_render empty, event bridge unreliable, float time display, fn tick not called, on_audio not called, button click through, 常见错误, 问

How do I install it?

Run `npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-troubleshooting --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From ZhangHanDong/makepad-skills, a repository with 745 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going