{"_id":"@crazygl/hero-ascii-video-displace","_rev":"2-fd0a1abf9550df86e80cdffa39bb1eeb","name":"@crazygl/hero-ascii-video-displace","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@crazygl/hero-ascii-video-displace","version":"0.1.0","author":{"name":"ybouane"},"license":"Apache-2.0","_id":"@crazygl/hero-ascii-video-displace@0.1.0","maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"homepage":"https://crazygl.com/hero/ascii-video-displace","bugs":{"url":"https://github.com/crazygl-com/hero-ascii-video-displace/issues"},"dist":{"shasum":"671ac3b70ae206f0f0e98ad2dcf55549f1e91101","tarball":"https://registry.npmjs.org/@crazygl/hero-ascii-video-displace/-/hero-ascii-video-displace-0.1.0.tgz","fileCount":11,"integrity":"sha512-k/y3sZUXM6I1y8UqeM9hRm1H4GYuEm0sC2xZAlvTqplz4aT2SYtK07UaQDYDVkhJ3q0h/rNlNizoNIDA+JUVJA==","signatures":[{"sig":"MEUCIBxZnLCRUDRBukzcQcJCa0vQsxpiTIC4S/BPtQnM0/evAiEAkbqDnKWPrajiCAsv/xpEwh6CWva0jrbzKVGHC5BEkCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64714},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./style.css","./metadata.json":"./metadata.json"},"gitHead":"a89d5a0f36671d16be0f42561ecdc8803c190843","_npmUser":{"name":"ybouane","email":"ybouane@ybouane.com"},"repository":{"url":"git+https://github.com/crazygl-com/hero-ascii-video-displace.git","type":"git"},"_npmVersion":"11.12.0","description":"A looping video re-rendered live as ASCII art on a monospace grid; the pointer bends the grid with a ripple and densifies glyphs near the cursor.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@crazygl/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/hero-ascii-video-displace_0.1.0_1782870504999_0.06815818865374768","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@crazygl/hero-ascii-video-displace","version":"0.1.1","description":"ASCII Video Displacement — A looping video converted live into ASCII art — each cell's brightness picks a glyph from a long density ramp so the moving footage reads as live ASCII. The pointer is a clarity lens: under… A customizable CrazyGL animated hero ","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./metadata.json":"./metadata.json","./style.css":"./style.css"},"dependencies":{"@crazygl/core":"^0.1.1"},"peerDependencies":{"react":">=18","react-dom":">=18"},"license":"Apache-2.0","author":{"name":"ybouane"},"homepage":"https://crazygl.com/hero/ascii-video-displace","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-ascii-video-displace.git"},"publishConfig":{"access":"public"},"keywords":["ascii","video","interactive","monospace","clarity","lens","pointer","premium","technical","ascii-video-displace","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","frontend","component","canvas","three"],"bugs":{"url":"https://github.com/crazygl-com/hero-ascii-video-displace/issues"},"gitHead":"426399a4e3facc3ead9f519912f7a78d4a37fea7","_id":"@crazygl/hero-ascii-video-displace@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-91mx1G+yUMgFuDXvOfd1uLQcQ8rHn8DtDcpT6FwuEvQORh1RnaB99FRTijOZNUA/TyxI6aCGQzFgBYoQW1Vs9Q==","shasum":"9403e278a701e6993d9dd71a3d720e82e2beb3c2","tarball":"https://registry.npmjs.org/@crazygl/hero-ascii-video-displace/-/hero-ascii-video-displace-0.1.1.tgz","fileCount":11,"unpackedSize":65272,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAzFvA1SKlKKHTFJJdNitGh3E6hxwIHlYxeEnp2fd0DCAiBwTT6NO9DmeFHHA18WbxsmWthk6Jmowqm24nDvZTUi5Q=="}]},"_npmUser":{"name":"ybouane","email":"ybouane@ybouane.com"},"directories":{},"maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hero-ascii-video-displace_0.1.1_1782922258694_0.08897345592236183"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T01:48:24.832Z","modified":"2026-07-01T16:10:59.001Z","0.1.0":"2026-07-01T01:48:25.148Z","0.1.1":"2026-07-01T16:10:58.840Z"},"bugs":{"url":"https://github.com/crazygl-com/hero-ascii-video-displace/issues"},"author":{"name":"ybouane"},"license":"Apache-2.0","homepage":"https://crazygl.com/hero/ascii-video-displace","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-ascii-video-displace.git"},"description":"ASCII Video Displacement — A looping video converted live into ASCII art — each cell's brightness picks a glyph from a long density ramp so the moving footage reads as live ASCII. The pointer is a clarity lens: under… A customizable CrazyGL animated hero ","maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"readme":"<sub>*Hero made by [@ybouane](https://x.com/ybouane).*</sub>\n<p align=\"center\">\n  <img src=\"https://crazygl.com/heroes/hero-ascii-video-displace/banner-full.png\" alt=\"ASCII Video Displacement\" width=\"640\">\n</p>\n\n# @crazygl/hero-ascii-video-displace\n\nA looping video converted live into ASCII art — each cell's brightness picks a glyph from a long density ramp so the moving footage reads as live ASCII. The pointer is a clarity lens: under the cursor the cells resolve into the real, sharp footage, so the image reads genuinely clearer exactly where you point.\n\n## Demo\n[ASCII Video Displacement](https://crazygl.com/hero/ascii-video-displace)\n\n## Install\n\n```bash\nnpm install @crazygl/hero-ascii-video-displace\n```\n\n## Usage\n\n```tsx\nimport AsciiVideoDisplace from '@crazygl/hero-ascii-video-displace';\n\nexport default function Hero() {\n  return (\n    <AsciiVideoDisplace\n      videoSrc=\"https://crazygl.com/samples/drone-1.mp4\"\n      heading=\"Reality, rendered.\"\n      cellSize={9}\n      clarity={0.8}\n    />\n  );\n}\n```\n\n## Customise\n\n- **Content** — `contentType` (heading / two-columns / custom) plus `heading`, `subheading`, or column nodes.\n- **Video** — `videoSrc` (looping MP4/WebM), `cellSize` (character cell width), `invert` (flip brightness→glyph mapping), `lumaBoost` (gamma on glyph selection only).\n- **Color** — `mode` (mono vs video-tint), `glyphColor`, `backgroundColor`.\n- **Focus** — `clarity` (how strongly the lens resolves real footage), `lensRadius` (focal size).\n- **Backdrop** — `transparent` to composite over your own page background.\n\n## Best for\n\n- Technical / developer-tooling and AI / data product landing pages that want a \"computational\" texture.\n- Creative-studio and motion portfolios.\n- Brands wanting a screen-free way to show real footage with a tactile, terminal feel.\n\n\n\nThis hero is part of [CrazyGL](https://crazygl.com), a collection of production-ready WebGL, canvas, 3D, and typography effects. Every CrazyGL hero ships with an agent-ready `SKILL.md` file that helps developers and coding agents adapt the effect into custom landing pages and interactive experiences.\n","readmeFilename":"README.md","keywords":["ascii","video","interactive","monospace","clarity","lens","pointer","premium","technical","ascii-video-displace","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","frontend","component","canvas","three"]}