@macrulez/devtoolz 0.4.0 → 0.4.1
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.
- package/README.md +6 -1
- package/dist/commands/image-batch/cli.js +4 -5
- package/dist/commands/image-batch/cli.js.map +1 -1
- package/dist/commands/image-batch/config.d.ts +3 -2
- package/dist/commands/image-batch/config.js +6 -20
- package/dist/commands/image-batch/config.js.map +1 -1
- package/dist/commands/image-batch/manage-cli.js +81 -4
- package/dist/commands/image-batch/manage-cli.js.map +1 -1
- package/dist/commands/image-batch/manage.d.ts +3 -2
- package/dist/commands/image-batch/manage.js +55 -14
- package/dist/commands/image-batch/manage.js.map +1 -1
- package/dist/commands/image-batch/run.d.ts +3 -2
- package/dist/commands/image-batch/run.js +6 -1
- package/dist/commands/image-batch/run.js.map +1 -1
- package/dist/commands/image-batch/sharpen-ask.d.ts +6 -0
- package/dist/commands/image-batch/sharpen-ask.js +53 -0
- package/dist/commands/image-batch/sharpen-ask.js.map +1 -0
- package/dist/commands/image-batch/sharpen-manage.d.ts +26 -0
- package/dist/commands/image-batch/sharpen-manage.js +238 -0
- package/dist/commands/image-batch/sharpen-manage.js.map +1 -0
- package/dist/commands/image-batch/sharpen-presets.d.ts +24 -0
- package/dist/commands/image-batch/sharpen-presets.js +145 -0
- package/dist/commands/image-batch/sharpen-presets.js.map +1 -0
- package/dist/commands/image-batch/sharpen.d.ts +33 -3
- package/dist/commands/image-batch/sharpen.js +141 -14
- package/dist/commands/image-batch/sharpen.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,32 +1,159 @@
|
|
|
1
1
|
import { ImageBatchUsageError } from './errors.js';
|
|
2
2
|
export const SHARPEN_TARGETS = ['screen', 'matte', 'glossy'];
|
|
3
3
|
export const SHARPEN_AMOUNTS = ['low', 'standard', 'high'];
|
|
4
|
+
export const SHARPEN_FINE_KEYS = ['radius', 'flat', 'jagged', 'threshold'];
|
|
5
|
+
export const SHARPEN_RANGES = {
|
|
6
|
+
radius: [0.000001, 10],
|
|
7
|
+
flat: [0, 1_000_000],
|
|
8
|
+
jagged: [0, 1_000_000],
|
|
9
|
+
threshold: [0, 1_000_000],
|
|
10
|
+
};
|
|
4
11
|
const RADIUS = { screen: 0.6, matte: 1, glossy: 1.4 };
|
|
5
12
|
const STRENGTH = {
|
|
6
13
|
low: { m1: 0.5, m2: 1.5 },
|
|
7
14
|
standard: { m1: 1, m2: 3 },
|
|
8
15
|
high: { m1: 1.8, m2: 5 },
|
|
9
16
|
};
|
|
17
|
+
const LAYER_KEYS = ['preset', 'for', 'amount', ...SHARPEN_FINE_KEYS];
|
|
18
|
+
const FIELD_KEYS = LAYER_KEYS.filter((key) => key !== 'preset');
|
|
19
|
+
export function completeSharpen(fields) {
|
|
20
|
+
return { ...fields, for: fields.for ?? 'screen', amount: fields.amount ?? 'standard' };
|
|
21
|
+
}
|
|
10
22
|
export function sharpenParams(spec) {
|
|
11
|
-
|
|
23
|
+
const strength = STRENGTH[spec.amount];
|
|
24
|
+
return {
|
|
25
|
+
sigma: spec.radius ?? RADIUS[spec.for],
|
|
26
|
+
m1: spec.flat ?? strength.m1,
|
|
27
|
+
m2: spec.jagged ?? strength.m2,
|
|
28
|
+
...(spec.threshold !== undefined ? { x1: spec.threshold } : {}),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function describeSharpen(fields) {
|
|
32
|
+
const parts = [];
|
|
33
|
+
if (fields.preset !== undefined)
|
|
34
|
+
parts.push(fields.preset);
|
|
35
|
+
if (fields.for !== undefined)
|
|
36
|
+
parts.push(`for ${fields.for}`);
|
|
37
|
+
if (fields.amount !== undefined)
|
|
38
|
+
parts.push(fields.amount);
|
|
39
|
+
for (const key of SHARPEN_FINE_KEYS) {
|
|
40
|
+
if (fields[key] !== undefined)
|
|
41
|
+
parts.push(`${key} ${fields[key]}`);
|
|
42
|
+
}
|
|
43
|
+
return parts.join(', ');
|
|
44
|
+
}
|
|
45
|
+
function rangeText(key) {
|
|
46
|
+
const [min, max] = SHARPEN_RANGES[key];
|
|
47
|
+
return `${min} to ${max}`;
|
|
12
48
|
}
|
|
13
|
-
|
|
14
|
-
|
|
49
|
+
function checkFine(key, value, where) {
|
|
50
|
+
const [min, max] = SHARPEN_RANGES[key];
|
|
51
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value < min || value > max) {
|
|
52
|
+
throw new ImageBatchUsageError(`${where}: expected a number from ${rangeText(key)}`);
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
15
55
|
}
|
|
16
|
-
export function
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
if (!
|
|
20
|
-
throw new ImageBatchUsageError(
|
|
56
|
+
export function parseSharpenFields(object, at, allowPreset) {
|
|
57
|
+
const allowed = allowPreset ? LAYER_KEYS : FIELD_KEYS;
|
|
58
|
+
for (const key of Object.keys(object)) {
|
|
59
|
+
if (!allowed.includes(key)) {
|
|
60
|
+
throw new ImageBatchUsageError(`${at}: unknown key "${key}" — expected ${allowed.join(', ')}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const layer = {};
|
|
64
|
+
if (object.preset !== undefined) {
|
|
65
|
+
if (typeof object.preset !== 'string' || object.preset === '') {
|
|
66
|
+
throw new ImageBatchUsageError(`${at}.preset: expected the name of a sharpen preset`);
|
|
67
|
+
}
|
|
68
|
+
layer.preset = object.preset;
|
|
69
|
+
}
|
|
70
|
+
if (object.for !== undefined) {
|
|
71
|
+
if (!SHARPEN_TARGETS.includes(object.for)) {
|
|
72
|
+
throw new ImageBatchUsageError(`${at}.for: expected one of ${SHARPEN_TARGETS.join(', ')}`);
|
|
73
|
+
}
|
|
74
|
+
layer.for = object.for;
|
|
75
|
+
}
|
|
76
|
+
if (object.amount !== undefined) {
|
|
77
|
+
if (!SHARPEN_AMOUNTS.includes(object.amount)) {
|
|
78
|
+
throw new ImageBatchUsageError(`${at}.amount: expected one of ${SHARPEN_AMOUNTS.join(', ')}`);
|
|
21
79
|
}
|
|
22
|
-
|
|
80
|
+
layer.amount = object.amount;
|
|
23
81
|
}
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
82
|
+
for (const key of SHARPEN_FINE_KEYS) {
|
|
83
|
+
if (object[key] !== undefined)
|
|
84
|
+
layer[key] = checkFine(key, object[key], `${at}.${key}`);
|
|
85
|
+
}
|
|
86
|
+
if (Object.keys(layer).length === 0) {
|
|
87
|
+
throw new ImageBatchUsageError(`${at}: expected at least one of ${allowed.join(', ')}`);
|
|
88
|
+
}
|
|
89
|
+
return layer;
|
|
90
|
+
}
|
|
91
|
+
export function parseSharpenLayer(value, at) {
|
|
92
|
+
if (typeof value === 'string') {
|
|
93
|
+
return parseSharpenFields({ preset: value }, at, true);
|
|
94
|
+
}
|
|
95
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
|
|
96
|
+
throw new ImageBatchUsageError(`${at}: expected a preset name or an object with ${LAYER_KEYS.join(', ')}`);
|
|
97
|
+
}
|
|
98
|
+
return parseSharpenFields(value, at, true);
|
|
99
|
+
}
|
|
100
|
+
export function expandSharpen(layer, presets, at) {
|
|
101
|
+
const { preset, ...own } = layer;
|
|
102
|
+
if (preset === undefined)
|
|
103
|
+
return own;
|
|
104
|
+
const base = presets?.[preset];
|
|
105
|
+
if (!base) {
|
|
106
|
+
throw new ImageBatchUsageError(`${at}: the sharpen preset "${preset}" is not loaded — see \`devtoolz image-batch sharpen list\``);
|
|
107
|
+
}
|
|
108
|
+
return { ...base, ...own };
|
|
109
|
+
}
|
|
110
|
+
const FLAG_FINE = [
|
|
111
|
+
['radius', 'sharpenRadius'],
|
|
112
|
+
['flat', 'sharpenFlat'],
|
|
113
|
+
['jagged', 'sharpenJagged'],
|
|
114
|
+
['threshold', 'sharpenThreshold'],
|
|
115
|
+
];
|
|
116
|
+
export function parseSharpenFlags(options) {
|
|
117
|
+
const raw = {};
|
|
118
|
+
if (options.sharpen !== undefined)
|
|
119
|
+
raw.preset = options.sharpen;
|
|
120
|
+
if (options.sharpenFor !== undefined)
|
|
121
|
+
raw.for = options.sharpenFor;
|
|
122
|
+
if (options.sharpenAmount !== undefined)
|
|
123
|
+
raw.amount = options.sharpenAmount;
|
|
124
|
+
for (const [key, flag] of FLAG_FINE) {
|
|
125
|
+
const text = options[flag];
|
|
126
|
+
if (text === undefined)
|
|
127
|
+
continue;
|
|
128
|
+
const number = Number(text);
|
|
129
|
+
if (text.trim() === '' || !Number.isFinite(number)) {
|
|
130
|
+
throw new ImageBatchUsageError(`--sharpen-${key} must be a number from ${rangeText(key)}`);
|
|
27
131
|
}
|
|
28
|
-
|
|
132
|
+
raw[key] = number;
|
|
133
|
+
}
|
|
134
|
+
if (Object.keys(raw).length === 0)
|
|
135
|
+
return undefined;
|
|
136
|
+
try {
|
|
137
|
+
return parseSharpenFields(raw, 'sharpen', true);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
141
|
+
throw new ImageBatchUsageError(message
|
|
142
|
+
.replace(/^sharpen\.for/, '--sharpen-for')
|
|
143
|
+
.replace(/^sharpen\.amount/, '--sharpen-amount')
|
|
144
|
+
.replace(/^sharpen\.(radius|flat|jagged|threshold)/, '--sharpen-$1'));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
export function addSharpenFlags(command, withPreset = true) {
|
|
148
|
+
if (withPreset) {
|
|
149
|
+
command.option('--sharpen <preset>', 'sharpen with a saved preset (see the sharpen command)');
|
|
29
150
|
}
|
|
30
|
-
return
|
|
151
|
+
return command
|
|
152
|
+
.option('--sharpen-for <target>', 'sharpen the result for: screen, matte or glossy')
|
|
153
|
+
.option('--sharpen-amount <amount>', 'sharpening amount: low, standard or high')
|
|
154
|
+
.option('--sharpen-radius <sigma>', 'sharpening radius (sigma), 0.000001 to 10')
|
|
155
|
+
.option('--sharpen-flat <n>', 'sharpening strength on flat areas, 0 to 1000000')
|
|
156
|
+
.option('--sharpen-jagged <n>', 'sharpening strength on sharp edges, 0 to 1000000')
|
|
157
|
+
.option('--sharpen-threshold <n>', 'edge threshold that separates flat from jagged, 0 to 1000000');
|
|
31
158
|
}
|
|
32
159
|
//# sourceMappingURL=sharpen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharpen.js","sourceRoot":"","sources":["../../../src/commands/image-batch/sharpen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sharpen.js","sourceRoot":"","sources":["../../../src/commands/image-batch/sharpen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macrulez/devtoolz",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "A small toolbox of CLI commands that automate routine dev chores — strip comments/console.log, find dead exports, catch case-sensitivity import bugs before Linux CI does",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|