Update autoresearch docs with findings from fill/size analysis
This commit is contained in:
parent
2858d944bd
commit
8ce1bb4fac
13
autoresearch.ideas.md
Normal file
13
autoresearch.ideas.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Autoresearch Ideas
|
||||
|
||||
## High Priority
|
||||
- **Vector constraint resizing**: 38 vectors have wrong sizes because instances smaller than their component don't resize children via constraints. Figma uses horizontal/vertical constraints to scale children when instance size ≠ component size. Need to implement constraint-based resizing after population.
|
||||
- **Variable-bound fills**: 3 Indicator nodes have wrong fill colors because their fills are bound to design variables that resolve differently in the visible-page context. Need to resolve variable bindings during import.
|
||||
- **Self-referencing symbolOverride pattern**: 4 Placeholder TEXT nodes have dark fills instead of white. Same pattern as bold toolbar button — the instance's own kiwi NC has correct fills but a symbolOverride targeting the component shell overwrites them. The current fix only handles exact self-reference (targetId === nodeId). Need to also handle cases where the override targets a CHILD that was cloned from the self-referencing path.
|
||||
|
||||
## Medium Priority
|
||||
- **datepicker width**: 6 `_datepicker-date-range-link` instances have width 32 vs Figma's 131. Likely DSD size override or layout recomputation issue.
|
||||
- **Badge scaling**: Badge/Avatar/Placeholder/Close-Icon ~1.12x ratio diffs — proportional scaling issue from DSD not fully applied.
|
||||
|
||||
## Low Priority
|
||||
- **99 unmatched nodes**: Figma has 99 nodes that don't match by tree path. Likely node ordering or naming differences in deep clone chains.
|
||||
|
|
@ -2,3 +2,4 @@
|
|||
{"run":1,"commit":"8a90594","metric":246,"metrics":{"visibility":1,"text":0,"fills":10,"radius":161,"size":74,"unmatched":99},"status":"keep","description":"Baseline: 246 diffs (1 vis, 0 text, 10 fills, 161 radius, 74 size, 99 unmatched)","timestamp":1773482910363,"segment":0}
|
||||
{"run":2,"commit":"3746d1a","metric":99,"metrics":{"visibility":1,"text":0,"fills":10,"radius":14,"size":74,"unmatched":99},"status":"keep","description":"Fix comparison: read individual corner radii when independentCorners=true","timestamp":1773483304162,"segment":0}
|
||||
{"run":3,"commit":"7fc3a64","metric":85,"metrics":{"visibility":1,"text":0,"fills":10,"radius":0,"size":74,"unmatched":99},"status":"keep","description":"Fix comparison: treat both-pill cornerRadius values as equal","timestamp":1773483389254,"segment":0}
|
||||
{"run":4,"commit":"2858d94","metric":84,"metrics":{"visibility":1,"text":0,"fills":9,"radius":0,"size":74,"unmatched":99},"status":"keep","description":"Skip self-referencing symbolOverrides on nodes with explicit kiwi properties (fixes bold toolbar button fill)","timestamp":1773484182748,"segment":0}
|
||||
|
|
|
|||
|
|
@ -44,10 +44,10 @@ and `tests/fixtures/gold-preview-truth.json` as ground truth (extracted from liv
|
|||
- **DSD for swapped instances**: Single-child fallback in resolveOverrideTarget (d93c475)
|
||||
- **Rounded clipping**: clipRRect when clipsContent + cornerRadius (49423e4)
|
||||
- **Shadow child shape**: Drop shadow on transparent containers follows first child (f70338d)
|
||||
- **Current baseline**: 246 total_diffs (1 vis, 0 text, 10 fills, 161 radius, 74 size, 99 unmatched)
|
||||
|
||||
### Key insight: transitive sync overwrites instance-level properties
|
||||
Nodes with their own kiwi NC (explicit fills, cornerRadius) get correct values
|
||||
during initial kiwi-convert, then transitive sync copies component defaults
|
||||
over them. Need to protect nodes with own kiwi NCs from sync overwrite.
|
||||
This is the NEXT fix to attempt — should address radius (161) and fills (10).
|
||||
- **Current best**: 84 total_diffs (1 vis, 0 text, 9 fills, 0 radius, 74 size, 99 unmatched)
|
||||
- **Comparison fixes**: independentCorners radius reading, pill-shape tolerance
|
||||
- **kiwiPropertyNodes**: Nodes with explicit kiwi NC fills/cornerRadius are added to seeds AND protected from sync overwrite
|
||||
- **Self-referencing symbolOverride**: When an override resolves to the instance itself, skip if the instance has explicit kiwi NC properties
|
||||
- **Remaining fills (9)**: Variable-bound colors (Indicators), wrong variant selection (badge Placeholders), deep chain overrides
|
||||
- **Remaining sizes (74)**: 38 Vector constraint resizing (no DSD size data), 6 datepicker layout widths, Badge proportional scaling
|
||||
- **Unmatched (99)**: Tree path matching gaps in deep clone chains
|
||||
|
|
|
|||
Loading…
Reference in a new issue