Methodology · Claims and limits

How Depth Paper works, and where its claims stop

This page explains what Depth Paper claims and where each claim stops: device sizes come from data checked against two independent sources, every wallpaper can be made again from its recipe, and what you make or load stays in your browser. The check below runs the reproducibility claim live, so you can test that one yourself.

Seed Palette Pixels compared Differing Verdict

Enter a seed and press Render twice. This page loads the same mesh.js engine file that the maker and the gallery run, and evaluates your seed twice from scratch into two separate pixel buffers. Every byte of one buffer is compared with the other before either is painted. The readout gives the result, and the two canvases show the buffers that were compared.

Render A
Render B

How this demonstration works

Each run builds the gradient field twice, with separate seeded point placement, separate color assignment and separate grain, and renders each copy into its own buffer at 168×364 pixels: 61,152 pixels, or 244,608 bytes per render. The comparison walks every byte of both buffers and counts the ones that disagree. The readout reports that count and the verdict. The probe line prints one pixel's red, green, and blue values from each render, so you can compare two actual numbers yourself.

The two renders match because the engine uses nothing except the recipe. The seed drives a small deterministic random generator that places the control points; the blend is inverse-distance interpolation; the grain is an integer hash of each pixel's coordinates and the seed. All of it is integer and IEEE-754 double arithmetic in a fixed order, with no clock, no extra randomness and no hidden state, so the same inputs produce the same numbers every time. The canvases are small because the composition scales with the canvas: a full-resolution export of the same seed is the same picture at a higher sampling density.

The check shows that your browser, at this size, evaluates the recipe identically twice. The broader claim, that any browser computes the same field values, rests on how the engine is written: fixed-order arithmetic with no platform-dependent step. One page running inside one browser cannot measure that.

What this site claims

Exports are exactly sized. Every download is rendered at the native panel pixels of the device you pick, taken from the device table described below.

Every wallpaper is reproducible from its recipe. A recipe is a seed, a palette, a point count, and a size, and nothing else affects a single pixel. The demonstration above tests this claim in your browser.

Nothing you make or load here leaves your browser. Gradients and photo measurements are computed on your device, and nothing is uploaded.

Everything rendered here is original. The palettes are authored for this site, the compositions come from seeded arithmetic, and the gallery is a list of recipes rendered live. No model generates anything, and nothing is traced, sampled, or recreated from anyone's artwork.

Where the device sizes come from

The device table is a plain, versioned data file compiled by hand. Every entry (native pixels, logical points, aspect ratio, release date) was cross-checked against two independent published sources before it appeared, and those sources are recorded next to each device family inside the file itself.

The table changes only through reviewed commits, and nothing on this site fetches sizes from anyone's endpoint at runtime. New models join the table once their resolutions can be verified the same way. Each entry carries its device's release date, so you can see the table's coverage on the size charts.

An authoring tool writes both size-chart pages from this table, and the site's build fails whenever a published chart differs from what the table says. The maker, the pair tool, the gallery, and the depth-effect checker read the same module, so every screen dimension on this site has exactly one source.

What a seed reproduces

The seed is a single integer. It starts the engine's random generator, which decides where the control points sit, which palette color each one carries, how far each one reaches, and how many points there are when the point count is set to Auto. The seed also sets the fine grain that keeps smooth gradients from banding on OLED screens.

That is why gallery entries and shared links are recipes. The maker and the pair tool keep the seed in their URLs, and so does the check on this page. Each gallery entry is a seed, a palette and a point count, and "Open in maker" passes the recipe along as URL parameters. Nothing has to be stored for a wallpaper to be made again.

What never leaves this browser

The maker, the matching pairs tool, and the gallery compute everything inside the page. The input is a recipe, the output is a PNG your browser encodes itself, and the download goes from your browser's memory to your own storage without touching a network. There is no server-side renderer.

The two photo tools, the depth-effect checker and the icon-tint matcher, take a photo through the file picker, draw it to a canvas on your device, and measure it there: resolution against the selected device, contrast behind a labeled band, and dominant colors by median cut. The photo is never transmitted. The results are numbers on your screen, and they are gone when you close the tab. By a standing decision, neither photo page carries an ad slot at all, so no third-party script shares a page with your photo.

The site's security policy tells your browser to refuse requests to any origin but this one, so your own browser would block an attempted upload. The same headers switch off camera and microphone access site-wide, because photo input uses the file picker and nothing here needs a live camera. There are no accounts to create and no analytics running.

