From 8ed908bf1df1094c559b7bf707fe30022c7779b8 Mon Sep 17 00:00:00 2001 From: "planetrenox@protonmail.com" Date: Wed, 21 Oct 2026 20:28:05 +0000 Subject: [PATCH] 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 --- README.md | 15 ++++----------- .../renox-as-planet/versions/blue/README.md | 17 +++++++++++++++++ .../renox-as-planet/versions/blue/bun.lock | 0 .../{ => versions/blue}/index.js | 2 +- .../{ => versions/blue}/logo-transparent.png | Bin .../{ => versions/blue}/logo-transparent.svg | 0 .../{ => versions/blue}/logo.png | Bin .../{ => versions/blue}/logo.svg | 0 .../renox-as-planet/versions/blue/package.json | 10 +++++----- 9 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 designs/renox-as-planet/versions/blue/README.md rename bun.lock => designs/renox-as-planet/versions/blue/bun.lock (100%) rename designs/renox-as-planet/{ => versions/blue}/index.js (99%) rename designs/renox-as-planet/{ => versions/blue}/logo-transparent.png (100%) rename designs/renox-as-planet/{ => versions/blue}/logo-transparent.svg (100%) rename designs/renox-as-planet/{ => versions/blue}/logo.png (100%) rename designs/renox-as-planet/{ => versions/blue}/logo.svg (100%) rename package.json => designs/renox-as-planet/versions/blue/package.json (58%) diff --git a/README.md b/README.md index 229e9c5..f9f5f74 100644 --- a/README.md +++ b/README.md @@ -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//versions//`, 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) | Renox as a planet, blue | diff --git a/designs/renox-as-planet/versions/blue/README.md b/designs/renox-as-planet/versions/blue/README.md new file mode 100644 index 0000000..19b2e0c --- /dev/null +++ b/designs/renox-as-planet/versions/blue/README.md @@ -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`). diff --git a/bun.lock b/designs/renox-as-planet/versions/blue/bun.lock similarity index 100% rename from bun.lock rename to designs/renox-as-planet/versions/blue/bun.lock diff --git a/designs/renox-as-planet/index.js b/designs/renox-as-planet/versions/blue/index.js similarity index 99% rename from designs/renox-as-planet/index.js rename to designs/renox-as-planet/versions/blue/index.js index a67c70d..45386fa 100644 --- a/designs/renox-as-planet/index.js +++ b/designs/renox-as-planet/versions/blue/index.js @@ -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 diff --git a/designs/renox-as-planet/logo-transparent.png b/designs/renox-as-planet/versions/blue/logo-transparent.png similarity index 100% rename from designs/renox-as-planet/logo-transparent.png rename to designs/renox-as-planet/versions/blue/logo-transparent.png diff --git a/designs/renox-as-planet/logo-transparent.svg b/designs/renox-as-planet/versions/blue/logo-transparent.svg similarity index 100% rename from designs/renox-as-planet/logo-transparent.svg rename to designs/renox-as-planet/versions/blue/logo-transparent.svg diff --git a/designs/renox-as-planet/logo.png b/designs/renox-as-planet/versions/blue/logo.png similarity index 100% rename from designs/renox-as-planet/logo.png rename to designs/renox-as-planet/versions/blue/logo.png diff --git a/designs/renox-as-planet/logo.svg b/designs/renox-as-planet/versions/blue/logo.svg similarity index 100% rename from designs/renox-as-planet/logo.svg rename to designs/renox-as-planet/versions/blue/logo.svg diff --git a/package.json b/designs/renox-as-planet/versions/blue/package.json similarity index 58% rename from package.json rename to designs/renox-as-planet/versions/blue/package.json index 4af66f3..00067d5 100644 --- a/package.json +++ b/designs/renox-as-planet/versions/blue/package.json @@ -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" } }