feat(figma): text mapper + vector geometry decoder
Stage F part 2 — ports figma-text-mapper.ts + figma-vector-decoder.ts.
- text_mapper.rs: map_figma_text_props → TextProps. Builds TextContent
(plain | per-run StyledTextSegment[] from characterStyleIDs +
styleOverrideTable, UTF-16-indexed), parses font weight from the
style name (ordered substring match), line-height → multiplier,
letter-spacing → px, align / vertical-align / growth enums, and
applies textCase (UPPER / LOWER / TITLE).
- vector_decoder.rs:
- decode_figma_path_blob — the opcode command stream (Z/M/L/Q/C,
f32-LE operands, graceful truncation).
- compute_svg_path_bounds — coordinate-pair bbox.
- decode_figma_vector_path — geometry-blob path (stroke centerline
preferred for stroke-only shapes).
- decode_vector_network_blob — vertex/segment table fallback, chain-
walked into M/L/C subpaths, scaled by nodeSize/normalizedSize.
op-figma 68 tests green (+16).
🤖 Generated with [Claude Code](https://claude.com/claude-code)