Skip to content

Add editable filter stacks with PSD and PSB persistence - #142

Merged
IAmJSD merged 7 commits into
mainfrom
t3code/feature-filter-stacks
Sep 19, 2026
Merged

IAmJSD merged 7 commits into
mainfrom
t3code/feature-filter-stacks

Conversation

@IAmJSD

@IAmJSD IAmJSD commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

Pixel layers and smart objects can now keep an editable stack of filters in the Layers panel. Users can add effects, reopen parameters, reorder them, enable or disable them, remove them, or bake the visible result. Every committed change supports Undo, and rendering starts from preserved source pixels.

Lossless native source tiles and the filter recipe survive PSD/PSB saves, recovery snapshots, and shared-document checkpoints. The recipe uses Schist-owned PSD blocks, with the rendered layer available to other applications.

Validation:

  • make check-filter-stacks: 15 focused tests covering native source fidelity, rendering, ordering, enable/disable, undo/bake, PSD/PSB, checkpoints, and preview exclusion.
  • make lint-app, make check-i18n, and make check-app-web on this standalone branch.
  • Native GUI smoke check in the integrated build: add a filter, commit its parameters, and disable it without baking.

Destructive pixel edits and transforms bake the stack within the same undoable edit. Resource-dependent and external-dialog filters are excluded, and expensive filters can pause the UI. These boundaries are documented in docs/filter-stacks.md. The new catalog is translated in all 149 non-English locales, including generated aliases.

Translations were authored and separately reviewed by GPT-5.6 Sol agents. The locale audit includes short labels, preserved placeholders and numeric limits, and channel direction. make check-i18n validates the updated standalone branch, including font coverage and locale aliases.

@IAmJSD
IAmJSD merged commit 30e60a6 into main Sep 19, 2026
5 checks passed
@IAmJSD
IAmJSD deleted the t3code/feature-filter-stacks branch September 19, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant