npm.io
0.1.1 • Published yesterday

@wallsnap/scenes

Licence
MIT
Version
0.1.1
Deps
0
Size
34 kB
Vulns
0
Weekly
0

@wallsnap/scenes

The wallsnap scene library: 19 room scenes with real-world wall geometry, a typed manifest, and CDN-hosted imagery. The npm package ships metadata only — the webp files live on cdn.wallsnap.app (Cloudflare R2), addressed by content-hashed keys.

Install

npm install @wallsnap/scenes

Usage

import { SCENES, sceneUrl, sceneThumbUrl } from '@wallsnap/scenes';

const scene = SCENES[0];
sceneUrl(scene.file); // https://cdn.wallsnap.app/scenes/<stem>-<hash>.webp
sceneThumbUrl(scene.file); // 320px picker thumbnail
scene.overlayFile && sceneUrl(scene.overlayFile); // matched foreground plate, if any

Every SceneManifestEntry carries real geometry: the photographed wall's estimated size in cm (wallWidthCm/wallHeightCm), the clear-wall rectangle a piece may occupy (anchorX/anchorY + maxWidthCm/maxHeightCm, placed by eye per scene), and the file's pixel size (imageWidth/imageHeight) so no decode pass is needed for layout.

Self-hosting the imagery? Pass your own base URL: sceneUrl(scene.file, 'https://my-cdn.example').

Provenance

All imagery is synthetic, generated by our own pipeline — see PROVENANCE.md (shipped in this package) for the full record.

License

MIT. Part of wallsnap — see @wallsnap/core for the geometry that consumes these scenes.

Keywords