@remotion/three 3.0.0-wrappedup.220 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/LICENSE.md +2 -2
  4. package/dist/SuspenseLoader.d.ts +3 -1
  5. package/dist/SuspenseLoader.d.ts.map +1 -1
  6. package/dist/SuspenseLoader.js +2 -2
  7. package/dist/SuspenseLoader.js.map +1 -1
  8. package/dist/ThreeCanvas.d.ts +1 -0
  9. package/dist/ThreeCanvas.d.ts.map +1 -1
  10. package/dist/ThreeCanvas.js +2 -2
  11. package/dist/ThreeCanvas.js.map +1 -1
  12. package/dist/ThreeContext.d.ts +6 -0
  13. package/dist/ThreeContext.d.ts.map +1 -0
  14. package/dist/ThreeContext.js +9 -0
  15. package/dist/ThreeContext.js.map +1 -0
  16. package/dist/ThreeVideo.d.ts +21 -0
  17. package/dist/ThreeVideo.d.ts.map +1 -0
  18. package/dist/ThreeVideo.js +28 -0
  19. package/dist/ThreeVideo.js.map +1 -0
  20. package/dist/context-bridge.d.ts +3 -0
  21. package/dist/context-bridge.d.ts.map +1 -0
  22. package/dist/context-bridge.js +24 -0
  23. package/dist/context-bridge.js.map +1 -0
  24. package/dist/index.d.ts +0 -0
  25. package/dist/index.d.ts.map +0 -0
  26. package/dist/index.js +0 -0
  27. package/dist/index.js.map +0 -0
  28. package/dist/use-video-texture.d.ts +0 -0
  29. package/dist/use-video-texture.d.ts.map +1 -1
  30. package/dist/use-video-texture.js +1 -1
  31. package/dist/use-video-texture.js.map +1 -1
  32. package/dist/useVideoTexture.d.ts +10 -0
  33. package/dist/useVideoTexture.d.ts.map +1 -0
  34. package/dist/useVideoTexture.js +66 -0
  35. package/dist/useVideoTexture.js.map +1 -0
  36. package/dist/utils/TexturedShaderMaterial.d.ts +10 -0
  37. package/dist/utils/TexturedShaderMaterial.d.ts.map +1 -0
  38. package/dist/utils/TexturedShaderMaterial.js +19 -0
  39. package/dist/utils/TexturedShaderMaterial.js.map +1 -0
  40. package/package.json +25 -9
@@ -0,0 +1,5 @@
1
+ @remotion/three:build: cache hit, replaying output f9eb304945567ad4
2
+ @remotion/three:build: 
3
+ @remotion/three:build: > @remotion/three@2.6.16 build /Users/jonathanburger/remotion/packages/three
4
+ @remotion/three:build: > tsc -d
5
+ @remotion/three:build: 
@@ -0,0 +1,5 @@
1
+ @remotion/three:lint: cache hit, replaying output fbfcaf4a7255869f
2
+ @remotion/three:lint: 
3
+ @remotion/three:lint: > @remotion/three@2.6.15 lint /Users/jonathanburger/remotion/packages/three
4
+ @remotion/three:lint: > eslint src --ext ts,tsx
5
+ @remotion/three:lint: 
package/LICENSE.md CHANGED
@@ -7,7 +7,7 @@ Depending on the type of your legal entity, you are granted permission to use Re
7
7
 
8
8
  ## Free license
9
9
 
10
- Copyright © 2021 [Jonny Burger](https://jonny.io)
10
+ Copyright © 2022 [Jonny Burger](https://jonny.io)
11
11
 
12
12
  ### Eligibility
13
13
 
@@ -32,7 +32,7 @@ The software is provided "as is", without warranty of any kind, express or impli
32
32
 
33
33
  ### Support
34
34
 
35
- Support is provided on a best-we-can-do basis via GitHub Issues.
35
+ Support is provided on a best-we-can-do basis via GitHub Issues and Discord.
36
36
 
37
37
  ## Company license
38
38
 
@@ -1,3 +1,5 @@
1
1
  import React from 'react';
2
- export declare const SuspenseLoader: React.FC;
2
+ export declare const SuspenseLoader: React.FC<{
3
+ children: React.ReactNode;
4
+ }>;
3
5
  //# sourceMappingURL=SuspenseLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuspenseLoader.d.ts","sourceRoot":"","sources":["../src/SuspenseLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAa7D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAElC,CAAC"}
1
+ {"version":3,"file":"SuspenseLoader.d.ts","sourceRoot":"","sources":["../src/SuspenseLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAe7D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAEA,CAAC"}
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const remotion_1 = require("remotion");
7
7
  const Unblocker = () => {
8
- const [handle] = (0, react_1.useState)(() => (0, remotion_1.delayRender)());
8
+ const [handle] = (0, react_1.useState)(() => (0, remotion_1.delayRender)(`Waiting for <Suspense /> of <ThreeCanvas /> to resolve`));
9
9
  (0, react_1.useEffect)(() => {
10
10
  return () => {
11
11
  (0, remotion_1.continueRender)(handle);
@@ -14,7 +14,7 @@ const Unblocker = () => {
14
14
  return null;
15
15
  };
16
16
  const SuspenseLoader = ({ children }) => {
17
- return (0, jsx_runtime_1.jsx)(react_1.Suspense, Object.assign({ fallback: (0, jsx_runtime_1.jsx)(Unblocker, {}, void 0) }, { children: children }), void 0);
17
+ return (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)(Unblocker, {}, void 0), children: children }, void 0);
18
18
  };
19
19
  exports.SuspenseLoader = SuspenseLoader;
20
20
  //# sourceMappingURL=SuspenseLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuspenseLoader.js","sourceRoot":"","sources":["../src/SuspenseLoader.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6D;AAC7D,uCAAuD;AAEvD,MAAM,SAAS,GAAa,GAAG,EAAE;IAChC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC;IAC/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE;YACX,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,cAAc,GAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxD,OAAO,uBAAC,gBAAQ,kBAAC,QAAQ,EAAE,uBAAC,SAAS,aAAG,gBAAG,QAAQ,YAAY,CAAC;AACjE,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
1
+ {"version":3,"file":"SuspenseLoader.js","sourceRoot":"","sources":["../src/SuspenseLoader.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6D;AAC7D,uCAAuD;AAEvD,MAAM,SAAS,GAAa,GAAG,EAAE;IAChC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAC9B,IAAA,sBAAW,EAAC,wDAAwD,CAAC,CACrE,CAAC;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE;YACX,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,cAAc,GAEtB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrB,OAAO,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,uBAAC,SAAS,aAAG,YAAG,QAAQ,WAAY,CAAC;AACjE,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB"}
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  export declare type ThreeCanvasProps = React.ComponentProps<typeof Canvas> & {
4
4
  width: number;
5
5
  height: number;
6
+ children: React.ReactNode;
6
7
  };
7
8
  export declare const ThreeCanvas: (props: ThreeCanvasProps) => JSX.Element;
8
9
  //# sourceMappingURL=ThreeCanvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeCanvas.d.ts","sourceRoot":"","sources":["../src/ThreeCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAiD,MAAM,OAAO,CAAC;AAItE,oBAAY,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAaF,eAAO,MAAM,WAAW,UAAW,gBAAgB,gBAuClD,CAAC"}
1
+ {"version":3,"file":"ThreeCanvas.d.ts","sourceRoot":"","sources":["../src/ThreeCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAiD,MAAM,OAAO,CAAC;AAItE,oBAAY,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAaF,eAAO,MAAM,WAAW,UAAW,gBAAgB,gBAyClD,CAAC"}
@@ -18,7 +18,7 @@ const Scale = ({ width, height }) => {
18
18
  };
19
19
  const ThreeCanvas = (props) => {
20
20
  const { children, width, height, style, onCreated, ...rest } = props;
21
- const [waitForCreated] = (0, react_1.useState)(() => (0, remotion_1.delayRender)());
21
+ const [waitForCreated] = (0, react_1.useState)(() => (0, remotion_1.delayRender)('Waiting for <ThreeCanvas/> to be created'));
22
22
  remotion_1.Internals.validateDimension(width, 'width', 'of the <ThreeCanvas /> component');
23
23
  remotion_1.Internals.validateDimension(height, 'height', 'of the <ThreeCanvas /> component');
24
24
  const contexts = remotion_1.Internals.useRemotionContexts();
@@ -31,7 +31,7 @@ const ThreeCanvas = (props) => {
31
31
  (0, remotion_1.continueRender)(waitForCreated);
32
32
  onCreated === null || onCreated === void 0 ? void 0 : onCreated(state);
33
33
  }, [onCreated, waitForCreated]);
34
- return ((0, jsx_runtime_1.jsx)(SuspenseLoader_1.SuspenseLoader, { children: (0, jsx_runtime_1.jsxs)(fiber_1.Canvas, Object.assign({ style: actualStyle }, rest, { onCreated: remotion_onCreated }, { children: [(0, jsx_runtime_1.jsx)(Scale, { width: width, height: height }, void 0), (0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionContextProvider, Object.assign({ contexts: contexts }, { children: children }), void 0)] }), void 0) }, void 0));
34
+ return ((0, jsx_runtime_1.jsx)(SuspenseLoader_1.SuspenseLoader, { children: (0, jsx_runtime_1.jsxs)(fiber_1.Canvas, { style: actualStyle, ...rest, onCreated: remotion_onCreated, children: [(0, jsx_runtime_1.jsx)(Scale, { width: width, height: height }, void 0), (0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionContextProvider, { contexts: contexts, children: children }, void 0)] }, void 0) }, void 0));
35
35
  };
36
36
  exports.ThreeCanvas = ThreeCanvas;
37
37
  //# sourceMappingURL=ThreeCanvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeCanvas.js","sourceRoot":"","sources":["../src/ThreeCanvas.tsx"],"names":[],"mappings":";;;;AAAA,8CAAiE;AACjE,iCAAsE;AACtE,uCAAkE;AAClE,qDAAkD;AAOlD,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAqC,EAAE,EAAE;IACtE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAA,uBAAe,EAAC,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACtD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,CAAC,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC;IAEvD,oBAAS,CAAC,iBAAiB,CAC1B,KAAK,EACL,OAAO,EACP,kCAAkC,CAClC,CAAC;IACF,oBAAS,CAAC,iBAAiB,CAC1B,MAAM,EACN,QAAQ,EACR,kCAAkC,CAClC,CAAC;IACF,MAAM,QAAQ,GAAG,oBAAS,CAAC,mBAAmB,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;KAChB,CAAC;IAEF,MAAM,kBAAkB,GAAqB,IAAA,mBAAW,EACvD,CAAC,KAAgB,EAAE,EAAE;QACpB,IAAA,yBAAc,EAAC,cAAc,CAAC,CAAC;QAC/B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,CAAC,CAAC;IACpB,CAAC,EACD,CAAC,SAAS,EAAE,cAAc,CAAC,CAC3B,CAAC;IAEF,OAAO,CACN,uBAAC,+BAAc,cACd,wBAAC,cAAM,kBAAC,KAAK,EAAE,WAAW,IAAM,IAAI,IAAE,SAAS,EAAE,kBAAkB,iBAClE,uBAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,WAAI,EACvC,uBAAC,oBAAS,CAAC,uBAAuB,kBAAC,QAAQ,EAAE,QAAQ,gBACnD,QAAQ,YAC0B,aAC5B,WACO,CACjB,CAAC;AACH,CAAC,CAAC;AAvCW,QAAA,WAAW,eAuCtB"}
1
+ {"version":3,"file":"ThreeCanvas.js","sourceRoot":"","sources":["../src/ThreeCanvas.tsx"],"names":[],"mappings":";;;;AAAA,8CAAiE;AACjE,iCAAsE;AACtE,uCAAkE;AAClE,qDAAkD;AAQlD,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAqC,EAAE,EAAE;IACtE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAA,uBAAe,EAAC,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACtD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,CAAC,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CACtC,IAAA,sBAAW,EAAC,0CAA0C,CAAC,CACvD,CAAC;IAEF,oBAAS,CAAC,iBAAiB,CAC1B,KAAK,EACL,OAAO,EACP,kCAAkC,CAClC,CAAC;IACF,oBAAS,CAAC,iBAAiB,CAC1B,MAAM,EACN,QAAQ,EACR,kCAAkC,CAClC,CAAC;IACF,MAAM,QAAQ,GAAG,oBAAS,CAAC,mBAAmB,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;KAChB,CAAC;IAEF,MAAM,kBAAkB,GAAqB,IAAA,mBAAW,EACvD,CAAC,KAAgB,EAAE,EAAE;QACpB,IAAA,yBAAc,EAAC,cAAc,CAAC,CAAC;QAC/B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,CAAC,CAAC;IACpB,CAAC,EACD,CAAC,SAAS,EAAE,cAAc,CAAC,CAC3B,CAAC;IAEF,OAAO,CACN,uBAAC,+BAAc,cACd,wBAAC,cAAM,IAAC,KAAK,EAAE,WAAW,KAAM,IAAI,EAAE,SAAS,EAAE,kBAAkB,aAClE,uBAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,WAAI,EACvC,uBAAC,oBAAS,CAAC,uBAAuB,IAAC,QAAQ,EAAE,QAAQ,YACnD,QAAQ,WAC0B,YAC5B,WACO,CACjB,CAAC;AACH,CAAC,CAAC;AAzCW,QAAA,WAAW,eAyCtB"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface RemotionThreeContextType {
3
+ useDomNode: (node: React.ReactElement) => void;
4
+ }
5
+ export declare const RemotionThreeContext: React.Context<RemotionThreeContextType | undefined>;
6
+ //# sourceMappingURL=ThreeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeContext.d.ts","sourceRoot":"","sources":["../src/ThreeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,wBAAwB;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,oBAAoB,qDAErB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RemotionThreeContext = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ exports.RemotionThreeContext = react_1.default.createContext(undefined);
9
+ //# sourceMappingURL=ThreeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeContext.js","sourceRoot":"","sources":["../src/ThreeContext.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAMb,QAAA,oBAAoB,GAAG,eAAK,CAAC,aAAa,CAErD,SAAS,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { MaterialNode, MeshProps } from '@react-three/fiber';
2
+ import React from 'react';
3
+ import { UseVideoTextureOptions } from './useVideoTexture';
4
+ import './utils/TexturedShaderMaterial';
5
+ import { TexturedShaderMaterial, TexturedShaderMaterialParameters } from './utils/TexturedShaderMaterial';
6
+ declare global {
7
+ namespace JSX {
8
+ interface IntrinsicElements {
9
+ texturedShaderMaterial: MaterialNode<TexturedShaderMaterial, [
10
+ TexturedShaderMaterialParameters
11
+ ]>;
12
+ }
13
+ }
14
+ }
15
+ export interface ThreeVideoProps extends MeshProps, Pick<UseVideoTextureOptions, 'src' | 'startFrom'> {
16
+ fullViewport?: boolean;
17
+ ignoreDepth?: boolean;
18
+ videoProps?: UseVideoTextureOptions;
19
+ }
20
+ export declare const ThreeVideo: React.ForwardRefExoticComponent<Pick<ThreeVideoProps, string | number> & React.RefAttributes<React.ComponentType<"mesh">>>;
21
+ //# sourceMappingURL=ThreeVideo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeVideo.d.ts","sourceRoot":"","sources":["../src/ThreeVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAY,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,gCAAgC,CAAC;AACxC,OAAO,EACN,sBAAsB,EACtB,gCAAgC,EAChC,MAAM,gCAAgC,CAAC;AAcxC,OAAO,CAAC,MAAM,CAAC;IAEd,UAAU,GAAG,CAAC;QACb,UAAU,iBAAiB;YAC1B,sBAAsB,EAAE,YAAY,CACnC,sBAAsB,EACtB;gBAAC,gCAAgC;aAAC,CAClC,CAAC;SACF;KACD;CACD;AAED,MAAM,WAAW,eAChB,SAAQ,SAAS,EAChB,IAAI,CAAC,sBAAsB,EAAE,KAAK,GAAG,WAAW,CAAC;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED,eAAO,MAAM,UAAU,4HAsCtB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ThreeVideo = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const fiber_1 = require("@react-three/fiber");
9
+ const react_1 = __importDefault(require("react"));
10
+ const three_1 = require("three");
11
+ const useVideoTexture_1 = require("./useVideoTexture");
12
+ require("./utils/TexturedShaderMaterial");
13
+ const vShaderFullViewport = three_1.ShaderLib.basic.vertexShader.replace('#include <project_vertex>', `
14
+ vec4 mvPosition = vec4( transformed, 1.0 );
15
+ #ifdef USE_INSTANCING
16
+ mvPosition = instanceMatrix * mvPosition;
17
+ #endif
18
+ mvPosition = modelViewMatrix * mvPosition;
19
+ gl_Position = vec4(position * 2.0, 1.0);
20
+ `);
21
+ exports.ThreeVideo = react_1.default.forwardRef((props, ref) => {
22
+ const { fullViewport, ignoreDepth, src, startFrom, videoProps, ...rest } = props;
23
+ const [size] = fiber_1.useThree((s) => [s.size]);
24
+ const videoTexture = useVideoTexture_1.useVideoTexture({ src, startFrom, ...videoProps });
25
+ return (jsx_runtime_1.jsxs("mesh", Object.assign({ ref: ref, scale: [size.width, size.height, 1], renderOrder: ignoreDepth ? -2 : undefined }, rest, { children: [jsx_runtime_1.jsx("planeGeometry", { args: [1, 1] }, void 0),
26
+ videoTexture && (jsx_runtime_1.jsx("texturedShaderMaterial", { vertexShader: fullViewport ? vShaderFullViewport : three_1.ShaderLib.basic.vertexShader, fragmentShader: three_1.ShaderLib.basic.fragmentShader, uniforms: three_1.ShaderLib.basic.uniforms, map: videoTexture, depthTest: !ignoreDepth, depthWrite: !ignoreDepth }, void 0))] }), void 0));
27
+ });
28
+ //# sourceMappingURL=ThreeVideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeVideo.js","sourceRoot":"","sources":["../src/ThreeVideo.tsx"],"names":[],"mappings":";;;;;;;AAAA,8CAAuE;AACvE,kDAA0B;AAC1B,iCAAkC;AAClC,uDAA4E;AAC5E,0CAAwC;AAMxC,MAAM,mBAAmB,GAAG,iBAAS,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAC/D,2BAA2B,EAC3B;;;;;;;CAOA,CACA,CAAC;AAsBW,QAAA,UAAU,GAAG,eAAK,CAAC,UAAU,CACzC,CACC,KAAsB,EACtB,GAAoD,EACnD,EAAE;IACH,MAAM,EACL,YAAY,EACZ,WAAW,EACX,GAAG,EACH,SAAS,EACT,UAAU,EACV,GAAG,IAAI,EACP,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAU,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,iCAAe,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IACxE,OAAO,CACN,2CACC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACnC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IACrC,IAAI,eAER,qCAAe,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,WAAI;YAC9B,YAAY,IAAI,CAChB,8CACC,YAAY,EACX,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAS,CAAC,KAAK,CAAC,YAAY,EAElE,cAAc,EAAE,iBAAS,CAAC,KAAK,CAAC,cAAc,EAC9C,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,QAAQ,EAClC,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,CAAC,WAAW,EACvB,UAAU,EAAE,CAAC,WAAW,WACvB,CACF,aACK,CACP,CAAC;AACH,CAAC,CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function useContextBridge(...contexts: Array<React.Context<any>>): never[];
3
+ //# sourceMappingURL=context-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-bridge.d.ts","sourceRoot":"","sources":["../src/context-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,gBAAgB,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAmBtE"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useContextBridge = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ function useContextBridge(...contexts) {
9
+ const cRef = react_1.default.useRef([]);
10
+ cRef.current = contexts.map((context) => react_1.default.useContext(context));
11
+ return react_1.default.useMemo(() => ({ children }) => (contexts.reduceRight((acc, Context, i) => value = { cRef, : .current[i] }, children = { acc } / >
12
+ ),
13
+ children
14
+ /*
15
+ * done this way in reference to:
16
+ * https://github.com/DefinitelyTyped/DefinitelyTyped/issues/44572#issuecomment-625878049
17
+ * https://github.com/microsoft/TypeScript/issues/14729
18
+ */
19
+ )),
20
+ [];
21
+ ;
22
+ }
23
+ exports.useContextBridge = useContextBridge;
24
+ //# sourceMappingURL=context-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-bridge.js","sourceRoot":"","sources":["../src/context-bridge.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,SAAgB,gBAAgB,CAAC,GAAG,QAAmC;IACtE,MAAM,IAAI,GAAG,eAAK,CAAC,MAAM,CAA4B,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpE,OAAO,eAAK,CAAC,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAiC,EAAe,EAAE,CAClE,CAAC,QAAQ,CAAC,WAAW,CACpB,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CACD,KAAK,GAAC,EAAC,IAAI,EAAA,EAAA,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,EAAC,QAAQ,GAAC,EAAC,GAAG,EAAC,GAAE;QAC3D,AAD4D,JAAA,CAC3D;QACD,QAAQ;IACR;;;;OAIG;KACQ,CAAgB;QAC7B,EAAE,CAAA;IACF,CAAC;AACH,CAAC;AAnBD,4CAmBC"}
package/dist/index.d.ts CHANGED
File without changes
File without changes
package/dist/index.js CHANGED
File without changes
package/dist/index.js.map CHANGED
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"use-video-texture.d.ts","sourceRoot":"","sources":["../src/use-video-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAgD,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,gBAAgB;QACzB,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KACrD;CACD;AAED,oBAAY,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAexE,eAAO,MAAM,eAAe,aACjB,MAAM,SAAS,CAAC,gBAAgB,CAAC,KACzC,YAAY,GAAG,IAgEjB,CAAC"}
1
+ {"version":3,"file":"use-video-texture.d.ts","sourceRoot":"","sources":["../src/use-video-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAgD,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,gBAAgB;QACzB,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KACrD;CACD;AAED,oBAAY,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAexE,eAAO,MAAM,eAAe,aACjB,MAAM,SAAS,CAAC,gBAAgB,CAAC,KACzC,YAAY,GAAG,IAkEjB,CAAC"}
@@ -32,7 +32,7 @@ const warnAboutRequestVideoFrameCallback = () => {
32
32
  console.warn('Browser does not support requestVideoFrameCallback. Cannot display video.');
33
33
  };
34
34
  const useVideoTexture = (videoRef) => {
35
- const [loaded] = (0, react_1.useState)(() => (0, remotion_1.delayRender)());
35
+ const [loaded] = (0, react_1.useState)(() => (0, remotion_1.delayRender)(`Waiting for texture in useVideoTexture() to be loaded`));
36
36
  const [videoTexture, setVideoTexture] = (0, react_1.useState)(null);
37
37
  const frame = (0, remotion_1.useCurrentFrame)();
38
38
  const onReady = (0, react_1.useCallback)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-video-texture.js","sourceRoot":"","sources":["../src/use-video-texture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,uCAA+E;AAC/E,iCAAqC;AAUrC,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB,MAAM,kCAAkC,GAAG,GAAG,EAAE;IAC/C,IAAI,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACb;IAED,MAAM,GAAG,IAAI,CAAC;IACd,OAAO,CAAC,IAAI,CACX,2EAA2E,CAC3E,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAC9B,QAA2C,EACrB,EAAE;IACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAsB,IAAI,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAA,0BAAe,GAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACnC;QAED,MAAM,EAAE,GAAG,IAAI,oBAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QACvD,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACtB,OAAO;SACP;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;YACrC,OAAO,EAAE,CAAC;YACV,OAAO;SACP;QAED,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAChC,YAAY,EACZ,GAAG,EAAE;YACJ,OAAO,EAAE,CAAC;QACX,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE;YACb,OAAO;SACP;QAED,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACvC,kCAAkC,EAAE,CAAC;YACrC,OAAO;SACP;QAED,MAAM,KAAK,GAAG,GAAG,EAAE;YAClB,0EAA0E;YAC1E,6BAA6B;QAC9B,CAAC,CAAC;QAEF,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,IACC,OAAO,gBAAgB,KAAK,WAAW;QACvC,CAAC,gBAAgB,CAAC,SAAS,CAAC,yBAAyB,EACpD;QACD,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAlEW,QAAA,eAAe,mBAkE1B"}
1
+ {"version":3,"file":"use-video-texture.js","sourceRoot":"","sources":["../src/use-video-texture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,uCAA+E;AAC/E,iCAAqC;AAUrC,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB,MAAM,kCAAkC,GAAG,GAAG,EAAE;IAC/C,IAAI,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACb;IAED,MAAM,GAAG,IAAI,CAAC;IACd,OAAO,CAAC,IAAI,CACX,2EAA2E,CAC3E,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAC9B,QAA2C,EACrB,EAAE;IACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAC9B,IAAA,sBAAW,EAAC,uDAAuD,CAAC,CACpE,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAsB,IAAI,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAA,0BAAe,GAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACnC;QAED,MAAM,EAAE,GAAG,IAAI,oBAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QACvD,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACtB,OAAO;SACP;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;YACrC,OAAO,EAAE,CAAC;YACV,OAAO;SACP;QAED,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAChC,YAAY,EACZ,GAAG,EAAE;YACJ,OAAO,EAAE,CAAC;QACX,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE;YACb,OAAO;SACP;QAED,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACvC,kCAAkC,EAAE,CAAC;YACrC,OAAO;SACP;QAED,MAAM,KAAK,GAAG,GAAG,EAAE;YAClB,0EAA0E;YAC1E,6BAA6B;QAC9B,CAAC,CAAC;QAEF,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,IACC,OAAO,gBAAgB,KAAK,WAAW;QACvC,CAAC,gBAAgB,CAAC,SAAS,CAAC,yBAAyB,EACpD;QACD,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AApEW,QAAA,eAAe,mBAoE1B"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { Video } from 'remotion';
3
+ declare global {
4
+ interface HTMLVideoElement {
5
+ requestVideoFrameCallback?: (cb: () => void) => void;
6
+ }
7
+ }
8
+ export declare type UseVideoTextureOptions = React.ComponentProps<typeof Video>;
9
+ export declare const useVideoTexture: (videoProps: UseVideoTextureOptions) => any;
10
+ //# sourceMappingURL=useVideoTexture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVideoTexture.d.ts","sourceRoot":"","sources":["../src/useVideoTexture.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAgD,KAAK,EAAE,MAAM,UAAU,CAAC;AAI/E,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,gBAAgB;QACzB,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KACrD;CACD;AAED,oBAAY,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAExE,eAAO,MAAM,eAAe,eAAgB,sBAAsB,QAoDjE,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.useVideoTexture = void 0;
23
+ const jsx_runtime_1 = require("react/jsx-runtime");
24
+ const fiber_1 = require("@react-three/fiber");
25
+ const react_1 = __importStar(require("react"));
26
+ const remotion_1 = require("remotion");
27
+ const three_1 = require("three");
28
+ const ThreeContext_1 = require("./ThreeContext");
29
+ const useVideoTexture = (videoProps) => {
30
+ const render = fiber_1.useThree((s) => s.invalidate);
31
+ const videoRef = react_1.default.useRef(null);
32
+ const [videoTexture, setVideoTexture] = react_1.default.useState(null);
33
+ const onLoadedData = react_1.useCallback(() => {
34
+ const { current } = videoRef;
35
+ if (!current) {
36
+ throw new Error('No video ref found');
37
+ }
38
+ const vt = new three_1.VideoTexture(current);
39
+ current.width = current.videoWidth;
40
+ current.height = current.videoHeight;
41
+ vt.needsUpdate = true;
42
+ setVideoTexture(vt);
43
+ }, []);
44
+ const frame = remotion_1.useCurrentFrame();
45
+ react_1.default.useEffect(() => {
46
+ const video = videoRef.current;
47
+ if (!video || !videoTexture) {
48
+ return;
49
+ }
50
+ if (!video.requestVideoFrameCallback) {
51
+ throw new Error('HTMLVideoElement.requestVideoFrameCallback not supported');
52
+ }
53
+ const handle = remotion_1.delayRender();
54
+ // wait for the video to render its next frame
55
+ video.requestVideoFrameCallback(() => {
56
+ // Now force a new render so the latest video frame shows up in the canvas
57
+ render();
58
+ // Allow remotion to continue
59
+ remotion_1.continueRender(handle);
60
+ });
61
+ }, [frame, render, videoTexture]);
62
+ ThreeContext_1.useRemotionThreeDomNode(jsx_runtime_1.jsx(remotion_1.Video, Object.assign({}, videoProps, { ref: videoRef, onLoadedData: onLoadedData, crossOrigin: "anonymous", style: { width: 800, height: 500 } }), void 0));
63
+ return videoTexture;
64
+ };
65
+ exports.useVideoTexture = useVideoTexture;
66
+ //# sourceMappingURL=useVideoTexture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVideoTexture.js","sourceRoot":"","sources":["../src/useVideoTexture.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA8C;AAC9C,+CAA2C;AAC3C,uCAA+E;AAC/E,iCAAqC;AACrC,iDAAyD;AAUlD,MAAM,eAAe,GAAG,CAAC,UAAkC,EAAE,EAAE;IACrE,MAAM,MAAM,GAAG,gBAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAA0B,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,eAAK,CAAC,QAAQ,CACrD,IAAI,CACJ,CAAC;IAEF,MAAM,YAAY,GAAG,mBAAW,CAAC,GAAG,EAAE;QACrC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACtC;QACD,MAAM,EAAE,GAAG,IAAI,oBAAY,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QACrC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;QACtB,eAAe,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,0BAAe,EAAE,CAAC;IAChC,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5B,OAAO;SACP;QACD,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACrC,MAAM,IAAI,KAAK,CACd,0DAA0D,CAC1D,CAAC;SACF;QACD,MAAM,MAAM,GAAG,sBAAW,EAAE,CAAC;QAC7B,8CAA8C;QAC9C,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE;YACpC,0EAA0E;YAC1E,MAAM,EAAE,CAAC;YACT,6BAA6B;YAC7B,yBAAc,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAElC,sCAAuB,CACtB,kBAAC,gBAAK,oBACD,UAAU,IACd,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAC,WAAW,EACvB,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YACjC,CACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AApDW,QAAA,eAAe,mBAoD1B"}
@@ -0,0 +1,10 @@
1
+ import { ShaderMaterial, ShaderMaterialParameters, Texture } from 'three';
2
+ export interface TexturedShaderMaterialParameters extends ShaderMaterialParameters {
3
+ map?: Texture;
4
+ }
5
+ export declare class TexturedShaderMaterial extends ShaderMaterial {
6
+ constructor(params?: TexturedShaderMaterialParameters);
7
+ get map(): Texture | null;
8
+ set map(value: Texture | null);
9
+ }
10
+ //# sourceMappingURL=TexturedShaderMaterial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TexturedShaderMaterial.d.ts","sourceRoot":"","sources":["../../src/utils/TexturedShaderMaterial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE1E,MAAM,WAAW,gCAChB,SAAQ,wBAAwB;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC7C,MAAM,CAAC,EAAE,gCAAgC;IAIrD,IAAW,GAAG,IAAI,OAAO,GAAG,IAAI,CAE/B;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,EAEnC;CACD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TexturedShaderMaterial = void 0;
4
+ const fiber_1 = require("@react-three/fiber");
5
+ const three_1 = require("three");
6
+ class TexturedShaderMaterial extends three_1.ShaderMaterial {
7
+ constructor(params) {
8
+ super(params);
9
+ }
10
+ get map() {
11
+ return this.uniforms.map.value;
12
+ }
13
+ set map(value) {
14
+ this.uniforms.map.value = value;
15
+ }
16
+ }
17
+ exports.TexturedShaderMaterial = TexturedShaderMaterial;
18
+ fiber_1.extend({ TexturedShaderMaterial });
19
+ //# sourceMappingURL=TexturedShaderMaterial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TexturedShaderMaterial.js","sourceRoot":"","sources":["../../src/utils/TexturedShaderMaterial.ts"],"names":[],"mappings":";;;AAAA,8CAA4C;AAC5C,iCAA0E;AAO1E,MAAa,sBAAuB,SAAQ,sBAAc;IACzD,YAAY,MAAyC;QACpD,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,IAAW,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,IAAW,GAAG,CAAC,KAAqB;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IACjC,CAAC;CACD;AAZD,wDAYC;AAED,cAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@remotion/three",
3
- "version": "3.0.0-wrappedup.220+081e94bea",
3
+ "version": "3.0.0",
4
4
  "description": "Utility functions for using react-three-fiber with remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "sideEffects": false,
8
8
  "scripts": {
9
- "test": "eslint src --ext ts,tsx",
9
+ "lint": "eslint src --ext ts,tsx",
10
10
  "watch": "tsc -w",
11
11
  "build": "tsc -d"
12
12
  },
@@ -16,27 +16,43 @@
16
16
  "repository": {
17
17
  "url": "https://github.com/remotion-dev/remotion"
18
18
  },
19
+ "bugs": {
20
+ "url": "https://github.com/remotion-dev/remotion/issues"
21
+ },
19
22
  "dependencies": {
20
- "remotion": "3.0.0-wrappedup.220+081e94bea"
23
+ "remotion": "3.0.0"
21
24
  },
22
25
  "peerDependencies": {
23
26
  "@react-three/fiber": ">=7.0.19",
24
- "react": ">=17.0.1",
25
- "react-dom": ">=17.0.1",
27
+ "react": ">=16.8.0",
28
+ "react-dom": ">=16.8.0",
26
29
  "three": ">=0.134.0"
27
30
  },
28
31
  "devDependencies": {
29
- "@jonny/eslint-config": "^2.1.248",
32
+ "@jonny/eslint-config": "3.0.259",
33
+ "@react-three/fiber": ">=7.0.26",
30
34
  "@types/node": "^14.14.14",
35
+ "@types/react": "18.0.1",
36
+ "@types/react-reconciler": "^0.26.4",
31
37
  "@types/three": "^0.134.0",
32
- "eslint": "^7.4.0",
38
+ "eslint": "8.13.0",
33
39
  "prettier": "^2.0.5",
34
40
  "prettier-plugin-organize-imports": "^1.1.1",
41
+ "react": "18.0.0",
42
+ "react-dom": "18.0.0",
35
43
  "three": "^0.134.0",
36
- "typescript": "^4.4.2"
44
+ "typescript": "^4.5.5"
37
45
  },
46
+ "keywords": [
47
+ "remotion",
48
+ "ffmpeg",
49
+ "video",
50
+ "react",
51
+ "puppeteer",
52
+ "player"
53
+ ],
38
54
  "publishConfig": {
39
55
  "access": "public"
40
56
  },
41
- "gitHead": "081e94bea82c13cffd1bc833cadcbdd80517f215"
57
+ "gitHead": "f2185ad4b5d6e41a7cd4c87866599ca73307cc37"
42
58
  }