Skip to content

Fix canvas interaction bugs and add advanced photo filters - #4

Open
MahanKenway wants to merge 3 commits into
mainfrom
codex/fix-project-bugs-and-add-filters
Open

Fix canvas interaction bugs and add advanced photo filters#4
MahanKenway wants to merge 3 commits into
mainfrom
codex/fix-project-bugs-and-add-filters

Conversation

@MahanKenway

Copy link
Copy Markdown
Owner

Motivation

  • Fix incorrect/absent hue application and several UI/interaction bugs in the canvas rendering pipeline so sliders behave predictably.
  • Add richer adjustment controls (Exposure, Temperature, Tint, Vibrance, Sharpness) and consolidate defaults for reliable preset/reset behavior.
  • Improve sticker interaction (hit-testing, drag start, safe cleanup) and address lint purity error from impure ID generation.

Description

  • Extended FilterSettings with exposure, temperature, tint, vibrance, and sharpness and added DEFAULT_FILTERS and FILTER_SLIDER_CONFIG to centralize defaults and slider metadata.
  • Implemented pixel-pipeline enhancements: applyHueShift and clamp, applied exposure, vibrance, temperature/tint, hue shift, and a sharpen pass that performs a lightweight high-pass sharpen when sharpness > 0.
  • Reworked sticker interactions: added getCanvasPoint helper, handleCanvasMouseDown hit-test to start dragging on mousedown, handleCanvasMouseMove updates using canvas coordinates, and removeSticker now clears selected/dragged state.
  • Replaced Date.now() sticker IDs with a stable incremental stickerIdRef to satisfy purity lint rules and prevented default page scrolling while moving stickers with arrow keys.
  • Updated the Adjust UI to use FILTER_SLIDER_CONFIG so new filters appear in the sliders automatically and presets/reset now apply DEFAULT_FILTERS to avoid state carry-over.

Testing

  • Ran npm run lint and it passed (lint issues fixed).
  • Ran npm run build and production build completed successfully.
  • Captured a UI screenshot via an automated Playwright script against the local dev server to validate the runtime UI (script completed and screenshot produced).

Codex Task

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Feb 21, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
digi-rawr de98a62 Feb 21 2026, 01:40 AM

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e84cfc40ba

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/App.tsx
Comment on lines +428 to +430
r += (max - r) * amount
g += (max - g) * amount
b += (max - b) * amount

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Flip vibrance delta so positive values increase saturation

The vibrance adjustment currently pushes each channel toward the dominant channel when filters.vibrance is positive (r/g/b += (max - channel) * amount), which narrows channel differences and desaturates the image; negative vibrance values do the opposite. This makes the Vibrance slider and any preset with vibrance > 0 behave opposite to user expectation (higher vibrance produces flatter colors).

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant