{"_id":"@arcade-alley/cosmetic-render","name":"@arcade-alley/cosmetic-render","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@arcade-alley/cosmetic-render","version":"0.1.0","description":"Shared cosmetic render primitives + surface compositions for Arcade Alley — consumed by the Cosmetic Hub, the platform shell, and the game SDK (DESIGN §10).","type":"module","license":"UNLICENSED","sideEffects":false,"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"}},"repository":{"type":"git","url":"git+https://github.com/BitHobert/Cosmetics-Arcade-Alley.git","directory":"packages/cosmetic-render"},"publishConfig":{"access":"public"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_id":"@arcade-alley/cosmetic-render@0.1.0","gitHead":"777d8433b7865d09125086c32c797b9a4596c915","bugs":{"url":"https://github.com/BitHobert/Cosmetics-Arcade-Alley/issues"},"homepage":"https://github.com/BitHobert/Cosmetics-Arcade-Alley#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-L4qt4unHILAPVCWuFG8da1npJyzrhjj+6FYxo7eeFyZ9+2qty9rF322IxNySLOBhnaPqYyiELXLEFNCDsC2dMw==","shasum":"ff9b59be328ed2f017099336268f147bb7562494","tarball":"https://registry.npmjs.org/@arcade-alley/cosmetic-render/-/cosmetic-render-0.1.0.tgz","fileCount":9,"unpackedSize":19381,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID8pHe+TWKlk60lM5JEMLbisoZkEHHeNY0evRASpTG4BAiEAsvldN9dZIsGtLnIcZxDe7GlCeEyPUL+cp6EKoNtppqk="}]},"_npmUser":{"name":"randomhobert","email":"randomhobert@outlook.com"},"directories":{},"maintainers":[{"name":"randomhobert","email":"randomhobert@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cosmetic-render_0.1.0_1783479529727_0.12148863415947564"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T02:58:49.537Z","0.1.0":"2026-07-08T02:58:49.872Z","modified":"2026-07-08T02:58:50.087Z"},"maintainers":[{"name":"randomhobert","email":"randomhobert@outlook.com"}],"description":"Shared cosmetic render primitives + surface compositions for Arcade Alley — consumed by the Cosmetic Hub, the platform shell, and the game SDK (DESIGN §10).","homepage":"https://github.com/BitHobert/Cosmetics-Arcade-Alley#readme","repository":{"type":"git","url":"git+https://github.com/BitHobert/Cosmetics-Arcade-Alley.git","directory":"packages/cosmetic-render"},"bugs":{"url":"https://github.com/BitHobert/Cosmetics-Arcade-Alley/issues"},"license":"UNLICENSED","readme":"# @arcade-alley/cosmetic-render\n\nShared cosmetic render primitives + surface compositions for **Arcade Alley** — the single source of truth for how cosmetics render across the **Cosmetic Hub**, the **platform shell**, and the **game SDK** (loading / pause / end chrome).\n\n> Internal Arcade Alley package. `0.x` — API is stable to build against but pre-1.0 (additive changes during 0.x; breaking changes get a major bump). **Pin `~0.1.x`.**\n\n## Install\n\n```bash\nnpm install @arcade-alley/cosmetic-render\n```\n\n**Peer deps:** `react >=19`, `react-dom >=19`.\n\n**Ships TypeScript source** (no build step). Consumers must transpile it:\n\n- **Next.js:** add to `next.config`:\n  ```ts\n  transpilePackages: ['@arcade-alley/cosmetic-render']\n  ```\n- **Other bundlers:** ensure the package is included in your TS/JSX transform.\n\n## API\n\n**Tokens/types:** `RARITY_TOKENS`, `RARITIES`, `Rarity`, `NameColorValue`, `CosmeticRenderData`, `EquippedLoadout`.\n\n**Primitives:** `RarityFrame`, `NameColor`, `Avatar`, `Banner`, `Frame`, `Badge`, `BadgeRow`, `Title`, `EmoteSet`, `Charm`.\n\n**Surface compositions:** `ProfileHeader`, `LeaderboardRow`, `LoadoutShowcase`, `PrizeWallCard`, `GameChip`.\n\n### Game SDK chrome\n\nRender a player's identity in a game's loading/pause/end card:\n\n```tsx\nimport { GameChip, type EquippedLoadout } from '@arcade-alley/cosmetic-render'\n\n<GameChip loadout={equippedLoadout} />\n```\n\nPass an `EquippedLoadout` (handle + equipped cosmetics per slot). Asset URLs are pre-resolved by the caller (the renderer never touches storage keys). Missing art falls back to placeholders — never blocks render.\n","readmeFilename":"README.md","_rev":"1-fe7af4aa0eeecef2cd96944cccfaebb0"}