@pixzle/core 0.0.28 → 0.0.30

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.
@@ -32,6 +32,14 @@ export declare function calculateBlockRange(blockCounts: number[], targetIndex:
32
32
  * @returns Array of block counts for each fragment
33
33
  */
34
34
  export declare function calculateBlockCountsForCrossImages(totalBlocks: number, fragmentCount: number): number[];
35
+ /**
36
+ * Calculate block count for a single image
37
+ * @param width Image width
38
+ * @param height Image height
39
+ * @param blockSize Block size
40
+ * @returns Total block count (blockCountX * blockCountY)
41
+ */
42
+ export declare function calculateBlockCount(width: number, height: number, blockSize: number): number;
35
43
  /**
36
44
  * Calculate block counts for each image
37
45
  * @param images Array of ImageInfo objects
@@ -46,3 +54,10 @@ export declare function calculateBlockCountsPerImage(images: ImageInfo[], blockS
46
54
  * @returns Total block count
47
55
  */
48
56
  export declare function calculateTotalBlocks(images: ImageInfo[], blockSize: number): number;
57
+ /**
58
+ * Take the first n blocks from an array of blocks
59
+ * @param blocks Array of blocks
60
+ * @param count Number of blocks to take
61
+ * @returns Array of blocks with the specified count
62
+ */
63
+ export declare function takeBlocks<T>(blocks: T[], count: number): T[];
@@ -4,8 +4,10 @@ exports.RGBA_CHANNELS = void 0;
4
4
  exports.calculateBlockCounts = calculateBlockCounts;
5
5
  exports.calculateBlockRange = calculateBlockRange;
6
6
  exports.calculateBlockCountsForCrossImages = calculateBlockCountsForCrossImages;
7
+ exports.calculateBlockCount = calculateBlockCount;
7
8
  exports.calculateBlockCountsPerImage = calculateBlockCountsPerImage;
8
9
  exports.calculateTotalBlocks = calculateTotalBlocks;
10
+ exports.takeBlocks = takeBlocks;
9
11
  /**
10
12
  * Number of channels in RGBA format
11
13
  */
@@ -67,6 +69,17 @@ function calculateBlockCountsForCrossImages(totalBlocks, fragmentCount) {
67
69
  }
68
70
  return fragmentBlockCounts;
69
71
  }
72
+ /**
73
+ * Calculate block count for a single image
74
+ * @param width Image width
75
+ * @param height Image height
76
+ * @param blockSize Block size
77
+ * @returns Total block count (blockCountX * blockCountY)
78
+ */
79
+ function calculateBlockCount(width, height, blockSize) {
80
+ const { blockCountX, blockCountY } = calculateBlockCounts(width, height, blockSize);
81
+ return blockCountX * blockCountY;
82
+ }
70
83
  /**
71
84
  * Calculate block counts for each image
72
85
  * @param images Array of ImageInfo objects
@@ -74,10 +87,7 @@ function calculateBlockCountsForCrossImages(totalBlocks, fragmentCount) {
74
87
  * @returns Array of block counts per image (x * y)
75
88
  */
76
89
  function calculateBlockCountsPerImage(images, blockSize) {
77
- return images.map((info) => {
78
- const { blockCountX, blockCountY } = calculateBlockCounts(info.w, info.h, blockSize);
79
- return blockCountX * blockCountY;
80
- });
90
+ return images.map((info) => calculateBlockCount(info.w, info.h, blockSize));
81
91
  }
82
92
  /**
83
93
  * Calculate total number of blocks from images
@@ -86,9 +96,15 @@ function calculateBlockCountsPerImage(images, blockSize) {
86
96
  * @returns Total block count
87
97
  */
88
98
  function calculateTotalBlocks(images, blockSize) {
89
- return images.reduce((total, image) => {
90
- const { blockCountX, blockCountY } = calculateBlockCounts(image.w, image.h, blockSize);
91
- return total + blockCountX * blockCountY;
92
- }, 0);
99
+ return images.reduce((total, image) => total + calculateBlockCount(image.w, image.h, blockSize), 0);
100
+ }
101
+ /**
102
+ * Take the first n blocks from an array of blocks
103
+ * @param blocks Array of blocks
104
+ * @param count Number of blocks to take
105
+ * @returns Array of blocks with the specified count
106
+ */
107
+ function takeBlocks(blocks, count) {
108
+ return blocks.slice(0, count);
93
109
  }
94
110
  //# sourceMappingURL=block-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-utils.js","sourceRoot":"","sources":["../src/block-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-utils.js","sourceRoot":"","sources":["../src/block-utils.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -1,4 +1,17 @@
1
- import type { ManifestData } from "./types";
1
+ import type { ImageInfo, ManifestData } from "./types";
2
+ /**
3
+ * Create a minimal ManifestData for single image restoration
4
+ * @param options - Options for the manifest
5
+ * @param options.blockSize - Block size used for fragmentation
6
+ * @param options.seed - Seed used for shuffling
7
+ * @param options.imageInfo - Image information (width and height)
8
+ * @returns ManifestData object
9
+ */
10
+ export declare function createSingleImageManifest(options: {
11
+ blockSize: number;
12
+ seed: number;
13
+ imageInfo: ImageInfo;
14
+ }): ManifestData;
2
15
  /**
3
16
  * Encode file name to base64 for safe storage (cross-platform)
4
17
  * @param name - Original file name
package/dist/helpers.js CHANGED
@@ -1,11 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSingleImageManifest = createSingleImageManifest;
3
4
  exports.encodeFileName = encodeFileName;
4
5
  exports.decodeFileName = decodeFileName;
5
6
  exports.generateFileName = generateFileName;
6
7
  exports.generateFragmentFileName = generateFragmentFileName;
7
8
  exports.generateRestoredFileName = generateRestoredFileName;
8
9
  exports.generateRestoredOriginalFileName = generateRestoredOriginalFileName;
10
+ const constants_1 = require("./constants");
11
+ /**
12
+ * Create a minimal ManifestData for single image restoration
13
+ * @param options - Options for the manifest
14
+ * @param options.blockSize - Block size used for fragmentation
15
+ * @param options.seed - Seed used for shuffling
16
+ * @param options.imageInfo - Image information (width and height)
17
+ * @returns ManifestData object
18
+ */
19
+ function createSingleImageManifest(options) {
20
+ return {
21
+ id: "manual",
22
+ version: "0.0.0",
23
+ timestamp: new Date().toISOString(),
24
+ config: {
25
+ blockSize: options.blockSize,
26
+ seed: options.seed,
27
+ prefix: constants_1.DEFAULT_FRAGMENTATION_CONFIG.PREFIX,
28
+ preserveName: false,
29
+ crossImageShuffle: false,
30
+ },
31
+ images: [options.imageInfo],
32
+ };
33
+ }
9
34
  /**
10
35
  * Encode file name to base64 for safe storage (cross-platform)
11
36
  * @param name - Original file name
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  export interface ShuffleOptions {
2
- /** Image paths (e.g., ["image1.png", "image2.png"]) */
3
- imagePaths: string[];
2
+ /** Image sources - file paths or URLs (e.g., ["image1.png", "https://example.com/image2.png"]) */
3
+ images: string[];
4
4
  /** Fragmentation config */
5
5
  config?: FragmentationConfig;
6
6
  /** Output directory (e.g., "./output/fragments") */
7
7
  outputDir: string;
8
8
  }
9
9
  export interface RestoreOptions {
10
- /** Image paths (e.g., ["fragment1.png", "fragment2.png"]) */
11
- imagePaths: string[];
12
- /** Manifest path (e.g., "./output/fragments/manifest.json") */
13
- manifestPath?: string;
14
- /** Manifest data object (alternative to manifestPath) */
10
+ /** Image sources - file paths or URLs (e.g., ["fragment1.png", "https://example.com/fragment2.png"]) */
11
+ images: string[];
12
+ /** Manifest source - file path or URL (e.g., "./manifest.json" or "https://example.com/manifest.json") */
13
+ manifest?: string;
14
+ /** Manifest data object (alternative to manifest) */
15
15
  manifestData?: ManifestData;
16
16
  /** Output directory (e.g., "./output/restored") */
17
17
  outputDir: string;
@@ -25,7 +25,7 @@ export interface FragmentationConfig {
25
25
  /** Prefix for fragment files (optional, default: "img") */
26
26
  prefix?: string;
27
27
  /** Random seed (auto-generated if not specified) */
28
- seed?: number | string;
28
+ seed?: number;
29
29
  /** Preserve original file name (optional, default: false) */
30
30
  preserveName?: boolean;
31
31
  /** Shuffle blocks across all images instead of within each image independently (optional, default: false) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixzle/core",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "Core image fragmentation and restoration logic",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",