README front door: value, problem, entry points, live versus planned
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
27d0ad669a
commit
f0872b4f06
1 changed files with 13 additions and 15 deletions
28
README.md
28
README.md
|
|
@ -1,32 +1,30 @@
|
|||
# Perlines
|
||||
|
||||
Perlines is the 2012 Aethervis trail idea rebuilt as a Fensalir client.
|
||||
Perlines is the 2012 Aethervis trail idea rebuilt as a Fensalir client: audio becomes a rolling field resource that Fensalir's renderer draws as a storm of curl-noise trails, with no private line renderer in the client.
|
||||
|
||||
The Unity version owned trails through `LineRenderer` and `TrailRenderer`
|
||||
objects. This version owns only the signal: a procedural audio frame is sent
|
||||
through an FFT, adaptively whitened per band, written into a rolling Float32
|
||||
field resource, and lowered through Fensalir's TubeField path. The renderer owns
|
||||
visibility, reservoir reuse, bloom, and final reconstruction.
|
||||
**Valuable here:** the signal path. `src/Perlines/PerlinesSignalProcessor.cs` turns audio into FFT energy, adaptively whitens it per band, detects the key, and projects bins onto musical scale-note lanes. `src/Perlines/PerlinesRuntime.cs` writes one Float32 column per frame into a rolling field resource and hands it to Fensalir (`Perlin4D.cs` and `SmoothNoise.cs` supply the noise). It is a worked example of a Fensalir client that owns a signal and leaves visibility, reservoir reuse, bloom and reconstruction to the renderer.
|
||||
|
||||
**Problem it solves:** the Unity version owned trails through `LineRenderer` and `TrailRenderer` objects, so the renderer could not reason about them. Here the renderer owns the trails and Perlines owns only the signal.
|
||||
|
||||
**Entry points:** client project `src/Perlines/Perlines.csproj` (solution `Perlines.sln`); design and authority map in `docs/system-map.md`; launched through Fensalir's `scripts/dev-reload.ps1`. Requires a sibling checkout of `GameCult/Fensalir` (Windows, D3D12).
|
||||
|
||||
**Status:** live as a demo. Input is a Fensalir-owned Windows system-loopback stem when one is available, otherwise a procedural fallback signal. Last commit 2026-05-31.
|
||||
|
||||
## Run
|
||||
|
||||
From `E:\Projects\Fensalir`:
|
||||
From the root of the Fensalir checkout (Perlines checked out beside it):
|
||||
|
||||
```powershell
|
||||
.\scripts\dev-reload.ps1 -ClientProject E:\Projects\Perlines\src\Perlines\Perlines.csproj
|
||||
.\scripts\dev-reload.ps1 -ClientProject ..\Perlines\src\Perlines\Perlines.csproj
|
||||
```
|
||||
|
||||
Headless smoke test from Fensalir:
|
||||
Headless smoke test, also from Fensalir:
|
||||
|
||||
```powershell
|
||||
.\scripts\dev-reload.ps1 -Headless -ClientProject E:\Projects\Perlines\src\Perlines\Perlines.csproj
|
||||
.\scripts\dev-reload.ps1 -Headless -ClientProject ..\Perlines\src\Perlines\Perlines.csproj
|
||||
```
|
||||
|
||||
Headless PNG capture from this repo:
|
||||
|
||||
```powershell
|
||||
E:\Projects\Perlines\scripts\capture-headless.ps1
|
||||
```
|
||||
`scripts/run-dev.ps1` and `scripts/capture-headless.ps1` in this repo wrap the same launch and a headless PNG capture, but both hardcode the Fensalir location as `E:\Projects\Fensalir`, which does not exist on current workstations. Edit that path before running them.
|
||||
|
||||
## Live Model
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue