@twick/visualizer 0.14.0 → 0.14.2

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 (63) hide show
  1. package/.eslintrc.json +20 -20
  2. package/README.md +12 -12
  3. package/package.json +13 -13
  4. package/package.json.bak +34 -0
  5. package/src/animations/blur.tsx +60 -60
  6. package/src/animations/breathe.tsx +60 -60
  7. package/src/animations/fade.tsx +60 -60
  8. package/src/animations/photo-rise.tsx +66 -66
  9. package/src/animations/photo-zoom.tsx +73 -73
  10. package/src/animations/rise.tsx +118 -118
  11. package/src/animations/succession.tsx +77 -77
  12. package/src/components/frame-effects.tsx +188 -188
  13. package/src/components/track.tsx +237 -232
  14. package/src/controllers/animation.controller.ts +38 -38
  15. package/src/controllers/element.controller.ts +42 -42
  16. package/src/controllers/frame-effect.controller.tsx +29 -29
  17. package/src/controllers/text-effect.controller.ts +32 -32
  18. package/src/elements/audio.element.tsx +17 -17
  19. package/src/elements/caption.element.tsx +87 -87
  20. package/src/elements/circle.element.tsx +20 -20
  21. package/src/elements/icon.element.tsx +20 -20
  22. package/src/elements/image.element.tsx +53 -55
  23. package/src/elements/rect.element.tsx +22 -22
  24. package/src/elements/scene.element.tsx +29 -29
  25. package/src/elements/text.element.tsx +27 -27
  26. package/src/elements/video.element.tsx +55 -56
  27. package/src/frame-effects/circle.frame.tsx +103 -103
  28. package/src/frame-effects/rect.frame.tsx +103 -103
  29. package/src/global.css +11 -11
  30. package/src/helpers/caption.utils.ts +29 -29
  31. package/src/helpers/constants.ts +162 -158
  32. package/src/helpers/element.utils.ts +239 -239
  33. package/src/helpers/event.utils.ts +6 -0
  34. package/src/helpers/filters.ts +127 -127
  35. package/src/helpers/log.utils.ts +29 -29
  36. package/src/helpers/timing.utils.ts +109 -109
  37. package/src/helpers/types.ts +242 -241
  38. package/src/helpers/utils.ts +19 -19
  39. package/src/index.ts +6 -6
  40. package/src/live.tsx +16 -16
  41. package/src/project.ts +6 -6
  42. package/src/sample.ts +247 -247
  43. package/src/text-effects/elastic.tsx +39 -39
  44. package/src/text-effects/erase.tsx +58 -58
  45. package/src/text-effects/stream-word.tsx +60 -60
  46. package/src/text-effects/typewriter.tsx +59 -59
  47. package/src/visualizer.tsx +98 -78
  48. package/tsconfig.json +11 -11
  49. package/typedoc.json +14 -14
  50. package/vite.config.ts +15 -15
  51. package/.turbo/turbo-build.log +0 -19
  52. package/.turbo/turbo-docs.log +0 -7
  53. package/LICENSE +0 -197
  54. package/dist/mp4.wasm +0 -0
  55. package/dist/project.css +0 -1
  56. package/dist/project.js +0 -145
  57. package/docs/.nojekyll +0 -1
  58. package/docs/README.md +0 -13
  59. package/docs/interfaces/Animation.md +0 -47
  60. package/docs/interfaces/Element.md +0 -47
  61. package/docs/interfaces/FrameEffectPlugin.md +0 -47
  62. package/docs/interfaces/TextEffect.md +0 -47
  63. package/docs/modules.md +0 -535
