Skip to content

Ollin 0.4.0

Latest

Choose a tag to compare

@eaviles eaviles released this 11 Sep 12:31
· 19 commits to main since this release
0.4.0
983f692

Added

  • The API reference is generated from the source as well as written by hand. Every public symbol of the twenty-two library modules now has a page built by DocC, and the core's four hundred and seventy top-level names are grouped on one landing page rather than sorted by kind. A .spi.yml file tells the Swift Package Index which modules to build that documentation for, and Scripts/api-docs.sh builds the same thing locally. It fails on a documentation warning, which is how forty stale doc comments came to light: links pointing at symbols that had been renamed away, and parameters documented under names their signatures no longer carry. It also refuses to pass if a library module of the package is missing from that file, so a new satellite cannot ship with no reference at all.
  • The site can be read by a machine, not just rendered for a person. Every page now has a markdown twin at the same address with .md in place of .html, holding what was actually written rather than navigation and styling wrapped around it, and /llms.txt is a curated index of the whole site pointing at those twins. Each page also says where its own twin is. This follows the llms.txt convention, which is what an agent with a browsing tool looks for; nothing fetches it automatically.

Changed

  • The front page's sketches are a band you page through, and a phone gets them too. Hello, circle now leads a row of sketches you move between with the dots under it, each running beside the whole program that draws it, starting with the circle the README opens on. The separate band of three below it is gone. Moving between them is the browser's own scrolling, so a swipe, a trackpad, and the arrow keys work with no script running, and only the sketch on screen plays: the rest are not fetched until you page to them, which is a megabyte and a half nobody pays for on arrival. One sketch at a time is what puts the band back on a phone, where three of them stacked was a wall of code and the whole thing had to be hidden. The command under Run it names whichever sketch you are looking at, so what you copy runs what you see.

Fixed

  • The Syphon satellite works from a package dependency again. Any project that pulled Ollin in by version, which is what ollin new --remote writes, could not use OllinSyphon at all: the build stopped at resolution with the target 'CSyphon' in product 'OllinSyphon' contains unsafe build flags. The vendored engine needed a prefix header forced into every file, which SwiftPM can only pass as an unsafe flag. Each file now imports that prefix itself, so the flag is gone and nothing about the running code changed.
  • The site's favicon no longer sits in a white box in Safari's tabs. Safari draws a light plate behind an icon whose own tone reads too close to the bar it sits on, which is what an icon carrying a near-black tile gets on a dark tab bar. The mark is drawn on nothing now, in near-black for a light bar and paper for a dark one, and the page picks between the two files: Safari ignores a color-scheme media query written inside an SVG favicon, so the drawing cannot change its own ink.