skills/frameworks-desktop/makepad-shaders/SKILL.md
CRITICAL: Use for Makepad shader system. Triggers on: makepad shader, makepad draw_bg, Sdf2d, makepad pixel, makepad glsl, makepad sdf, draw_quad, makepad gpu, makepad 着色器, makepad shader 语法, makepad 绘制
npx skillsauth add bereniketech/claude_kit makepad-shadersInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19
Check for updates: https://crates.io/crates/makepad-widgets
You are an expert at Makepad shaders. Help users by:
Refer to the local files for detailed documentation:
./references/shader-basics.md - Shader language fundamentals./references/sdf2d-reference.md - Complete Sdf2d API referenceFor production-ready shader patterns, see the _base/ directory:
| Pattern | Description | |---------|-------------| | 01-shader-structure | Shader fundamentals | | 02-shader-math | Mathematical functions | | 03-sdf-shapes | SDF shape primitives | | 04-sdf-drawing | Advanced SDF drawing | | 05-progress-track | Progress indicators | | 09-loading-spinner | Loading animations | | 10-hover-effect | Hover visual effects | | 11-gradient-effects | Color gradients | | 12-shadow-glow | Shadow and glow | | 13-disabled-state | Disabled visuals | | 14-toggle-checkbox | Toggle animations |
Community contributions: ./community/
Before answering questions, Claude MUST:
/sync-crate-skills makepad --force 更新文档"<View> {
show_bg: true
draw_bg: {
// Shader uniforms
color: #FF0000
// Custom pixel shader
fn pixel(self) -> vec4 {
return self.color;
}
}
}
<View> {
show_bg: true
draw_bg: {
color: #333333
border_color: #666666
border_radius: 8.0
border_size: 1.0
fn pixel(self) -> vec4 {
let sdf = Sdf2d::viewport(self.pos * self.rect_size);
sdf.box(1.0, 1.0,
self.rect_size.x - 2.0,
self.rect_size.y - 2.0,
self.border_radius);
sdf.fill_keep(self.color);
sdf.stroke(self.border_color, self.border_size);
return sdf.result;
}
}
}
<View> {
show_bg: true
draw_bg: {
color: #FF0000
color_2: #0000FF
fn pixel(self) -> vec4 {
let t = self.pos.x; // Horizontal gradient
return mix(self.color, self.color_2, t);
}
}
}
<View> {
show_bg: true
draw_bg: {
color: #0066CC
fn pixel(self) -> vec4 {
let sdf = Sdf2d::viewport(self.pos * self.rect_size);
let center = self.rect_size * 0.5;
let radius = min(center.x, center.y) - 1.0;
sdf.circle(center.x, center.y, radius);
sdf.fill(self.color);
return sdf.result;
}
}
}
| Component | Description |
|-----------|-------------|
| draw_* | Shader container (draw_bg, draw_text, draw_icon) |
| Uniforms | Typed properties accessible in shader |
| fn pixel(self) | Fragment shader function |
| fn vertex(self) | Vertex shader function (optional) |
| Sdf2d | 2D signed distance field helper |
| Variable | Type | Description |
|----------|------|-------------|
| self.pos | vec2 | Normalized position (0-1) |
| self.rect_size | vec2 | Widget size in pixels |
| self.rect_pos | vec2 | Widget position |
| Category | Functions |
|----------|-----------|
| Shapes | circle, rect, box, hexagon |
| Paths | move_to, line_to, close_path |
| Fill/Stroke | fill, fill_keep, stroke, stroke_keep |
| Boolean | union, intersect, subtract |
| Transform | translate, rotate, scale |
| Effects | glow, glow_keep, gloop |
| Category | Functions |
|----------|-----------|
| Math | abs, sign, floor, ceil, fract, min, max, clamp |
| Trig | sin, cos, tan, asin, acos, atan |
| Interp | mix, step, smoothstep |
| Vector | length, distance, dot, cross, normalize |
| Exp | pow, exp, log, sqrt |
show_bg: true to enable background shaderSdf2d::viewport() to create SDF contextvec4 (RGBA) from fn pixel()self. prefix to access uniforms and built-instesting
AUTHORIZED USE ONLY: This skill contains dual-use security techniques. Before proceeding with any bypass or analysis: > 1.
testing
Provide comprehensive techniques for attacking Microsoft Active Directory environments. Covers reconnaissance, credential harvesting, Kerberos attacks, lateral movement, privilege escalation, and domain dominance for red team operations and penetration testing.
development
Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C/C++/Rust code handling secrets, keys, passwords, or other sensitive data.
development
Comprehensive guide to auditing web content against WCAG 2.2 guidelines with actionable remediation strategies.