[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-95975":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":12,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":8,"pushedAt":8,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":13,"starSnapshotCount":13,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},95975,"swiftui-logo-draw","RhuanCruz\u002Fswiftui-logo-draw","RhuanCruz",null,"Python",146,13,1,0,21,3.44,"MIT License",false,"main",true,[],"2026-09-21 02:04:29","# LogoDraw\n\nComponente SwiftUI que desenha o contorno de um logo como uma caneta e depois revela o\npreenchimento. E o processo, com scripts, pra transformar o PNG de um logo num `Shape`\nlimpo o bastante pra essa animação ficar bonita.\n\n*SwiftUI component that traces a logo's outline and then reveals its fill, plus a\nreproducible pipeline (Python + macOS render check) to turn a logo PNG into a clean\n`Shape`. Docs are in Brazilian Portuguese.*\n\n![frames do desenho](docs\u002Fimages\u002Fdraw-stages.png)\n\n## Uso\n\nSwift Package: adicione `https:\u002F\u002Fgithub.com\u002FRhuanCruz\u002Fswiftui-logo-draw` e importe `LogoDraw`.\nOu copie `Sources\u002FLogoDraw\u002FLogoDraw.swift` pro seu projeto (é um arquivo só).\n\n```swift\nimport LogoDraw\n\nLogoDraw(RunnerLogoShape())\n\nLogoDraw(\n    MeuLogoShape(),\n    drawDuration: 1.2,        \u002F\u002F duração do traço\n    fillStartPercent: 70,     \u002F\u002F o preenchimento começa aos 70% do traço\n    size: 150,\n    outlineColor: .primary,\n    fillColor: .primary,\n    freezeAt: nil             \u002F\u002F 0...1 congela num frame (bom pra screenshot)\n) {\n    \u002F\u002F preenchimento terminou: fecha a splash, mostra a wordmark, etc.\n}\n```\n\n| Parâmetro | Default | O que faz |\n|---|---|---|\n| `drawDuration` | 1.2 s | duração do traço (0.3...4) |\n| `drawEasing` | `.smooth` | `.snappy`, `.smooth`, `.easeInOut`, `.linear` |\n| `fillsLogo` | `true` | `false` deixa só o contorno |\n| `fillStartPercent` | 70 | quando o fill começa, em % do traço |\n| `fillDuration` | 0.35 s | fade do fill |\n| `size` | 160 | lado do quadrado |\n| `strokeWidth` | 1.5 | espessura do contorno |\n| `replayTrigger` | 0 | mude pra tocar de novo |\n| `freezeAt` | `nil` | progresso fixo em vez de animar |\n| `onComplete` | `nil` | chamado quando termina |\n\nReduce Motion: o logo aparece completo e `onComplete` dispara na hora.\n\nO `Shape` que você passa precisa ter os subpaths na ordem em que quer que sejam desenhados\ne um contorno sem auto-interseção. `RunnerLogoShape` é o exemplo que veio junto: um\ncorredor reconstruído a partir de um PNG com 96% de fidelidade.\n\n## Do PNG ao Shape\n\nO componente é a parte fácil. O difícil é ter o logo como `Path` limpo. O processo está\ndocumentado em dois lugares:\n\n- [`docs\u002FCOMO-FOI-FEITO.md`](docs\u002FCOMO-FOI-FEITO.md): a história do exemplo, com os números.\n- [`skill\u002Flogo-to-swiftui-draw\u002F`](skill\u002Flogo-to-swiftui-draw\u002F): uma skill pra Claude Code\n  (ou pra você) com o workflow passo a passo e os scripts:\n\n| Script | Faz |\n|---|---|\n| `measure.py` | componentes, bboxes e runs por linha\u002Fcoluna do PNG |\n| `geometry.py` | primitivas (fillet, arco, círculo) iguais às do `Path` |\n| `models\u002Frunner.py` | o modelo paramétrico do exemplo |\n| `tune.py` | IoU contra a imagem, overlay e ajuste automático dos parâmetros |\n| `render_shape.sh` | renderiza um `Shape` Swift em PNG no macOS, sem simulador |\n| `compare.py` | IoU do render Swift contra a imagem original |\n\nPra instalar a skill no Claude Code: copie (ou symlinke) `skill\u002Flogo-to-swiftui-draw`\npra `~\u002F.claude\u002Fskills\u002F`.\n\n## Requisitos\n\n- Swift 5.9+, iOS 17 \u002F macOS 14 (o componente usa `Task.sleep(for:)` e `.task(id:)`).\n- Scripts: Python 3 com `numpy`, `pillow`, `scipy`; Xcode pro `render_shape.sh`.\n\n## Licença\n\nMIT. O símbolo do corredor em `RunnerLogoShape` está aqui como exemplo do processo.\n","这是一个为 SwiftUI 设计的 Logo 动画组件，支持按路径顺序描边绘制 Logo 轮廓，随后渐进填充色块，实现专业级品牌加载动效。项目包含核心 Swift 组件（单文件）与配套 Python 工具链，可将 PNG 标志自动转换为高保真、无自交、有序子路径的 SwiftUI Shape，并通过 macOS 原生渲染比对（IoU）优化几何精度。适用于 iOS\u002FmacOS 应用启动页（Splash Screen）、品牌引导页等需轻量级矢量动画的场景，兼容 Reduce Motion 系统设置。",2,"2026-09-08 02:30:03","CREATED_QUERY"]