Skip to content

docs(skills): correct the list of components that render - #268

Closed
LeadcodeDev wants to merge 1 commit into
docs/readme-architecturefrom
docs/skill-card-flex
Closed

LeadcodeDev wants to merge 1 commit into
docs/readme-architecturefrom
docs/skill-card-flex

Conversation

@LeadcodeDev

Copy link
Copy Markdown
Owner

Severity Low, category coherence. Location: crates/rustmotion/skills/rules/card-flex-layout.md:46

Impact

The heading (line 40) and list (line 44) name shape, image, icon, svg, video, gif, callout, chart, comparison, dot_map, gauge, heatmap, lottie, marquee, mockup, pill_nav, skeleton, sparkline, stat, stepper, tag_cloud, tooltip, treemap as having no size source, "verified against ... component_intrinsic and apply_intrinsic_overrides". box_builder.rs:1605-1955 now gives every one of those a default size — the block's own comment cites this exact issue ("#126 / W3: the 23 components with no size source") — and box_builder.rs:2883 asserts each gets a positive box. This file is the LLM-facing generation guide shipped inside the published crate: it makes the model add redundant explicit width/height everywhere and, worse, line 48-50 tells it to suspect this list first when a component doesn't render, sending debugging down a dead path. The doc even claims stat in a flex row produces a blank frame, which the Stat(_) => apply_default_size(css, 280.0, 180.0) arm (box_builder.rs:1817-1825) was written specifically to fix.

Fix

Rewrite the section to describe the current behaviour: these components now get a documented default size and explicit width/height is an override, not a requirement. Keep a short note on which defaults are content-derived vs fixed. .claude/skills/rustmotion/rules/ symlinks to this tree, so one edit fixes both.

Evidence the audit read

As a flex/grid child with no explicit `style.width`/`style.height`, any of these lays out at **0×0 and renders nothing** — not a smaller-than-expected box, no pixels at all. Confirmed by rendering: three `stat`s in a flex-row card with no explicit size produce a blank frame. `rustmotion validate` does not flag this (a 0×0 box doesn't overflow anything).

Stacked on docs/readme-architecture, which carries the previous finding of this workstream. GitHub shows only this finding's diff; merge in order.

Part of the September 2026 audit remediation chantier. Refs #220 (RM-24).

@LeadcodeDev LeadcodeDev added the bug Something isn't working label Sep 21, 2026
@LeadcodeDev LeadcodeDev self-assigned this Sep 21, 2026
@LeadcodeDev
LeadcodeDev added this pull request to stack #276 September 22, 2026 05:51
The heading (line 40) and list (line 44) name `shape, image, icon, svg, video, gif, callout, chart, comparison, dot_map, gauge, heatmap, lottie, marquee, mockup, pill_nav, skeleton, sparkline, stat, stepper, tag_cloud, tooltip, treemap` as having no size source, "verified against ... `component_intrinsic` and `apply_intrinsic_overrides`". box_builder.rs:1605-1955 now gives every one of those a default size — the block's own comment cites this exact issue ("#126 / W3: the 23 components with no size source") — and box_builder.rs:2883 asserts each gets a positive box. This file is the LLM-facing generation guide shipped inside the published crate: it makes the model add redundant explicit `width`/`height` everywhere and, worse, line 48-50 tells it to suspect this list first when a component doesn't render, sending debugging down a dead path. The doc even claims `stat` in a flex row produces a blank frame, which the `Stat(_) => apply_default_size(css, 280.0, 180.0)` arm (box_builder.rs:1817-1825) was written specifically to fix.

Refs #220
@LeadcodeDev

Copy link
Copy Markdown
Owner Author

Closed and reopened as a fresh pull request: GitHub registered this one as part of a stack, and a stacked pull request cannot be merged through either the GraphQL or the REST merge endpoint. The finding itself is unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant