@d3p1/img2pxl 1.21.3 → 1.22.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.
@@ -1,5 +1,11 @@
1
- import { Pane } from 'tweakpane';
2
1
  import { default as RendererManager } from '../lib/renderer-manager.js';
2
+ import { default as DebugManager } from '../lib/debug-manager.js';
3
+ /**
4
+ * @description Image
5
+ * @author C. M. de Picciotto <d3p1@d3p1.dev> (https://d3p1.dev/)
6
+ * @note This class handles the logic related to the
7
+ * transformation of the image into vertices/points/pixels
8
+ */
3
9
  import * as THREE from 'three';
4
10
  export default class Image {
5
11
  #private;
@@ -11,14 +17,14 @@ export default class Image {
11
17
  * Constructor
12
18
  *
13
19
  * @param {RendererManager} rendererManager
14
- * @param {Pane} debugManager
20
+ * @param {DebugManager} debugManager
15
21
  * @param {string} imageSrc
16
22
  * @param {number} resolutionWidth
17
23
  * @param {number} resolutionHeight
18
24
  * @param {number} pointSize
19
25
  * @param {number} alphaTest
20
26
  */
21
- constructor(rendererManager: RendererManager, debugManager: Pane, imageSrc: string, resolutionWidth: number, resolutionHeight: number, pointSize?: number, alphaTest?: number);
27
+ constructor(rendererManager: RendererManager, debugManager: DebugManager, imageSrc: string, resolutionWidth: number, resolutionHeight: number, pointSize?: number, alphaTest?: number);
22
28
  /**
23
29
  * Enable debug mode
24
30
  *
@@ -1,4 +1,13 @@
1
- import { Pane } from 'tweakpane';
1
+ import { default as DebugManager } from '../../lib/debug-manager.js';
2
+ /**
3
+ * @description Pointer canvas
4
+ * @author C. M. de Picciotto <d3p1@d3p1.dev> (https://d3p1.dev/)
5
+ * @note This canvas will be used as a texture that will be sent
6
+ * to the vertex shader. This texture will be updated
7
+ * to mark where the pointer is in relation with the image.
8
+ * In that way, it allows selecting which vertices/points/pixels
9
+ * should be displaced
10
+ */
2
11
  import * as THREE from 'three';
3
12
  export default class Canvas {
4
13
  #private;
@@ -13,14 +22,14 @@ export default class Canvas {
13
22
  /**
14
23
  * Constructor
15
24
  *
16
- * @param {Pane} debugManager
17
- * @param {number} resolutionWidth
18
- * @param {number} resolutionHeight
19
- * @param {string} pointerImageSrc
20
- * @param {number} pointerImageSize
21
- * @param {number} pointerTrailingFactor
25
+ * @param {DebugManager} debugManager
26
+ * @param {number} resolutionWidth
27
+ * @param {number} resolutionHeight
28
+ * @param {string} pointerImageSrc
29
+ * @param {number} pointerImageSize
30
+ * @param {number} pointerTrailingFactor
22
31
  */
23
- constructor(debugManager: Pane, resolutionWidth: number, resolutionHeight: number, pointerImageSrc: string, pointerImageSize?: number, pointerTrailingFactor?: number);
32
+ constructor(debugManager: DebugManager, resolutionWidth: number, resolutionHeight: number, pointerImageSrc: string, pointerImageSize?: number, pointerTrailingFactor?: number);
24
33
  /**
25
34
  * Update
26
35
  *
@@ -1,5 +1,5 @@
1
- import { Pane } from 'tweakpane';
2
1
  import { default as RendererManager } from './lib/renderer-manager.js';
2
+ import { default as DebugManager } from './lib/debug-manager.js';
3
3
  import { default as Image } from './app/image.js';
4
4
  import { default as Pointer } from './app/pointer.js';
5
5
  export default class App {
@@ -10,14 +10,14 @@ export default class App {
10
10
  * @param {Image} image
11
11
  * @param {Pointer} pointer
12
12
  * @param {RendererManager} rendererManager
13
- * @param {Pane} debugManager
13
+ * @param {DebugManager} debugManager
14
14
  * @param {string} noiseImageSrc
15
15
  * @param {number} noiseFrequency
16
16
  * @param {number} noiseAmplitude
17
17
  * @param {number} displacementFrequency
18
18
  * @param {number} displacementAmplitude
19
19
  */
20
- constructor(image: Image, pointer: Pointer, rendererManager: RendererManager, debugManager: Pane, noiseImageSrc: string, noiseFrequency?: number, noiseAmplitude?: number, displacementFrequency?: number, displacementAmplitude?: number);
20
+ constructor(image: Image, pointer: Pointer, rendererManager: RendererManager, debugManager: DebugManager, noiseImageSrc: string, noiseFrequency?: number, noiseAmplitude?: number, displacementFrequency?: number, displacementAmplitude?: number);
21
21
  /**
22
22
  * Update
23
23
  *
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @description Debug manager raw settings
3
+ * @author C. M. de Picciotto <d3p1@d3p1.dev> (https://d3p1.dev/)
4
+ * @note It is returned a plain text of the settings that
5
+ * should be used to instance current effect.
6
+ * This plain text is used by the copy button of the
7
+ * debug manager
8
+ */
9
+ export declare const getSettings: (imageResolutionWidth: string, imageResolutionHeight: string, imagePixelSize: string, imagePixelMotionFrequency: string, imagePixelMotionAmplitude: string, imageMotionFrequency: string, imageMotionAmplitude: string, pointerSize: string, pointerTrailing: string) => string;
@@ -0,0 +1,61 @@
1
+ import { BindingParams, FolderApi, FolderParams, Pane } from 'tweakpane';
2
+ import { BindingApi } from '@tweakpane/core';
3
+ export default class DebugManager {
4
+ #private;
5
+ /**
6
+ * @type {Pane}
7
+ */
8
+ debugger: Pane;
9
+ /**
10
+ * Constructor
11
+ */
12
+ constructor();
13
+ /**
14
+ * Enable. Show debugger
15
+ *
16
+ * @returns {void}
17
+ */
18
+ enable(): void;
19
+ /**
20
+ * Disable. Hide debugger
21
+ *
22
+ * @returns {void}
23
+ */
24
+ disable(): void;
25
+ /**
26
+ * Dispose
27
+ *
28
+ * @returns {void}
29
+ */
30
+ dispose(): void;
31
+ /**
32
+ * Add folder
33
+ *
34
+ * @param {{title: string; expanded?: boolean;}} config
35
+ * @returns {object}
36
+ */
37
+ addFolder(config: FolderParams): FolderApi;
38
+ /**
39
+ * Add binding with on change handler
40
+ *
41
+ * @param {object} object
42
+ * @param {string} property
43
+ * @param {string} label
44
+ * @param {object | undefined} config
45
+ * @param {object | undefined} folder
46
+ * @returns {object}
47
+ */
48
+ addBindingWithOnChange<K extends string, V>(object: {
49
+ [key in K]: V;
50
+ }, property: K, label: string, config: BindingParams | undefined, folder?: FolderApi | undefined): BindingApi<unknown, V>;
51
+ /**
52
+ * Add binding
53
+ *
54
+ * @param {string} label
55
+ * @param {string | number} value
56
+ * @param {object | undefined} config
57
+ * @param {object | undefined} folder
58
+ * @returns {object}
59
+ */
60
+ addBinding<V>(label: string, value: V, config: BindingParams | undefined, folder?: FolderApi | undefined): BindingApi<unknown, V>;
61
+ }
package/dist/img2pxl.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Pane } from 'tweakpane';
2
1
  import { default as RendererManager } from './core/lib/renderer-manager.js';
2
+ import { default as DebugManager } from './core/lib/debug-manager.js';
3
3
  import { Config } from './types';
4
4
  export default class Img2Pxl {
5
5
  #private;
@@ -8,9 +8,9 @@ export default class Img2Pxl {
8
8
  */
9
9
  rendererManager: RendererManager;
10
10
  /**
11
- * @type {Pane}
11
+ * @type {DebugManager}
12
12
  */
13
- debugManager: Pane;
13
+ debugManager: DebugManager;
14
14
  /**
15
15
  * Constructor
16
16
  *