@@ -1,58 +1,58 @@
1
- import { waitFor } from "@twick/core";
2
- import { TextEffectParams } from "../helpers/types";
3
-
4
- /**
5
- * EraseEffect animates text disappearing letter by letter,
6
- * simulating an "erasing" or backspace effect.
7
- *
8
- * Behavior:
9
- * - Optionally waits for a delay before starting.
10
- * - Preserves the original element size.
11
- * - Animates removing one character at a time from the end.
12
- *
13
- * @param elementRef - Reference to the text element to animate.
14
- * @param duration - Total duration of the erasing animation.
15
- * @param delay - Optional delay before starting.
16
- * @param bufferTime - Time reserved at the end of animation (default: 0.1).
17
- */
18
- export const EraseEffect = {
19
- name: "erase",
20
-
21
- /**
22
- * Generator function controlling the erase text effect.
23
- */
24
- *run({
25
- elementRef,
26
- duration,
27
- delay,
28
- bufferTime = 0.1,
29
- }: TextEffectParams) {
30
- // Get the full original text
31
- const fullText = elementRef().text();
32
-
33
- // Store the original size to avoid resizing during animation
34
- const size = elementRef().size();
35
-
36
- // Initialize element: clear text, set fixed size, align left
37
- elementRef().setText("");
38
- elementRef().size(size);
39
- elementRef().textAlign("left");
40
-
41
- // Wait for the optional initial delay
42
- if (delay) {
43
- yield* waitFor(delay);
44
- }
45
-
46
- // Compute the time interval between each character removal
47
- let timeInterval = (duration - bufferTime) / fullText.length;
48
-
49
- // Optionally wait a bit before starting erasing
50
- yield* waitFor(timeInterval);
51
-
52
- // Loop backwards through the text and erase one character at a time
53
- for (let i = fullText.length; i >= 0; i--) {
54
- yield* waitFor(timeInterval);
55
- elementRef().setText(fullText.substring(0, i));
56
- }
57
- },
58
- };
1
+ import { waitFor } from "@twick/core";
2
+ import { TextEffectParams } from "../helpers/types";
3
+
4
+ /**
5
+ * EraseEffect animates text disappearing letter by letter,
6
+ * simulating an "erasing" or backspace effect.
7
+ *
8
+ * Behavior:
9
+ * - Optionally waits for a delay before starting.
10
+ * - Preserves the original element size.
11
+ * - Animates removing one character at a time from the end.
12
+ *
13
+ * @param elementRef - Reference to the text element to animate.
14
+ * @param duration - Total duration of the erasing animation.
15
+ * @param delay - Optional delay before starting.
16
+ * @param bufferTime - Time reserved at the end of animation (default: 0.1).
17
+ */
18
+ export const EraseEffect = {
19
+ name: "erase",
20
+
21
+ /**
22
+ * Generator function controlling the erase text effect.
23
+ */
24
+ *run({
25
+ elementRef,
26
+ duration,
27
+ delay,
28
+ bufferTime = 0.1,
29
+ }: TextEffectParams) {
30
+ // Get the full original text
31
+ const fullText = elementRef().text();
32
+
33
+ // Store the original size to avoid resizing during animation
34
+ const size = elementRef().size();
35
+
36
+ // Initialize element: clear text, set fixed size, align left
37
+ elementRef().setText("");
38
+ elementRef().size(size);
39
+ elementRef().textAlign("left");
40
+
41
+ // Wait for the optional initial delay
42
+ if (delay) {
43
+ yield* waitFor(delay);
44
+ }
45
+
46
+ // Compute the time interval between each character removal
47
+ let timeInterval = (duration - bufferTime) / fullText.length;
48
+
49
+ // Optionally wait a bit before starting erasing
50
+ yield* waitFor(timeInterval);
51
+
52
+ // Loop backwards through the text and erase one character at a time
53
+ for (let i = fullText.length; i >= 0; i--) {
54
+ yield* waitFor(timeInterval);
55
+ elementRef().setText(fullText.substring(0, i));
56
+ }
57
+ },
58
+ };
@@ -1,60 +1,60 @@
1
- import { waitFor } from "@twick/core";
2
- import { TextEffectParams } from "../helpers/types";
3
-
4
- /**
5
- * StreamWordEffect animates text appearing word by word,
6
- * creating a smooth "typing" or "streaming" effect.
7
- *
8
- * Behavior:
9
- * - Optionally waits for a delay before starting.
10
- * - Clears the text initially and preserves the original size.
11
- * - Reveals one word at a time with a consistent interval.
12
- *
13
- * @param elementRef - Reference to the text element to animate.
14
- * @param duration - Total duration of the animation.
15
- * @param delay - Optional delay before starting.
16
- * @param bufferTime - Time reserved at the end of animation (default: 0.1).
17
- */
18
- export const StreamWordEffect = {
19
- name: "stream-word",
20
-
21
- /**
22
- * Generator function controlling the word streaming effect.
23
- */
24
- *run({
25
- elementRef,
26
- duration,
27
- delay,
28
- bufferTime = 0.1,
29
- }: TextEffectParams) {
30
- // Retrieve the full text content
31
- const fullText = elementRef().text();
32
-
33
- // Store the element's size to avoid resizing during animation
34
- const size = elementRef().size();
35
-
36
- // Split the text into words
37
- const words = fullText.split(" ");
38
-
39
- // Clear the text and set fixed size
40
- elementRef().setText("");
41
- elementRef().size(size);
42
-
43
- // Wait for optional delay before starting
44
- if (delay) {
45
- yield* waitFor(delay);
46
- }
47
-
48
- // Align text to the left
49
- elementRef().textAlign("left");
50
-
51
- // Calculate the interval between words
52
- let timeInterval =(duration - bufferTime) / words.length;
53
-
54
- // Reveal each word one at a time
55
- for (let i = 0; i < words.length; i++) {
56
- yield* waitFor(timeInterval);
57
- elementRef().setText(words.slice(0, i + 1).join(" "));
58
- }
59
- },
60
- };
1
+ import { waitFor } from "@twick/core";
2
+ import { TextEffectParams } from "../helpers/types";
3
+
4
+ /**
5
+ * StreamWordEffect animates text appearing word by word,
6
+ * creating a smooth "typing" or "streaming" effect.
7
+ *
8
+ * Behavior:
9
+ * - Optionally waits for a delay before starting.
10
+ * - Clears the text initially and preserves the original size.
11
+ * - Reveals one word at a time with a consistent interval.
12
+ *
13
+ * @param elementRef - Reference to the text element to animate.
14
+ * @param duration - Total duration of the animation.
15
+ * @param delay - Optional delay before starting.
16
+ * @param bufferTime - Time reserved at the end of animation (default: 0.1).
17
+ */
18
+ export const StreamWordEffect = {
19
+ name: "stream-word",
20
+
21
+ /**
22
+ * Generator function controlling the word streaming effect.
23
+ */
24
+ *run({
25
+ elementRef,
26
+ duration,
27
+ delay,
28
+ bufferTime = 0.1,
29
+ }: TextEffectParams) {
30
+ // Retrieve the full text content
31
+ const fullText = elementRef().text();
32
+
33
+ // Store the element's size to avoid resizing during animation
34
+ const size = elementRef().size();
35
+
36
+ // Split the text into words
37
+ const words = fullText.split(" ");
38
+
39
+ // Clear the text and set fixed size
40
+ elementRef().setText("");
41
+ elementRef().size(size);
42
+
43
+ // Wait for optional delay before starting
44
+ if (delay) {
45
+ yield* waitFor(delay);
46
+ }
47
+
48
+ // Align text to the left
49
+ elementRef().textAlign("left");
50
+
51
+ // Calculate the interval between words
52
+ let timeInterval =(duration - bufferTime) / words.length;
53
+
54
+ // Reveal each word one at a time
55
+ for (let i = 0; i < words.length; i++) {
56
+ yield* waitFor(timeInterval);
57
+ elementRef().setText(words.slice(0, i + 1).join(" "));
58
+ }
59
+ },
60
+ };
@@ -1,59 +1,59 @@
1
- import { waitFor } from "@twick/core";
2
- import { TextEffectParams } from "../helpers/types";
3
-
4
- /**
5
- * TypewriterEffect animates text appearing one character at a time,
6
- * mimicking the behavior of a classic typewriter.
7
- *
8
- * Behavior:
9
- * - Optionally waits for a delay before starting.
10
- * - Clears the text initially and preserves the element's original size.
11
- * - Reveals one character at a time at a consistent interval.
12
- *
13
- * @param elementRef - Reference to the text element to animate.
14
- * @param duration - Total duration of the animation.
15
- * @param delay - Optional delay before starting.
16
- * @param bufferTime - Time reserved at the end of animation (default: 0.1).
17
- */
18
- export const TypewriterEffect = {
19
- name: "typewriter",
20
-
21
- /**
22
- * Generator function controlling the character-by-character typing animation.
23
- */
24
- *run({
25
- elementRef,
26
- duration,
27
- delay,
28
- bufferTime = 0.1,
29
- }: TextEffectParams) {
30
- // Retrieve the full text content
31
- const fullText = elementRef().text();
32
-
33
- // Store the element's size to prevent resizing during animation
34
- const size = elementRef().size();
35
-
36
- // Clear the text and set fixed size
37
- elementRef().setText("");
38
- elementRef().size(size);
39
-
40
- // Align text to the left for consistent typing effect
41
- elementRef().textAlign("left");
42
-
43
- // Wait for an optional initial delay
44
- if (delay) {
45
- yield* waitFor(delay);
46
- }
47
-
48
- let timeInterval =(duration - bufferTime) / fullText.length;
49
-
50
- // Wait briefly before starting typing
51
- yield* waitFor(timeInterval);
52
-
53
- // Reveal each character one by one
54
- for (let i = 0; i < fullText.length; i++) {
55
- yield* waitFor(timeInterval);
56
- elementRef().setText(fullText.substring(0, i + 1));
57
- }
58
- },
59
- };
1
+ import { waitFor } from "@twick/core";
2
+ import { TextEffectParams } from "../helpers/types";
3
+
4
+ /**
5
+ * TypewriterEffect animates text appearing one character at a time,
6
+ * mimicking the behavior of a classic typewriter.
7
+ *
8
+ * Behavior:
9
+ * - Optionally waits for a delay before starting.
10
+ * - Clears the text initially and preserves the element's original size.
11
+ * - Reveals one character at a time at a consistent interval.
12
+ *
13
+ * @param elementRef - Reference to the text element to animate.
14
+ * @param duration - Total duration of the animation.
15
+ * @param delay - Optional delay before starting.
16
+ * @param bufferTime - Time reserved at the end of animation (default: 0.1).
17
+ */
18
+ export const TypewriterEffect = {
19
+ name: "typewriter",
20
+
21
+ /**
22
+ * Generator function controlling the character-by-character typing animation.
23
+ */
24
+ *run({
25
+ elementRef,
26
+ duration,
27
+ delay,
28
+ bufferTime = 0.1,
29
+ }: TextEffectParams) {
30
+ // Retrieve the full text content
31
+ const fullText = elementRef().text();
32
+
33
+ // Store the element's size to prevent resizing during animation
34
+ const size = elementRef().size();
35
+
36
+ // Clear the text and set fixed size
37
+ elementRef().setText("");
38
+ elementRef().size(size);
39
+
40
+ // Align text to the left for consistent typing effect
41
+ elementRef().textAlign("left");
42
+
43
+ // Wait for an optional initial delay
44
+ if (delay) {
45
+ yield* waitFor(delay);
46
+ }
47
+
48
+ let timeInterval =(duration - bufferTime) / fullText.length;
49
+
50
+ // Wait briefly before starting typing
51
+ yield* waitFor(timeInterval);
52
+
53
+ // Reveal each character one by one
54
+ for (let i = 0; i < fullText.length; i++) {
55
+ yield* waitFor(timeInterval);
56
+ elementRef().setText(fullText.substring(0, i + 1));
57
+ }
58
+ },
59
+ };
@@ -1,78 +1,98 @@
1
- /**
2
- * Main visualizer component that renders the scene with video, audio, captions and other elements
3
- * based on the provided input configuration.
4
- */
5
-
6
- import "./global.css";
7
- import { Rect, makeScene2D, View2D } from "@twick/2d";
8
- import { all, useScene } from "@twick/core";
9
-
10
- import { DEFAULT_BACKGROUND_COLOR, TRACK_TYPES } from "./helpers/constants";
11
- import { VideoInput } from "./helpers/types";
12
- import { logger } from "./helpers/log.utils";
13
- import {
14
- makeAudioTrack,
15
- makeCaptionTrack,
16
- makeElementTrack,
17
- makeSceneTrack,
18
- makeVideoTrack,
19
- } from "./components/track";
20
-
21
- /**
22
- * Creates and configures the main scene for video visualization
23
- * @param {string} name - Name of the scene
24
- * @param {Function} generator - Generator function that handles scene setup and animation
25
- * @returns {Scene2D} Configured scene object
26
- */
27
- export const scene = makeScene2D("scene", function* (view: View2D) {
28
- // Get input configuration from scene variables
29
- const input = useScene().variables.get("input", null)() as VideoInput | null;
30
-
31
- if (input) {
32
- logger("Scene updated", input);
33
-
34
- // Add background rectangle with specified or default color
35
- yield view.add(
36
- <Rect
37
- fill={input.backgroundColor ?? DEFAULT_BACKGROUND_COLOR}
38
- size={"100%"}
39
- />
40
- );
41
-
42
- // Process track elements if present
43
- if (input.tracks) {
44
- const movie = [];
45
- let index = 1;
46
-
47
- // Iterate through each track element and create appropriate visualization
48
- for (const track of input.tracks) {
49
- switch (track.type) {
50
- case TRACK_TYPES.VIDEO:
51
- movie.push(makeVideoTrack({ view, track }));
52
- break;
53
- case TRACK_TYPES.AUDIO:
54
- movie.push(makeAudioTrack({ view, track }));
55
- break;
56
- case TRACK_TYPES.CAPTION:
57
- movie.push(
58
- makeCaptionTrack({
59
- view,
60
- track,
61
- })
62
- );
63
- break;
64
- case TRACK_TYPES.SCENE:
65
- movie.push(makeSceneTrack({ view, track }));
66
- break;
67
- case TRACK_TYPES.ELEMENT:
68
- movie.push(makeElementTrack({ view, track }));
69
- break;
70
- }
71
- index++;
72
- }
73
-
74
- // Execute all track animations in parallel
75
- yield* all(...movie);
76
- }
77
- }
78
- });
1
+ /**
2
+ * Main visualizer component that renders the scene with video, audio, captions and other elements
3
+ * based on the provided input configuration.
4
+ */
5
+
6
+ import "./global.css";
7
+ import { Rect, makeScene2D, View2D } from "@twick/2d";
8
+ import { all, useScene } from "@twick/core";
9
+
10
+ import {
11
+ DEFAULT_BACKGROUND_COLOR,
12
+ EVENT_TYPES,
13
+ TRACK_TYPES,
14
+ } from "./helpers/constants";
15
+ import { VideoInput } from "./helpers/types";
16
+ import { logger } from "./helpers/log.utils";
17
+ import {
18
+ makeAudioTrack,
19
+ makeCaptionTrack,
20
+ makeElementTrack,
21
+ makeSceneTrack,
22
+ makeVideoTrack,
23
+ } from "./components/track";
24
+ import { dispatchWindowEvent } from "./helpers/event.utils";
25
+
26
+ /**
27
+ * Creates and configures the main scene for video visualization
28
+ * @param {string} name - Name of the scene
29
+ * @param {Function} generator - Generator function that handles scene setup and animation
30
+ * @returns {Scene2D} Configured scene object
31
+ */
32
+ export const scene = makeScene2D("scene", function* (view: View2D) {
33
+ // Get input configuration from scene variables
34
+ const input = useScene().variables.get("input", null)() as VideoInput | null;
35
+ const playerId = useScene().variables.get("playerId", null)() as
36
+ | string
37
+ | null;
38
+ if (input) {
39
+ logger("Scene updated", { playerId, input });
40
+ // Add background rectangle with specified or default color
41
+ yield view.add(
42
+ <Rect
43
+ fill={input.backgroundColor ?? DEFAULT_BACKGROUND_COLOR}
44
+ size={"100%"}
45
+ />
46
+ );
47
+
48
+ // Process track elements if present
49
+ if (input.tracks) {
50
+ const movie = [];
51
+ let index = 1;
52
+
53
+ // Iterate through each track element and create appropriate visualization
54
+ for (const track of input.tracks) {
55
+ switch (track.type) {
56
+ case TRACK_TYPES.VIDEO:
57
+ movie.push(makeVideoTrack({ view, track }));
58
+ break;
59
+ case TRACK_TYPES.AUDIO:
60
+ movie.push(makeAudioTrack({ view, track }));
61
+ break;
62
+ case TRACK_TYPES.CAPTION:
63
+ movie.push(
64
+ makeCaptionTrack({
65
+ view,
66
+ track,
67
+ })
68
+ );
69
+ break;
70
+ case TRACK_TYPES.SCENE:
71
+ movie.push(makeSceneTrack({ view, track }));
72
+ break;
73
+ case TRACK_TYPES.ELEMENT:
74
+ movie.push(makeElementTrack({ view, track }));
75
+ break;
76
+ }
77
+ index++;
78
+ }
79
+ // Execute all track animations in parallel
80
+ yield* all(...movie);
81
+ dispatchWindowEvent(EVENT_TYPES.PLAYER_UPDATE, {
82
+ detail: {
83
+ status: "ready",
84
+ playerId: playerId,
85
+ message: "All elements created",
86
+ },
87
+ });
88
+ } else {
89
+ dispatchWindowEvent(EVENT_TYPES.PLAYER_UPDATE, {
90
+ detail: {
91
+ status: "ready",
92
+ playerId: playerId,
93
+ message: "No elements to create",
94
+ },
95
+ });
96
+ }
97
+ }
98
+ });
package/tsconfig.json CHANGED
@@ -1,11 +1,11 @@
1
- {
2
- "extends": "@twick/2d/tsconfig.project.json",
3
- "include": ["src"],
4
- "compilerOptions": {
5
- "noEmit": false,
6
- "outDir": "dist",
7
- "module": "CommonJS",
8
- "skipLibCheck": true,
9
- "jsx": "react-jsx"
10
- }
11
- }
1
+ {
2
+ "extends": "@twick/2d/tsconfig.project.json",
3
+ "include": ["src"],
4
+ "compilerOptions": {
5
+ "noEmit": false,
6
+ "outDir": "dist",
7
+ "module": "CommonJS",
8
+ "skipLibCheck": true,
9
+ "jsx": "react-jsx"
10
+ }
11
+ }
package/typedoc.json CHANGED
@@ -1,15 +1,15 @@
1
- {
2
- "$schema": "https://typedoc.org/schema.json",
3
- "entryPoints": ["./src/index.ts"],
4
- "out": "docs",
5
- "name": "@twick/visualizer",
6
- "excludePrivate": true,
7
- "excludeProtected": true,
8
- "excludeExternals": true,
9
- "theme": "default",
10
- "readme": "README.md",
11
- "plugin": ["typedoc-plugin-markdown"],
12
- "categorizeByGroup": true,
13
- "categoryOrder": ["Core", "Utils", "*"],
14
- "hideBreadcrumbs": true
1
+ {
2
+ "$schema": "https://typedoc.org/schema.json",
3
+ "entryPoints": ["./src/index.ts"],
4
+ "out": "docs",
5
+ "name": "@twick/visualizer",
6
+ "excludePrivate": true,
7
+ "excludeProtected": true,
8
+ "excludeExternals": true,
9
+ "theme": "default",
10
+ "readme": "README.md",
11
+ "plugin": ["typedoc-plugin-markdown"],
12
+ "categorizeByGroup": true,
13
+ "categoryOrder": ["Core", "Utils", "*"],
14
+ "hideBreadcrumbs": true
15
15
  }
package/vite.config.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { defineConfig } from "vite";
2
- import motionCanvas from '@twick/vite-plugin';
3
-
4
- export default defineConfig({
5
- plugins: [motionCanvas()],
6
- build: {
7
- rollupOptions: {
8
- output: {
9
- entryFileNames: '[name].js',
10
- chunkFileNames: '[name].js',
11
- assetFileNames: '[name].[ext]'
12
- }
13
- }
14
- }
15
- });
1
+ import { defineConfig } from "vite";
2
+ import motionCanvas from '@twick/vite-plugin';
3
+
4
+ export default defineConfig({
5
+ plugins: [motionCanvas()],
6
+ build: {
7
+ rollupOptions: {
8
+ output: {
9
+ entryFileNames: '[name].js',
10
+ chunkFileNames: '[name].js',
11
+ assetFileNames: '[name].[ext]'
12
+ }
13
+ }
14
+ }
15
+ });
@@ -1,19 +0,0 @@
1
-
2
- > @twick/visualizer@0.14.0 build C:\GitHub\twick\packages\visualizer
3
- > tsc && vite build
4
-
5
- The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
6
- vite v5.4.19 building for production...
7
- transforming...
8
- ✓ 1551 modules transformed.
9
- rendering chunks...
10
- computing gzip size...
11
- dist/mp4.wasm  41.99 kB
12
- dist/project.css  1.35 kB │ gzip: 0.40 kB
13
- dist/project.js 863.89 kB │ gzip: 250.81 kB
14
- 
15
- ✓ built in 37.73s
16
- (!) Some chunks are larger than 500 kB after minification. Consider:
17
- - Using dynamic import() to code-split the application
18
- - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
19
- - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
@@ -1,7 +0,0 @@
1
-
2
- > @twick/visualizer@0.14.0 docs C:\GitHub\twick\packages\visualizer
3
- > typedoc --out docs src/index.ts
4
-
5
- [info] Loaded plugin typedoc-plugin-markdown
6
- [warning] You are running with an unsupported TypeScript version! If TypeDoc crashes, this is why. TypeDoc supports 4.6, 4.7, 4.8, 4.9, 5.0, 5.1, 5.2, 5.3, 5.4
7
- [info] Documentation generated at ./docs