{
  "name": "react-native-webrtc-kaleidoscope",
  "version": "2.7.9",
  "description": "Live video effects (blur, background replacement, generative backgrounds, flip/rotate) for react-native-webrtc, packaged as a managed-Expo-friendly Expo Module. Working on web, Android, and iOS. Active development.",
  "keywords": [
    "react-native",
    "react-native-webrtc",
    "webrtc",
    "expo",
    "expo-module",
    "video",
    "video-effects",
    "video-frame-processor",
    "blur",
    "background-blur",
    "background-replacement",
    "kaleidoscope"
  ],
  "author": "the-simian <info@simiancraft.com>",
  "license": "MIT",
  "homepage": "https://simiancraft.github.io/react-native-webrtc-kaleidoscope/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/simiancraft/react-native-webrtc-kaleidoscope.git"
  },
  "bugs": {
    "url": "https://github.com/simiancraft/react-native-webrtc-kaleidoscope/issues"
  },
  "type": "commonjs",
  "sideEffects": false,
  "main": "./src/index.ts",
  "react-native": "./src/index.ts",
  "types": "./dist/src/index.d.ts",
  "browser": {
    "./dist/src/components/preset-book-menu/resolve-image-uri.js": "./dist/src/components/preset-book-menu/resolve-image-uri.web.js"
  },
  "exports": {
    ".": {
      "types": "./dist/src/index.d.ts",
      "react-native": "./src/index.ts",
      "browser": "./dist/src/index.web.js",
      "import": "./dist/src/index.js",
      "default": "./dist/src/index.js"
    },
    "./preset-book-menu": {
      "types": "./dist/src/components/preset-book-menu/index.d.ts",
      "react-native": "./src/components/preset-book-menu/index.tsx",
      "browser": "./dist/src/components/preset-book-menu/index.js",
      "import": "./dist/src/components/preset-book-menu/index.js",
      "default": "./dist/src/components/preset-book-menu/index.js"
    },
    "./preset-control-panel": {
      "types": "./dist/src/components/preset-control-panel/index.d.ts",
      "react-native": "./src/components/preset-control-panel/index.ts",
      "browser": "./dist/src/components/preset-control-panel/index.js",
      "import": "./dist/src/components/preset-control-panel/index.js",
      "default": "./dist/src/components/preset-control-panel/index.js"
    },
    "./nativewind": {
      "types": "./dist/src/nativewind.d.ts",
      "react-native": "./src/nativewind.ts",
      "import": "./dist/src/nativewind.js",
      "default": "./dist/src/nativewind.js"
    },
    "./persistence": {
      "types": "./dist/src/persistence/index.d.ts",
      "react-native": "./src/persistence/index.ts",
      "browser": "./dist/src/persistence/index.js",
      "import": "./dist/src/persistence/index.js",
      "default": "./dist/src/persistence/index.js"
    },
    "./livekit": {
      "types": "./dist/src/livekit.d.ts",
      "browser": "./dist/src/livekit.js",
      "import": "./dist/src/livekit.js",
      "default": "./dist/src/livekit.js"
    },
    "./images": {
      "types": "./dist/catalog/images/index.d.ts",
      "react-native": "./catalog/images/index.ts",
      "import": "./dist/catalog/images/index.js",
      "default": "./dist/catalog/images/index.js"
    },
    "./images/debug/debug-resolutions": {
      "types": "./dist/catalog/images/debug/debug-resolutions.d.ts",
      "react-native": "./catalog/images/debug/debug-resolutions.ts",
      "browser": "./dist/catalog/images/debug/debug-resolutions.web.js",
      "import": "./dist/catalog/images/debug/debug-resolutions.js",
      "default": "./dist/catalog/images/debug/debug-resolutions.js"
    },
    "./images/office/office-dark": {
      "types": "./dist/catalog/images/office/office-dark.d.ts",
      "react-native": "./catalog/images/office/office-dark.ts",
      "browser": "./dist/catalog/images/office/office-dark.web.js",
      "import": "./dist/catalog/images/office/office-dark.js",
      "default": "./dist/catalog/images/office/office-dark.js"
    },
    "./images/office/office-light": {
      "types": "./dist/catalog/images/office/office-light.d.ts",
      "react-native": "./catalog/images/office/office-light.ts",
      "browser": "./dist/catalog/images/office/office-light.web.js",
      "import": "./dist/catalog/images/office/office-light.js",
      "default": "./dist/catalog/images/office/office-light.js"
    },
    "./images/home/home-dark": {
      "types": "./dist/catalog/images/home/home-dark.d.ts",
      "react-native": "./catalog/images/home/home-dark.ts",
      "browser": "./dist/catalog/images/home/home-dark.web.js",
      "import": "./dist/catalog/images/home/home-dark.js",
      "default": "./dist/catalog/images/home/home-dark.js"
    },
    "./images/home/home-light": {
      "types": "./dist/catalog/images/home/home-light.d.ts",
      "react-native": "./catalog/images/home/home-light.ts",
      "browser": "./dist/catalog/images/home/home-light.web.js",
      "import": "./dist/catalog/images/home/home-light.js",
      "default": "./dist/catalog/images/home/home-light.js"
    },
    "./images/nature/landscape-dark": {
      "types": "./dist/catalog/images/nature/landscape-dark.d.ts",
      "react-native": "./catalog/images/nature/landscape-dark.ts",
      "browser": "./dist/catalog/images/nature/landscape-dark.web.js",
      "import": "./dist/catalog/images/nature/landscape-dark.js",
      "default": "./dist/catalog/images/nature/landscape-dark.js"
    },
    "./images/nature/landscape-light": {
      "types": "./dist/catalog/images/nature/landscape-light.d.ts",
      "react-native": "./catalog/images/nature/landscape-light.ts",
      "browser": "./dist/catalog/images/nature/landscape-light.web.js",
      "import": "./dist/catalog/images/nature/landscape-light.js",
      "default": "./dist/catalog/images/nature/landscape-light.js"
    },
    "./images/sci-fi/sci-fi-light": {
      "types": "./dist/catalog/images/sci-fi/sci-fi-light.d.ts",
      "react-native": "./catalog/images/sci-fi/sci-fi-light.ts",
      "browser": "./dist/catalog/images/sci-fi/sci-fi-light.web.js",
      "import": "./dist/catalog/images/sci-fi/sci-fi-light.js",
      "default": "./dist/catalog/images/sci-fi/sci-fi-light.js"
    },
    "./images/underwater/oceanscape-dark": {
      "types": "./dist/catalog/images/underwater/oceanscape-dark.d.ts",
      "react-native": "./catalog/images/underwater/oceanscape-dark.ts",
      "browser": "./dist/catalog/images/underwater/oceanscape-dark.web.js",
      "import": "./dist/catalog/images/underwater/oceanscape-dark.js",
      "default": "./dist/catalog/images/underwater/oceanscape-dark.js"
    },
    "./images/simiancraft/simiancraft-light": {
      "types": "./dist/catalog/images/simiancraft/simiancraft-light.d.ts",
      "react-native": "./catalog/images/simiancraft/simiancraft-light.ts",
      "browser": "./dist/catalog/images/simiancraft/simiancraft-light.web.js",
      "import": "./dist/catalog/images/simiancraft/simiancraft-light.js",
      "default": "./dist/catalog/images/simiancraft/simiancraft-light.js"
    },
    "./images/simiancraft/simiancraft-dark": {
      "types": "./dist/catalog/images/simiancraft/simiancraft-dark.d.ts",
      "react-native": "./catalog/images/simiancraft/simiancraft-dark.ts",
      "browser": "./dist/catalog/images/simiancraft/simiancraft-dark.web.js",
      "import": "./dist/catalog/images/simiancraft/simiancraft-dark.js",
      "default": "./dist/catalog/images/simiancraft/simiancraft-dark.js"
    },
    "./images/simiancraft/simiancraft-light-transparency": {
      "types": "./dist/catalog/images/simiancraft/simiancraft-light-transparency.d.ts",
      "react-native": "./catalog/images/simiancraft/simiancraft-light-transparency.ts",
      "browser": "./dist/catalog/images/simiancraft/simiancraft-light-transparency.web.js",
      "import": "./dist/catalog/images/simiancraft/simiancraft-light-transparency.js",
      "default": "./dist/catalog/images/simiancraft/simiancraft-light-transparency.js"
    },
    "./images/simiancraft/simiancraft-dark-transparency": {
      "types": "./dist/catalog/images/simiancraft/simiancraft-dark-transparency.d.ts",
      "react-native": "./catalog/images/simiancraft/simiancraft-dark-transparency.ts",
      "browser": "./dist/catalog/images/simiancraft/simiancraft-dark-transparency.web.js",
      "import": "./dist/catalog/images/simiancraft/simiancraft-dark-transparency.js",
      "default": "./dist/catalog/images/simiancraft/simiancraft-dark-transparency.js"
    },
    "./images/corporate/corporate-logo": {
      "types": "./dist/catalog/images/corporate/corporate-logo.d.ts",
      "react-native": "./catalog/images/corporate/corporate-logo.ts",
      "browser": "./dist/catalog/images/corporate/corporate-logo.web.js",
      "import": "./dist/catalog/images/corporate/corporate-logo.js",
      "default": "./dist/catalog/images/corporate/corporate-logo.js"
    },
    "./images/fairy-caves/grotto": {
      "types": "./dist/catalog/images/fairy-caves/grotto.d.ts",
      "react-native": "./catalog/images/fairy-caves/grotto.ts",
      "browser": "./dist/catalog/images/fairy-caves/grotto.web.js",
      "import": "./dist/catalog/images/fairy-caves/grotto.js",
      "default": "./dist/catalog/images/fairy-caves/grotto.js"
    },
    "./images/fairy-caves/hollow": {
      "types": "./dist/catalog/images/fairy-caves/hollow.d.ts",
      "react-native": "./catalog/images/fairy-caves/hollow.ts",
      "browser": "./dist/catalog/images/fairy-caves/hollow.web.js",
      "import": "./dist/catalog/images/fairy-caves/hollow.js",
      "default": "./dist/catalog/images/fairy-caves/hollow.js"
    },
    "./images/fairy-caves/treehouse": {
      "types": "./dist/catalog/images/fairy-caves/treehouse.d.ts",
      "react-native": "./catalog/images/fairy-caves/treehouse.ts",
      "browser": "./dist/catalog/images/fairy-caves/treehouse.web.js",
      "import": "./dist/catalog/images/fairy-caves/treehouse.js",
      "default": "./dist/catalog/images/fairy-caves/treehouse.js"
    },
    "./images/fairy-caves/treehouse-2": {
      "types": "./dist/catalog/images/fairy-caves/treehouse-2.d.ts",
      "react-native": "./catalog/images/fairy-caves/treehouse-2.ts",
      "browser": "./dist/catalog/images/fairy-caves/treehouse-2.web.js",
      "import": "./dist/catalog/images/fairy-caves/treehouse-2.js",
      "default": "./dist/catalog/images/fairy-caves/treehouse-2.js"
    },
    "./images/fairy-caves/treehouse-3": {
      "types": "./dist/catalog/images/fairy-caves/treehouse-3.d.ts",
      "react-native": "./catalog/images/fairy-caves/treehouse-3.ts",
      "browser": "./dist/catalog/images/fairy-caves/treehouse-3.web.js",
      "import": "./dist/catalog/images/fairy-caves/treehouse-3.js",
      "default": "./dist/catalog/images/fairy-caves/treehouse-3.js"
    },
    "./images/spaceship/observation-deck": {
      "types": "./dist/catalog/images/spaceship/observation-deck.d.ts",
      "react-native": "./catalog/images/spaceship/observation-deck.ts",
      "browser": "./dist/catalog/images/spaceship/observation-deck.web.js",
      "import": "./dist/catalog/images/spaceship/observation-deck.js",
      "default": "./dist/catalog/images/spaceship/observation-deck.js"
    },
    "./images/wizard-tower/wizard-tower-1": {
      "types": "./dist/catalog/images/wizard-tower/wizard-tower-1.d.ts",
      "react-native": "./catalog/images/wizard-tower/wizard-tower-1.ts",
      "browser": "./dist/catalog/images/wizard-tower/wizard-tower-1.web.js",
      "import": "./dist/catalog/images/wizard-tower/wizard-tower-1.js",
      "default": "./dist/catalog/images/wizard-tower/wizard-tower-1.js"
    },
    "./images/wizard-tower/wizard-tower-2": {
      "types": "./dist/catalog/images/wizard-tower/wizard-tower-2.d.ts",
      "react-native": "./catalog/images/wizard-tower/wizard-tower-2.ts",
      "browser": "./dist/catalog/images/wizard-tower/wizard-tower-2.web.js",
      "import": "./dist/catalog/images/wizard-tower/wizard-tower-2.js",
      "default": "./dist/catalog/images/wizard-tower/wizard-tower-2.js"
    },
    "./images/wizard-tower/wizard-tower-night": {
      "types": "./dist/catalog/images/wizard-tower/wizard-tower-night.d.ts",
      "react-native": "./catalog/images/wizard-tower/wizard-tower-night.ts",
      "browser": "./dist/catalog/images/wizard-tower/wizard-tower-night.web.js",
      "import": "./dist/catalog/images/wizard-tower/wizard-tower-night.js",
      "default": "./dist/catalog/images/wizard-tower/wizard-tower-night.js"
    },
    "./images/debug/debug-resolutions.webp": "./catalog/images/debug/debug-resolutions.webp",
    "./images/office/office-dark.webp": "./catalog/images/office/office-dark.webp",
    "./images/office/office-light.webp": "./catalog/images/office/office-light.webp",
    "./images/home/home-dark.webp": "./catalog/images/home/home-dark.webp",
    "./images/home/home-light.webp": "./catalog/images/home/home-light.webp",
    "./images/nature/landscape-dark.webp": "./catalog/images/nature/landscape-dark.webp",
    "./images/nature/landscape-light.webp": "./catalog/images/nature/landscape-light.webp",
    "./images/sci-fi/sci-fi-light.webp": "./catalog/images/sci-fi/sci-fi-light.webp",
    "./images/underwater/oceanscape-dark.webp": "./catalog/images/underwater/oceanscape-dark.webp",
    "./images/simiancraft/simiancraft-light.webp": "./catalog/images/simiancraft/simiancraft-light.webp",
    "./images/simiancraft/simiancraft-dark.webp": "./catalog/images/simiancraft/simiancraft-dark.webp",
    "./images/simiancraft/simiancraft-light-transparency.webp": "./catalog/images/simiancraft/simiancraft-light-transparency.webp",
    "./images/simiancraft/simiancraft-dark-transparency.webp": "./catalog/images/simiancraft/simiancraft-dark-transparency.webp",
    "./images/corporate/corporate-logo.webp": "./catalog/images/corporate/corporate-logo.webp",
    "./images/fairy-caves/grotto.webp": "./catalog/images/fairy-caves/grotto.webp",
    "./images/fairy-caves/hollow.webp": "./catalog/images/fairy-caves/hollow.webp",
    "./images/fairy-caves/treehouse.webp": "./catalog/images/fairy-caves/treehouse.webp",
    "./images/fairy-caves/treehouse-2.webp": "./catalog/images/fairy-caves/treehouse-2.webp",
    "./images/fairy-caves/treehouse-3.webp": "./catalog/images/fairy-caves/treehouse-3.webp",
    "./images/spaceship/observation-deck.webp": "./catalog/images/spaceship/observation-deck.webp",
    "./images/wizard-tower/wizard-tower-1.webp": "./catalog/images/wizard-tower/wizard-tower-1.webp",
    "./images/wizard-tower/wizard-tower-2.webp": "./catalog/images/wizard-tower/wizard-tower-2.webp",
    "./images/wizard-tower/wizard-tower-night.webp": "./catalog/images/wizard-tower/wizard-tower-night.webp",
    "./composites/wizard-tower": {
      "types": "./dist/catalog/composites/wizard-tower/wizard-tower.d.ts",
      "react-native": "./catalog/composites/wizard-tower/wizard-tower.ts",
      "browser": "./dist/catalog/composites/wizard-tower/wizard-tower.web.js",
      "import": "./dist/catalog/composites/wizard-tower/wizard-tower.js",
      "default": "./dist/catalog/composites/wizard-tower/wizard-tower.js"
    },
    "./composites/wizard-tower-night": {
      "types": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.d.ts",
      "react-native": "./catalog/composites/wizard-tower-night/wizard-tower-night.ts",
      "browser": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.web.js",
      "import": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.js",
      "default": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.js"
    },
    "./composites/fairy-grotto": {
      "types": "./dist/catalog/composites/fairy-grotto/fairy-grotto.d.ts",
      "react-native": "./catalog/composites/fairy-grotto/fairy-grotto.ts",
      "browser": "./dist/catalog/composites/fairy-grotto/fairy-grotto.web.js",
      "import": "./dist/catalog/composites/fairy-grotto/fairy-grotto.js",
      "default": "./dist/catalog/composites/fairy-grotto/fairy-grotto.js"
    },
    "./composites/fairy-hollow": {
      "types": "./dist/catalog/composites/fairy-hollow/fairy-hollow.d.ts",
      "react-native": "./catalog/composites/fairy-hollow/fairy-hollow.ts",
      "browser": "./dist/catalog/composites/fairy-hollow/fairy-hollow.web.js",
      "import": "./dist/catalog/composites/fairy-hollow/fairy-hollow.js",
      "default": "./dist/catalog/composites/fairy-hollow/fairy-hollow.js"
    },
    "./composites/observation-deck": {
      "types": "./dist/catalog/composites/observation-deck/observation-deck.d.ts",
      "react-native": "./catalog/composites/observation-deck/observation-deck.ts",
      "browser": "./dist/catalog/composites/observation-deck/observation-deck.web.js",
      "import": "./dist/catalog/composites/observation-deck/observation-deck.js",
      "default": "./dist/catalog/composites/observation-deck/observation-deck.js"
    },
    "./composites/fairy-cave": {
      "types": "./dist/catalog/composites/fairy-cave/fairy-cave.d.ts",
      "react-native": "./catalog/composites/fairy-cave/fairy-cave.ts",
      "browser": "./dist/catalog/composites/fairy-cave/fairy-cave.web.js",
      "import": "./dist/catalog/composites/fairy-cave/fairy-cave.js",
      "default": "./dist/catalog/composites/fairy-cave/fairy-cave.js"
    },
    "./composites/underwater": {
      "types": "./dist/catalog/composites/underwater/underwater.d.ts",
      "react-native": "./catalog/composites/underwater/underwater.ts",
      "browser": "./dist/catalog/composites/underwater/underwater.web.js",
      "import": "./dist/catalog/composites/underwater/underwater.js",
      "default": "./dist/catalog/composites/underwater/underwater.js"
    },
    "./composites/nebula": {
      "types": "./dist/catalog/composites/nebula/nebula.d.ts",
      "react-native": "./catalog/composites/nebula/nebula.ts",
      "browser": "./dist/catalog/composites/nebula/nebula.web.js",
      "import": "./dist/catalog/composites/nebula/nebula.js",
      "default": "./dist/catalog/composites/nebula/nebula.js"
    },
    "./composites/simianlights": {
      "types": "./dist/catalog/composites/simianlights/simianlights.d.ts",
      "react-native": "./catalog/composites/simianlights/simianlights.ts",
      "browser": "./dist/catalog/composites/simianlights/simianlights.web.js",
      "import": "./dist/catalog/composites/simianlights/simianlights.js",
      "default": "./dist/catalog/composites/simianlights/simianlights.js"
    },
    "./composites/clouds": {
      "types": "./dist/catalog/composites/clouds/clouds.d.ts",
      "react-native": "./catalog/composites/clouds/clouds.ts",
      "browser": "./dist/catalog/composites/clouds/clouds.web.js",
      "import": "./dist/catalog/composites/clouds/clouds.js",
      "default": "./dist/catalog/composites/clouds/clouds.js"
    },
    "./composites/corporate-blobs": {
      "types": "./dist/catalog/composites/corporate-blobs/corporate-blobs.d.ts",
      "react-native": "./catalog/composites/corporate-blobs/corporate-blobs.ts",
      "browser": "./dist/catalog/composites/corporate-blobs/corporate-blobs.web.js",
      "import": "./dist/catalog/composites/corporate-blobs/corporate-blobs.js",
      "default": "./dist/catalog/composites/corporate-blobs/corporate-blobs.js"
    },
    "./composites/wizard-tower/controls": {
      "types": "./dist/catalog/composites/wizard-tower/wizard-tower.controls.d.ts",
      "react-native": "./catalog/composites/wizard-tower/wizard-tower.controls.tsx",
      "browser": "./dist/catalog/composites/wizard-tower/wizard-tower.controls.js",
      "import": "./dist/catalog/composites/wizard-tower/wizard-tower.controls.js",
      "default": "./dist/catalog/composites/wizard-tower/wizard-tower.controls.js"
    },
    "./composites/wizard-tower-night/controls": {
      "types": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.d.ts",
      "react-native": "./catalog/composites/wizard-tower-night/wizard-tower-night.controls.tsx",
      "browser": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.js",
      "import": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.js",
      "default": "./dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.js"
    },
    "./composites/fairy-grotto/controls": {
      "types": "./dist/catalog/composites/fairy-grotto/fairy-grotto.controls.d.ts",
      "react-native": "./catalog/composites/fairy-grotto/fairy-grotto.controls.tsx",
      "browser": "./dist/catalog/composites/fairy-grotto/fairy-grotto.controls.js",
      "import": "./dist/catalog/composites/fairy-grotto/fairy-grotto.controls.js",
      "default": "./dist/catalog/composites/fairy-grotto/fairy-grotto.controls.js"
    },
    "./composites/fairy-hollow/controls": {
      "types": "./dist/catalog/composites/fairy-hollow/fairy-hollow.controls.d.ts",
      "react-native": "./catalog/composites/fairy-hollow/fairy-hollow.controls.tsx",
      "browser": "./dist/catalog/composites/fairy-hollow/fairy-hollow.controls.js",
      "import": "./dist/catalog/composites/fairy-hollow/fairy-hollow.controls.js",
      "default": "./dist/catalog/composites/fairy-hollow/fairy-hollow.controls.js"
    },
    "./composites/clouds/controls": {
      "types": "./dist/catalog/composites/clouds/clouds.controls.d.ts",
      "react-native": "./catalog/composites/clouds/clouds.controls.tsx",
      "browser": "./dist/catalog/composites/clouds/clouds.controls.js",
      "import": "./dist/catalog/composites/clouds/clouds.controls.js",
      "default": "./dist/catalog/composites/clouds/clouds.controls.js"
    },
    "./composites/corporate-blobs/controls": {
      "types": "./dist/catalog/composites/corporate-blobs/corporate-blobs.controls.d.ts",
      "react-native": "./catalog/composites/corporate-blobs/corporate-blobs.controls.tsx",
      "browser": "./dist/catalog/composites/corporate-blobs/corporate-blobs.controls.js",
      "import": "./dist/catalog/composites/corporate-blobs/corporate-blobs.controls.js",
      "default": "./dist/catalog/composites/corporate-blobs/corporate-blobs.controls.js"
    },
    "./composites/fairy-cave/controls": {
      "types": "./dist/catalog/composites/fairy-cave/fairy-cave.controls.d.ts",
      "react-native": "./catalog/composites/fairy-cave/fairy-cave.controls.tsx",
      "browser": "./dist/catalog/composites/fairy-cave/fairy-cave.controls.js",
      "import": "./dist/catalog/composites/fairy-cave/fairy-cave.controls.js",
      "default": "./dist/catalog/composites/fairy-cave/fairy-cave.controls.js"
    },
    "./composites/nebula/controls": {
      "types": "./dist/catalog/composites/nebula/nebula.controls.d.ts",
      "react-native": "./catalog/composites/nebula/nebula.controls.tsx",
      "browser": "./dist/catalog/composites/nebula/nebula.controls.js",
      "import": "./dist/catalog/composites/nebula/nebula.controls.js",
      "default": "./dist/catalog/composites/nebula/nebula.controls.js"
    },
    "./composites/observation-deck/controls": {
      "types": "./dist/catalog/composites/observation-deck/observation-deck.controls.d.ts",
      "react-native": "./catalog/composites/observation-deck/observation-deck.controls.tsx",
      "browser": "./dist/catalog/composites/observation-deck/observation-deck.controls.js",
      "import": "./dist/catalog/composites/observation-deck/observation-deck.controls.js",
      "default": "./dist/catalog/composites/observation-deck/observation-deck.controls.js"
    },
    "./composites/simianlights/controls": {
      "types": "./dist/catalog/composites/simianlights/simianlights.controls.d.ts",
      "react-native": "./catalog/composites/simianlights/simianlights.controls.tsx",
      "browser": "./dist/catalog/composites/simianlights/simianlights.controls.js",
      "import": "./dist/catalog/composites/simianlights/simianlights.controls.js",
      "default": "./dist/catalog/composites/simianlights/simianlights.controls.js"
    },
    "./composites/underwater/controls": {
      "types": "./dist/catalog/composites/underwater/underwater.controls.d.ts",
      "react-native": "./catalog/composites/underwater/underwater.controls.tsx",
      "browser": "./dist/catalog/composites/underwater/underwater.controls.js",
      "import": "./dist/catalog/composites/underwater/underwater.controls.js",
      "default": "./dist/catalog/composites/underwater/underwater.controls.js"
    },
    "./shaders/light-beams-and-motes/form": {
      "types": "./dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.d.ts",
      "react-native": "./catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.tsx",
      "browser": "./dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.js",
      "import": "./dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.js",
      "default": "./dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.js"
    },
    "./shaders/plasma/form": {
      "types": "./dist/catalog/shaders/plasma/plasma.form.d.ts",
      "react-native": "./catalog/shaders/plasma/plasma.form.tsx",
      "browser": "./dist/catalog/shaders/plasma/plasma.form.js",
      "import": "./dist/catalog/shaders/plasma/plasma.form.js",
      "default": "./dist/catalog/shaders/plasma/plasma.form.js"
    },
    "./shaders/kaleidoscope/form": {
      "types": "./dist/catalog/shaders/kaleidoscope/kaleidoscope.form.d.ts",
      "react-native": "./catalog/shaders/kaleidoscope/kaleidoscope.form.tsx",
      "browser": "./dist/catalog/shaders/kaleidoscope/kaleidoscope.form.js",
      "import": "./dist/catalog/shaders/kaleidoscope/kaleidoscope.form.js",
      "default": "./dist/catalog/shaders/kaleidoscope/kaleidoscope.form.js"
    },
    "./shaders/neo-memphis/form": {
      "types": "./dist/catalog/shaders/neo-memphis/neo-memphis.form.d.ts",
      "react-native": "./catalog/shaders/neo-memphis/neo-memphis.form.tsx",
      "browser": "./dist/catalog/shaders/neo-memphis/neo-memphis.form.js",
      "import": "./dist/catalog/shaders/neo-memphis/neo-memphis.form.js",
      "default": "./dist/catalog/shaders/neo-memphis/neo-memphis.form.js"
    },
    "./shaders/halftone-waves/form": {
      "types": "./dist/catalog/shaders/halftone-waves/halftone-waves.form.d.ts",
      "react-native": "./catalog/shaders/halftone-waves/halftone-waves.form.tsx",
      "browser": "./dist/catalog/shaders/halftone-waves/halftone-waves.form.js",
      "import": "./dist/catalog/shaders/halftone-waves/halftone-waves.form.js",
      "default": "./dist/catalog/shaders/halftone-waves/halftone-waves.form.js"
    },
    "./shaders/aurora-silk/form": {
      "types": "./dist/catalog/shaders/aurora-silk/aurora-silk.form.d.ts",
      "react-native": "./catalog/shaders/aurora-silk/aurora-silk.form.tsx",
      "browser": "./dist/catalog/shaders/aurora-silk/aurora-silk.form.js",
      "import": "./dist/catalog/shaders/aurora-silk/aurora-silk.form.js",
      "default": "./dist/catalog/shaders/aurora-silk/aurora-silk.form.js"
    },
    "./shaders/outrun-grid/form": {
      "types": "./dist/catalog/shaders/outrun-grid/outrun-grid.form.d.ts",
      "react-native": "./catalog/shaders/outrun-grid/outrun-grid.form.tsx",
      "browser": "./dist/catalog/shaders/outrun-grid/outrun-grid.form.js",
      "import": "./dist/catalog/shaders/outrun-grid/outrun-grid.form.js",
      "default": "./dist/catalog/shaders/outrun-grid/outrun-grid.form.js"
    },
    "./shaders/blur/form": {
      "types": "./dist/catalog/shaders/blur/blur.form.d.ts",
      "react-native": "./catalog/shaders/blur/blur.form.tsx",
      "browser": "./dist/catalog/shaders/blur/blur.form.js",
      "import": "./dist/catalog/shaders/blur/blur.form.js",
      "default": "./dist/catalog/shaders/blur/blur.form.js"
    },
    "./shaders/clouds/form": {
      "types": "./dist/catalog/shaders/clouds/clouds.form.d.ts",
      "react-native": "./catalog/shaders/clouds/clouds.form.tsx",
      "browser": "./dist/catalog/shaders/clouds/clouds.form.js",
      "import": "./dist/catalog/shaders/clouds/clouds.form.js",
      "default": "./dist/catalog/shaders/clouds/clouds.form.js"
    },
    "./shaders/nebula/form": {
      "types": "./dist/catalog/shaders/nebula/nebula.form.d.ts",
      "react-native": "./catalog/shaders/nebula/nebula.form.tsx",
      "browser": "./dist/catalog/shaders/nebula/nebula.form.js",
      "import": "./dist/catalog/shaders/nebula/nebula.form.js",
      "default": "./dist/catalog/shaders/nebula/nebula.form.js"
    },
    "./shaders/simianlights/form": {
      "types": "./dist/catalog/shaders/simianlights/simianlights.form.d.ts",
      "react-native": "./catalog/shaders/simianlights/simianlights.form.tsx",
      "browser": "./dist/catalog/shaders/simianlights/simianlights.form.js",
      "import": "./dist/catalog/shaders/simianlights/simianlights.form.js",
      "default": "./dist/catalog/shaders/simianlights/simianlights.form.js"
    },
    "./shaders/fireflies/form": {
      "types": "./dist/catalog/shaders/fireflies/fireflies.form.d.ts",
      "react-native": "./catalog/shaders/fireflies/fireflies.form.tsx",
      "browser": "./dist/catalog/shaders/fireflies/fireflies.form.js",
      "import": "./dist/catalog/shaders/fireflies/fireflies.form.js",
      "default": "./dist/catalog/shaders/fireflies/fireflies.form.js"
    },
    "./shaders/godrays/form": {
      "types": "./dist/catalog/shaders/godrays/godrays.form.d.ts",
      "react-native": "./catalog/shaders/godrays/godrays.form.tsx",
      "browser": "./dist/catalog/shaders/godrays/godrays.form.js",
      "import": "./dist/catalog/shaders/godrays/godrays.form.js",
      "default": "./dist/catalog/shaders/godrays/godrays.form.js"
    },
    "./shaders/anamorphic-lensflare/form": {
      "types": "./dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.d.ts",
      "react-native": "./catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.tsx",
      "browser": "./dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.js",
      "import": "./dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.js",
      "default": "./dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.js"
    },
    "./shaders/corporate-blobs/form": {
      "types": "./dist/catalog/shaders/corporate-blobs/corporate-blobs.form.d.ts",
      "react-native": "./catalog/shaders/corporate-blobs/corporate-blobs.form.tsx",
      "browser": "./dist/catalog/shaders/corporate-blobs/corporate-blobs.form.js",
      "import": "./dist/catalog/shaders/corporate-blobs/corporate-blobs.form.js",
      "default": "./dist/catalog/shaders/corporate-blobs/corporate-blobs.form.js"
    },
    "./shaders/data-mesh/form": {
      "types": "./dist/catalog/shaders/data-mesh/data-mesh.form.d.ts",
      "react-native": "./catalog/shaders/data-mesh/data-mesh.form.tsx",
      "browser": "./dist/catalog/shaders/data-mesh/data-mesh.form.js",
      "import": "./dist/catalog/shaders/data-mesh/data-mesh.form.js",
      "default": "./dist/catalog/shaders/data-mesh/data-mesh.form.js"
    },
    "./app.plugin.js": {
      "types": "./app.plugin.d.ts",
      "require": "./app.plugin.js",
      "default": "./app.plugin.js"
    },
    "./expo-module.config.json": "./expo-module.config.json",
    "./package.json": "./package.json"
  },
  "files": [
    "src",
    "catalog",
    "dist",
    "android/src/main",
    "android/build.gradle",
    "ios",
    "app.plugin.js",
    "app.plugin.d.ts",
    "plugin/build",
    "expo-module.config.json",
    "README.md",
    "LICENSE",
    "NOTICE.md",
    "llms.txt"
  ],
  "scripts": {
    "clean": "rm -rf dist",
    "build": "bun run clean && tsgo -p tsconfig.build.json && bun run copy:assets",
    "typecheck": "tsgo --noEmit",
    "typecheck:test": "tsgo --noEmit --project tsconfig.test.json",
    "typecheck:demo": "cd demo && bunx tsc --noEmit",
    "prepare": "command -v lefthook >/dev/null 2>&1 && lefthook install || true",
    "lint": "biome check",
    "lint:fix": "biome check --write",
    "format": "biome format --write .",
    "test": "bun test",
    "check": "bun run lint:fix && bun run typecheck && bun run typecheck:test && bun run typecheck:demo && bun run check:react-compiler && bun run check:assets && bun run check:plugin && bun run build && (cd demo && bun run build) && bun run test && bun run check:knip && bun run check:package && bun run check:kotlin && bun run check:swift",
    "check:assets": "bun run scripts/check-book-assets.ts",
    "check:package": "publint --strict",
    "check:knip": "knip",
    "check:react-compiler": "eslint src/components 'catalog/composites/**/*.controls.tsx' 'catalog/shaders/**/*.form.tsx'",
    "check:kotlin": "bun run scripts/ktlint.ts",
    "format:kotlin": "bun run scripts/ktlint.ts --format",
    "check:swift": "bun run scripts/swift.ts",
    "format:swift": "bun run scripts/swift.ts --format",
    "build:plugin": "bun run scripts/build-plugin.ts",
    "check:plugin": "bun run build:plugin && git diff --exit-code -- plugin/build",
    "refresh:android": "cd demo && npm install",
    "prebuild:android": "bun run refresh:android && cd demo && bunx expo prebuild --platform android --no-install",
    "check:android": "cd demo/android && ./gradlew :react-native-webrtc-kaleidoscope:compileDebugKotlin",
    "build:shaders": "bun run scripts/build-shaders.ts",
    "check:shaders": "bun run build:shaders && git diff --exit-code -- android/src/main/java/com/simiancraft/kaleidoscope/gpu/ShadersGenerated.kt web-driver/shaders.generated.ts",
    "bench:shader": "bun run scripts/shader-cost.ts",
    "shader:view": "bun run scripts/shader-view.ts",
    "thumbs": "bun run build && bun tools/thumbnails/make-thumbnails.ts --book demo/kaleidoscope.preset-book.ts --out demo/assets/thumbnails --repo",
    "gen:waffle": "bun run scripts/gen-preset-waffle.ts",
    "check:waffle": "bun run scripts/gen-preset-waffle.ts --check",
    "demo": "bun run build && cd demo && bun run start",
    "demo:wsl": "bun run build && cd demo && bun run start:wsl",
    "demo:ios": "bun run build && cd demo && bun run ios",
    "demo:android": "bun run build && cd demo && bun run android",
    "demo:web": "bun run build && cd demo && bun run web",
    "build:web": "bun run build && cd demo && bunx expo export -p web",
    "prepack": "bun run build:plugin && bun run build",
    "prepublishOnly": "bun run build:plugin && bun run build && bun run check:package",
    "copy:assets": "bun run scripts/copy-assets.ts",
    "verify:web": "(cd demo && bunx expo export -p web) && bun run scripts/verify-web-presets.ts"
  },
  "peerDependencies": {
    "expo": ">=51.0.0",
    "expo-asset": ">=10.0.0",
    "react": ">=18.2.0",
    "react-native": ">=0.74.0",
    "react-native-webrtc": ">=124.0.0",
    "@livekit/react-native-webrtc": ">=144.0.0",
    "livekit-client": ">=2.0.0",
    "nativewind": ">=4.0.0",
    "@react-native-community/slider": ">=4.5.0",
    "@react-native-async-storage/async-storage": ">=1.23.0"
  },
  "peerDependenciesMeta": {
    "@react-native-community/slider": {
      "optional": true
    },
    "@react-native-async-storage/async-storage": {
      "optional": true
    },
    "nativewind": {
      "optional": true
    },
    "react-native-webrtc": {
      "optional": true
    },
    "@livekit/react-native-webrtc": {
      "optional": true
    },
    "livekit-client": {
      "optional": true
    }
  },
  "optionalDependencies": {
    "@mediapipe/selfie_segmentation": "^0.1.1675465747"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.4.13",
    "@expo/config-plugins": "~56.0.8",
    "@react-native-async-storage/async-storage": "1.23.1",
    "@react-native-community/slider": "5.2.0",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/npm": "^13.1.5",
    "@types/bun": "^1.3.12",
    "@types/react": "~18.2.79",
    "@typescript-eslint/parser": "^8.60.1",
    "@typescript/native-preview": "7.0.0-dev.20260707.2",
    "eslint": "^10.4.1",
    "eslint-plugin-react-compiler": "^19.1.0-rc.2",
    "expo": "^51.0.0",
    "expo-modules-core": "^56.0.15",
    "knip": "^6.5.0",
    "lefthook": "^2.1.9",
    "livekit-client": "^2.0.0",
    "nativewind": "4.2.x",
    "playwright": "1.60.0",
    "publint": "^0.3.18",
    "react": "18.2.0",
    "react-native": "0.74.5",
    "react-native-webrtc": "^124.0.7",
    "semantic-release": "^25.0.3",
    "typescript": "^6.0.3"
  },
  "publishConfig": {
    "access": "public",
    "provenance": true
  },
  "engines": {
    "node": ">=20"
  }
}
