fix: code review changes and ci errors

This commit is contained in:
bwees
2026-02-11 12:08:14 -06:00
parent a3800ee2ca
commit ba741f87f2
7 changed files with 68 additions and 64 deletions

View File

@@ -1008,6 +1008,8 @@
"editor_flip_horizontal": "Flip horizontal",
"editor_flip_vertical": "Flip vertical",
"editor_orientation": "Orientation",
"editor_panel_filter": "Filter",
"editor_panel_transform": "Transform",
"editor_reset_all_changes": "Reset changes",
"editor_rotate_left": "Rotate 90° counterclockwise",
"editor_rotate_right": "Rotate 90° clockwise",

View File

@@ -68,8 +68,6 @@ class EditFilter {
}
factory EditFilter.fromDtoParams(Map<String, dynamic> params, String name) {
print(params);
return EditFilter(
name: name,
rrBias: (params['rrBias'] as num).toDouble(),

View File

@@ -19,7 +19,7 @@ import {
TranscodeCommand,
VideoInfo,
} from 'src/types';
import { convertColorFilterToMatricies } from 'src/utils/color_filter';
import { convertColorFilterToMatrices } from 'src/utils/color_filter';
import { handlePromiseError } from 'src/utils/misc';
import { createAffineMatrix } from 'src/utils/transform';
@@ -170,7 +170,7 @@ export class MediaRepository {
const filter = edits.find((edit) => edit.action === 'filter');
if (filter) {
const { biasMatrix, offsetMatrix } = convertColorFilterToMatricies(filter.parameters);
const { biasMatrix, offsetMatrix } = convertColorFilterToMatrices(filter.parameters);
pipeline = pipeline.recomb(biasMatrix).linear([1, 1, 1], offsetMatrix);
}

View File

@@ -1,7 +1,7 @@
import { Matrix3x3 } from 'sharp';
import { FilterParameters } from 'src/dtos/editing.dto';
export function convertColorFilterToMatricies(filter: FilterParameters) {
export function convertColorFilterToMatrices(filter: FilterParameters) {
const biasMatrix: Matrix3x3 = [
[filter.rrBias, filter.rgBias, filter.rbBias],
[filter.grBias, filter.ggBias, filter.gbBias],

View File

@@ -76,7 +76,7 @@
size="small"
fullWidth
>
Transform
{$t('editor_panel_transform')}
</Button>
<Button
leadingIcon={mdiPalette}
@@ -87,7 +87,7 @@
size="small"
fullWidth
>
Filter
{$t('editor_panel_filter')}
</Button>
</HStack>

View File

@@ -4,6 +4,7 @@ import { AssetEditAction, type AssetEditActionFilter, type AssetResponseDto, typ
class FilterManager implements EditToolManager {
selectedFilter: EditFilter = $state(filters[0]);
canReset: boolean = $derived(!this.selectedFilter.isIdentity);
hasChanges = $derived(!this.selectedFilter.isIdentity);
edits = $derived<EditActions>(

View File

@@ -17,36 +17,50 @@ export class EditFilter {
gOffset: number;
bOffset: number;
static identity = new EditFilter('Normal', 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0);
static identity = new EditFilter({
name: 'Normal',
rrBias: 1,
rgBias: 0,
rbBias: 0,
grBias: 0,
ggBias: 1,
gbBias: 0,
brBias: 0,
bgBias: 0,
bbBias: 1,
rOffset: 0,
gOffset: 0,
bOffset: 0,
});
constructor(
name: string,
rrBias: number,
rgBias: number,
rbBias: number,
grBias: number,
ggBias: number,
gbBias: number,
brBias: number,
bgBias: number,
bbBias: number,
rOffset: number,
gOffset: number,
bOffset: number,
) {
this.name = name;
this.rrBias = rrBias;
this.rgBias = rgBias;
this.rbBias = rbBias;
this.grBias = grBias;
this.ggBias = ggBias;
this.gbBias = gbBias;
this.brBias = brBias;
this.bgBias = bgBias;
this.bbBias = bbBias;
this.rOffset = rOffset;
this.gOffset = gOffset;
this.bOffset = bOffset;
constructor(filter: {
name: string;
rrBias: number;
rgBias: number;
rbBias: number;
grBias: number;
ggBias: number;
gbBias: number;
brBias: number;
bgBias: number;
bbBias: number;
rOffset: number;
gOffset: number;
bOffset: number;
}) {
this.name = filter.name;
this.rrBias = filter.rrBias;
this.rgBias = filter.rgBias;
this.rbBias = filter.rbBias;
this.grBias = filter.grBias;
this.ggBias = filter.ggBias;
this.gbBias = filter.gbBias;
this.brBias = filter.brBias;
this.bgBias = filter.bgBias;
this.bbBias = filter.bbBias;
this.rOffset = filter.rOffset;
this.gOffset = filter.gOffset;
this.bOffset = filter.bOffset;
}
get dtoParameters(): FilterParameters {
@@ -76,39 +90,28 @@ export class EditFilter {
}
static fromDto(params: FilterParameters, name: string): EditFilter {
return new EditFilter(
return new EditFilter({
name,
params.rrBias,
params.rgBias,
params.rbBias,
params.grBias,
params.ggBias,
params.gbBias,
params.brBias,
params.bgBias,
params.bbBias,
params.rOffset,
params.gOffset,
params.bOffset,
);
...params,
});
}
static fromMatrix(matrix: number[], name: string): EditFilter {
return new EditFilter(
return new EditFilter({
name,
matrix[0],
matrix[1],
matrix[2],
matrix[5],
matrix[6],
matrix[7],
matrix[10],
matrix[11],
matrix[12],
matrix[15],
matrix[16],
matrix[17],
);
rrBias: matrix[0],
rgBias: matrix[1],
rbBias: matrix[2],
grBias: matrix[5],
ggBias: matrix[6],
gbBias: matrix[7],
brBias: matrix[10],
bgBias: matrix[11],
bbBias: matrix[12],
rOffset: matrix[15],
gOffset: matrix[16],
bOffset: matrix[17],
});
}
get isIdentity(): boolean {