You can check this yourself. Open your browser's developer tools and watch the network tab while you generate a wallpaper or measure a photo: the page's own files arrive, and then no further requests appear. Or load a tool, switch to airplane mode, and keep working. Everything still runs, because the page has nothing left to ask a server for.

What this site does not do

No AI generation. Every pixel is arithmetic from the recipe. There is no model, no prompt, and no training data, so an output cannot echo something a model once ingested. The trade-off is that an engine this simple has a recognizable style, and variety comes from seeds and palettes.

No Apple assets, or anyone else's. This site ships no wallpaper made by any phone maker, recreates none, and draws no lock screens, clocks, bezels, notches, or interface mockups. The checker draws plain labeled wireframe bands in this site's own styling to show where the clock sits. Depth Paper is independent and has no connection to Apple, Google, or Samsung.

No uploads, accounts, or analytics. An absence like this is easy to break by accident, so the site's automated tests check it on every build: the security policy's exact shape, the missing analytics beacon, and the ad-slot rules on the photo pages.

No stored images, no font files. Apart from the favicon, the site has no raster images and no font files: thumbnails are live renders, previews are canvases, and the text uses your system's fonts. That keeps pages small, and it means the site holds no copy of anyone else's images.

Where the claims stop

PNG files can differ between browsers. Export the same recipe in two different browsers and you get the same wallpaper, possibly with different bytes, because PNG encoders compress identical pixels in different ways. If you need that exact file, for example because a checksum has to match, keep the downloaded PNG.

A new phone can be missing from the table. The table holds published specifications as of its last commit, so a model announced this morning is not in it yet. An entry needs two independent published sources that agree, and when sources disagree, the entry waits. Until then, use the maker's custom size option: it accepts 240 to 4096 pixels per side, and it clamps out-of-range values and tells you when it did.

Your phone can still crop or zoom. Perspective zoom, parallax, launcher cropping and panning, and battery-saver downscaling are settings and policies on the phone, and no file can override them. An exactly sized file only removes the system's reason to rescale. The two size charts explain what each platform does and which settings matter.

The phone decides the depth effect. Whether the subject is layered over the clock is decided by the operating system's subject segmentation, which runs on the phone and is not available to any website. The checker measures the three things a file can be measured for: resolution, subject placement against the bands, and contrast behind the clock. A photo can pass all three and still be declined by the phone.

Screens show the same colors differently. The engine controls the RGB values in the PNG. Between that file and your eye sit the panel, its calibration, its brightness, and every feature that warms or dims the screen on a schedule, so the identical file can look visibly different on two phones side by side.

Browser extensions are outside any site's control. An extension can read any page it has permission for, this one included, and no header this site sends reaches into it. The security policy governs only what this site's pages may request.

The site's tests are its own. The test suite re-checks determinism, the device data, and chart sync on every build, but it is the site's code checking the site's code. For a check that does not depend on the site, use the network tab, the airplane-mode test, or a second browser on your own desk.

Frequently asked questions

Will the same seed give me the same wallpaper next year?
Yes. The same seed with the same palette, point count, and size gives you the same wallpaper on any visit, because every pixel is computed by fixed arithmetic with no hidden state.
Where do the device sizes come from?
From a hand-compiled device table. Each entry was added only after two independent published sources agreed on it, and the data file names those sources beside each device family. The table is versioned. Its values change only in reviewed commits, and nothing fetches them from anyone's endpoint. Both size charts are generated from the same table, and an automated check fails the site's build if a chart and the data ever disagree.
Is anything I make or load here sent to a server?
No. Gradients are computed inside the page, and the two photo tools read your photo through the file picker and measure it on your device. There are no uploads, no accounts, and no analytics anywhere on this site. The site's security policy makes your browser block requests to any other origin, and you can watch that hold in the network tab.
Does this site use AI to generate wallpapers?
No. Every wallpaper is arithmetic: seeded control points blended by inverse-distance interpolation, plus a seeded grain that prevents banding. There is no model, no prompt, no training data, and no image library, and the gallery's entries are seeds rendered live. That is why results are exactly reproducible, and why no wallpaper can copy anyone's photograph or artwork: the engine has never seen one.
Is Depth Paper affiliated with Apple, Google, or Samsung?
No. Depth Paper is an independent site. Device names here are factual references to the phones people own, used only to label sizes and settings. The site ships none of these companies' artwork, recreates none of their wallpapers, and draws no mockups of their hardware or software. Every image you can make here is an original render from the site's own engine and palettes.

Related