Move renox-as-planet into self-contained versions/blue

Each design version now carries its own package.json, lockfile, script, README and rendered files, so versions can be built and changed independently.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-21 20:28:05 +00:00
co-authored by Claude Opus 5.5
parent 0a1e6c384e
commit 8ed908bf1d
9 changed files with 27 additions and 17 deletions
+4 -11
View File
@@ -1,21 +1,14 @@
# Planet Renox logos
Logo designs for Planet Renox, written as code. Each design sits in its own folder under `designs/` and writes its SVG and PNG files next to its script.
Logo designs for Planet Renox, written as code. Every version is self-contained in `designs/<design>/versions/<version>/`, with its own `package.json`, script and rendered files. To build one, open its folder and run:
```sh
bun install
bun run build
```
## designs/renox-as-planet
## renox-as-planet
![Renox as a planet](designs/renox-as-planet/logo.png)
The word **Renox** is the planet. The script uses [opentype.js](https://github.com/opentypejs/opentype.js) to turn the word, set in Unbounded Black, into vector outlines, and splits every curve into many short segments. It then wraps each point around a 3D sphere with an orthographic projection. That way the letters curve over the globe and get squeezed toward its edges like real continents. Stacked shells raise the letters off the surface, and gradients light the whole planet from one light source. Clouds, an ice cap, an atmosphere glow, a few islands, a ring and a moon finish it off. [resvg](https://github.com/thx/resvg-js) renders the PNGs.
| file | what |
| version | |
| --- | --- |
| `logo.svg` / `logo.png` | on a deep-space background |
| `logo-transparent.svg` / `logo-transparent.png` | planet only, transparent background |
The settings at the top of `index.js` control the camera tilt (`T`), how far the word wraps around the planet (`SPAN`), how high the letters rise (`RISE`), the letter spacing (`TRACK`), the light direction (`L`) and the ring bands (`RINGS`).
| [blue](designs/renox-as-planet/versions/blue) | <img src="designs/renox-as-planet/versions/blue/logo.png" width="320" alt="Renox as a planet, blue"> |
@@ -0,0 +1,17 @@
# Renox as a planet: blue
![Renox as a planet](logo.png)
The word **Renox** is the planet. The script uses [opentype.js](https://github.com/opentypejs/opentype.js) to turn the word, set in Unbounded Black, into vector outlines, and splits every curve into many short segments. It then wraps each point around a 3D sphere with an orthographic projection. That way the letters curve over the globe and get squeezed toward its edges like real continents. Stacked shells raise the letters off the surface, and gradients light the whole planet from one light source. Clouds, an ice cap, an atmosphere glow, a few islands, a ring and a moon finish it off. [resvg](https://github.com/thx/resvg-js) renders the PNGs.
```sh
bun install
bun run build
```
| file | what |
| --- | --- |
| `logo.svg` / `logo.png` | on a deep-space background |
| `logo-transparent.svg` / `logo-transparent.png` | planet only, transparent background |
The settings at the top of `index.js` control the camera tilt (`T`), how far the word wraps around the planet (`SPAN`), how high the letters rise (`RISE`), the letter spacing (`TRACK`), the light direction (`L`) and the ring bands (`RINGS`).
@@ -5,7 +5,7 @@ import { Resvg } from '@resvg/resvg-js'
import { readFileSync, writeFileSync } from 'fs'
const at = p => new URL(p, import.meta.url)
const fb = readFileSync(at('../../node_modules/@fontsource/unbounded/files/unbounded-latin-900-normal.woff'))
const fb = readFileSync(at('node_modules/@fontsource/unbounded/files/unbounded-latin-900-normal.woff'))
const font = opentype.parse(fb.buffer.slice(fb.byteOffset, fb.byteOffset + fb.byteLength))
const { sin, cos, hypot, ceil, min, max, PI } = Math

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 374 KiB

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Before

Width:  |  Height:  |  Size: 387 KiB

After

Width:  |  Height:  |  Size: 387 KiB

@@ -1,14 +1,14 @@
{
"name": "logo",
"name": "renox-as-planet-blue",
"private": true,
"type": "module",
"description": "Planet Renox logo designs, written as code",
"description": "Renox as a planet, blue ocean version",
"scripts": {
"build": "bun index.js"
},
"dependencies": {
"@fontsource/unbounded": "^5.3.0",
"@resvg/resvg-js": "^2.6.2",
"opentype.js": "^2.0.0"
},
"scripts": {
"build": "bun designs/renox-as-planet/index.js"
}
}