# Credits

The code in this repository is released under the MIT license (see `LICENSE`). The third-party
assets below keep their own licences.

## Audio: `public/audio/`

42 field recordings from [Freesound](https://freesound.org), all released under
[CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/). No attribution is required, but every file is
credited with its author and source link in [`public/audio/CREDITS.md`](public/audio/CREDITS.md).

Recordists: YevgVerh, straget, Alex_hears_things, chris_dagorne, bruno.auzet, felix.blume, hdfreema,
richardemoore, KaleidacousticsAudio, AugustSandberg, kyles, Pfannkuchn, 200221-WeanBekker, florianreichelt,
Nox_Sound, ryansitz, SilentStrikeZ, SecureSubset, tbsounddesigns, qubodup, blaukreuz, wormer2, roboroo,
squashy555, Soojay, coalcon, dubminister, nathankwright, SorenF109, LaScienceMusicale, KEVOY, mikewest,
tosha73, paulprit, Mrthenoronha, mwchristian95, MrFossy, BranndyBottle, JoelMcDaniel, khenshom, ramattahatta,
RatBird and Anthousai.

## Scanned beach debris: `public/models/debris/`

Photogrammetry models from [Poly Haven](https://polyhaven.com), under
[CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/):

- Dead Quiver Trunk
- Dead Quiver Branch 01
- Dead Quiver Branch 02
- Lambis Shell

The meshes were decimated into levels of detail, and the textures are unchanged. Details are in
[`public/models/debris/CREDITS.md`](public/models/debris/CREDITS.md).

## Vendor stalls: `public/models/props/`

Joe's fish stand and Marta's chandlery are built from [Poly Haven](https://polyhaven.com) textures and
models under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/):

- Textures: Weathered Brown Planks, Weathered Planks, Worn Corrugated Iron, Weathered Peeling Timber
- Models: Wooden Crate 01 and 02, Wooden Bucket 01, Fish Knife, Wooden Cutting Board, Lifebuoy, Wooden
  Lantern 01, Fisherman's Hat, Wooden Table 03, Metal Jerrycan (green), Plastic Jerrycan, Life Jacket, Metal
  Toolbox, Wooden Display Shelves 01

The models were decimated and the textures downsized by `tools/props/`. The signs, the chalkboard and the
scale dial were lettered with [Permanent Marker](https://fonts.google.com/specimen/Permanent+Marker) (Apache
2.0), [Cabin Sketch](https://fonts.google.com/specimen/Cabin+Sketch) (SIL OFL 1.1) and
[Oswald](https://fonts.google.com/specimen/Oswald) (SIL OFL 1.1); the font files and their licences are in
`tools/props/fonts/`. Details are in [`public/models/props/CREDITS.md`](public/models/props/CREDITS.md).

## Humpback whale: `public/models/whale/`

This is an original procedural model, generated by our own scripts. Its proportions follow
published humpback anatomy, and its side profile was traced from a NOAA Fisheries illustration, a
US government work in the public domain. The reference photographs used while modelling are not included.

## Characters: `public/models/characters/`

The vendors (`joe.glb`, `marta.glb`) are avatars `Wood_Male_01` and `Female_Adult_04` and their
idle, talk, wave and shrug animations from the [Microsoft Rocketbox Avatar Library](https://github.com/microsoft/Microsoft-Rocketbox)
(© Microsoft Corporation, MIT license, included as `LICENSE-Rocketbox.md`), converted with
`tools/characters/` (textures resized, animations retargeted and baked). Paper: M. Gonzalez-Franco
et al., "The Rocketbox Library and the Utility of Freely Available Rigged Avatars", Frontiers in
Virtual Reality, 2020.

## Fonts

[Inter](https://rsms.me/inter/) and [JetBrains Mono](https://www.jetbrains.com/lp/mono/) are both under the
SIL Open Font License 1.1. They are loaded from Google Fonts at runtime and are not part of this repository.

## Libraries

The SMAA area and search lookup textures (`public/textures/smaa/`) are from three.js (MIT), which ships
them from J. Jimenez et al.'s SMAA reference implementation (MIT).

[Vite](https://vite.dev) (MIT) is an npm dependency and is not vendored here.

## Techniques and references

These are published techniques. No code from the papers is included.

| Technique | Source |
|---|---|
| FFT ocean spectra | J. Tessendorf, *Simulating Ocean Water* |
| Atmosphere | S. Hillaire, *A Scalable and Production Ready Sky and Atmosphere Rendering Technique* (2020) |
| Volumetric cloud modelling | A. Schneider (Guerrilla Games), the *Nubis* talks |
| Motion blur | M. McGuire et al., *A Reconstruction Filter for Plausible Motion Blur* (2012); J. Jimenez, *Next Generation Post Processing in Call of Duty: Advanced Warfare* (2014) |
| Bloom | J. Jimenez (2014) |
| Sharpening (RCAS) | AMD FidelityFX Super Resolution 1 |
| SMAA / FXAA | J. Jimenez et al., *SMAA: Enhanced Subpixel Morphological Antialiasing* (2012); T. Lottes, *FXAA* (2009); ported from three.js' SMAANode / FXAANode (MIT) |
| Rasterized caustics | Evan Wallace's *WebGL Water* approach |
| Breaking waves | Guerrilla Games, *Horizon Forbidden West* water (SIGGRAPH 2022) |

The cloud noise, lighting and sampling scheme (`src/sky/Clouds.js`) is adapted from DRG Software Solutions'
own *Sky Pro WebGPU*. It is published here under this repository's MIT license by its copyright holder.
