mrkeyoor.com_
Wed 30 Sept 06:10 UTC
Dev Toolsevaluationupdated 30 Sept 2026

swiftui-logo-draw review

LogoDraw is a SwiftUI component, backed by a Python fitting workflow, that traces a logo outline and then reveals its fill. The project and detailed documentation are primarily in Brazilian Portuguese; the README includes a short English summary, but the full process guide and Claude Code skill are Portuguese.

Verdict

Our lab did not run commit 71a3e9e because this mixed Swift and Python checkout has no supported harness path or Dockerfile, so we have no independent build result. LogoDraw is a good small component when you need one brand mark to draw itself and are willing to engineer the path. Choose Lottie when the animation belongs to a designer-managed timeline rather than a single SwiftUI Shape.

We ran it

Screenshot of swiftui-logo-draw (github.com/RhuanCruz/swiftui-logo-draw)

Answers from our run

Did you run swiftui-logo-draw yourself?

No. Its code is Python, and it carries no manifest our lab installs from, and no Dockerfile, so there was nothing standard to install, build or test. This review is written from the repository's own documentation.

Who should not use swiftui-logo-draw?

Apps supporting iOS versions below 17 or macOS versions below 14: the component uses APIs from those platform floors.

What are the alternatives to swiftui-logo-draw?

Lottie for iOS, SVGKit, SwiftLogoPlay. LogoDraw is a good small component when you need one brand mark to draw itself and are willing to engineer the path.

Setup3/5Component copy is easy; building a clean custom shape is manual
Docs4/5Detailed measured workflow, but most of it is Portuguese only
Community2/5156 stars, one issue, and no commits after launch day
Maturity2/5No tagged release and no independent lab build

Who it’s for

SwiftUI developers building a branded splash, loading, or hero animation from a clean Shape.
Teams with geometric logos that can be reconstructed from lines, arcs, circles, and measured coordinates.
Designers and engineers who want an image-to-path process with overlays and a numerical fidelity check.
Claude Code users comfortable adapting a Portuguese-language skill and reviewing the resulting geometry by eye.

Who it’s NOT for

Apps supporting iOS versions below 17 or macOS versions below 14: the component uses APIs from those platform floors.
Teams that need a one-click PNG vectorizer: geometric logos require measurement, a parametric Python model, tuning, and a manual Swift port.
Organic or calligraphic marks that must stay node-for-node faithful: the guide sends those through potrace, vector cleanup, and SVG path conversion.
English-only teams expecting complete English docs: the detailed method and skill instructions are in Brazilian Portuguese, and the only open issue asks for an English README translation.
Release processes that require our independent build result: the lab had no supported ecosystem path and did not run the project.
Products needing a general animation format with designer tooling, timelines, and multiple animated layers.

Setup reality

We did not run commit 71a3e9e. Our harness classified the repository as Python, has no supported path for this mixed Swift and Python project, and found no Dockerfile, so it did not install, build, or test it.

Using the component requires Swift 5.9 or newer and targets iOS 17 or macOS 14. Creating a new geometric logo shape adds Python 3, NumPy, Pillow, SciPy, and Xcode; organic logos may also need potrace plus manual vector cleanup.

The package can be added through Swift Package Manager or copied as one component file. The expensive part is producing a clean, ordered, non-self-intersecting Shape, then rendering it on macOS and comparing it with the source image.

The animation is easy once the logo is a clean Shape

LogoDraw does one visual job. It trims a SwiftUI Shape from zero to full length so the outline appears to be drawn, then fades in a filled copy after a chosen percentage of the trace. The generic component accepts any shape, colors, size, stroke width, easing, replay trigger, fixed progress, and completion callback. Reduce Motion skips the animation, shows the complete logo, and calls the completion handler immediately.

That API fits a splash screen where the brand mark appears before a wordmark or main view. freezeAt is a particularly practical addition because it holds progress between 0 and 1 for screenshots and visual review. The default example uses a runner symbol. The README reports that the symbol was reconstructed from a PNG, with subpaths ordered so the torso, leg, and head appear in the intended drawing sequence.

What happened when we ran it

We did not run commit 71a3e9e. The lab identified Python as the primary repository language, found no Dockerfile, and had no supported ecosystem path for a project that combines a Swift package, macOS rendering, and Python analysis scripts. We therefore have no independent result for package installation, Swift compilation, tests, rendering, timing, or image fidelity.

The platform requirements are specific. The component needs Swift 5.9 or newer and targets iOS 17 or macOS 14 because it uses Task.sleep(for:) and .task(id:). Its image-to-shape workflow needs Python 3 with NumPy, Pillow, and SciPy. The final render check uses Xcode and macOS ImageRenderer without a simulator. Organic-logo conversion may add potrace and a vector editor.

Geometric logos are measured before they are ported

The included workflow treats a logo as geometry rather than asking someone to trace by eye. measure.py isolates the glyph, reports connected components and bounding boxes, and samples horizontal or vertical runs. Those measurements reveal stroke width, line angles, round-end centers, and corner radii. A Python model then builds each subpath from lines, tangent fillets, and arcs before rasterizing it against the source mask.

For the runner example, the Portuguese process note reports an initial intersection-over-union score of 0.962 and a tuned score of 0.968. The author stopped rather than fitting antialiasing and irregularities from an AI-generated source image. That is a sound design choice: a cleaner geometric mark may be more useful than a mathematically closer copy of imperfect pixels. The final Swift render reportedly scored 0.962 against the source.

Organic marks need a different and less controlled route

Calligraphy, uneven strokes, and free-form silhouettes do not fit a small set of geometric primitives. The skill routes those images through potrace, exports SVG, asks for node cleanup in Figma or Illustrator, and converts the SVG path commands into SwiftUI Path operations. The animation component stays the same, but the quality of the drawing motion depends on node count, subpath order, and path direction.

This is where the project stops being a turnkey package. Automatic tracing can preserve the outline while producing a path that draws in a confusing order or loops over itself. The guide requires explicit outline inspection and a half-trim image before integration. That check is more useful than staring only at the final filled logo, where a bad trace can remain hidden.

The verification files make the method reusable

The repository includes measure.py, geometry primitives, a runner model, parameter tuning, a macOS render script, and an image comparison tool. The suggested deliverables keep both the Swift shape and the Python model, along with tuned parameters and an overlay. If the logo changes, the team can repeat the fit instead of editing unlabelled coordinates inside production Swift.

The process guide reports a 0.98 comparison between the Python model and Swift render, with remaining differences at the edges. It also explains a SwiftUI trap: the clockwise argument can behave opposite to intuition with a downward y-axis, so the implementation uses relative arcs with signed deltas. This kind of detail is why the project is more useful than the small component alone.

Good documentation is limited by language and project age

GitHub showed 156 stars, 1 open issue, and no latest release. The repository was created and last pushed on September 5, 2026. Its sole open issue asks for an English README translation. The README already has a short English explanation, but the detailed construction story and Claude Code skill remain in Brazilian Portuguese. That is a real adoption barrier for an English-only team.

Use LogoDraw when one geometric mark needs a native SwiftUI drawing effect and your team can own its path geometry. Keep the measurement model and overlay beside the Swift file, test Reduce Motion, and capture fixed-progress frames before release. For layered motion, text, masks, or designer-led iteration, Lottie offers a better handoff. For a logo that already exists as maintainable SVG, rendering the SVG may be cheaper than rebuilding its geometry.

Alternatives

ProjectWhat it isPick it when
Lottie for iOSA native iOS renderer for vector animations exported from After Effects.pick this instead when a motion designer owns a richer timeline with several animated layers.
SVGKitAn iOS and macOS library for rendering and interacting with SVG artwork.pick this instead when the source of truth is already an SVG and drawing the outline is not the main effect.
SwiftLogoPlayA small exploration of animating an SVG-derived Swift logo with SwiftUI paths.pick this instead when you want a compact study project for path animation rather than a reusable conversion workflow.

What people are saying

  1. [velocity-scout] RhuanCruz/swiftui-logo-draw

Sources

  1. LogoDraw README
  2. How LogoDraw was made
  3. Logo to SwiftUI Draw skill
  4. LogoDraw repository

More dev tools reviews

RTX40MFG-Unlock · astra-chatgpt-hyperframes · booking-microservices · macos-sysdata · NoGraphicsAPI · codenotch · the whole board →