Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
marcinz606
/
NegPy
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
77
Star
918
Code
Issues
50
Pull requests
9
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Contrast Mask, and perspective correction as easel Tilt/Swing
- #877
#877
Merged
marcinz606
merged 9 commits into
main
marcinz606/NegPy:main
from
feat/darkroom
marcinz606/NegPy:feat/darkroom
Copy head branch name to clipboard
Aug 17, 2026
Conversation
Commits
9
(9)
Checks
Files changed
Merged
Contrast Mask, and perspective correction as easel Tilt/Swing
#877
marcinz606
merged 9 commits into
main
marcinz606/NegPy:main
from
feat/darkroom
marcinz606/NegPy:feat/darkroom
Copy head branch name to clipboard
Commits
Commits on Aug 17, 2026
style: apply ruff format to test_updater
marcinz606
committed
2eba7e6
View commit details
Copy full SHA for 2eba7e6
Browse repository at this point
feat(tone): Contrast Mask — the darkroom's unsharp contrast-reduction mask
Show description for b22a160
marcinz606
committed
b22a160
View commit details
Copy full SHA for b22a160
Browse repository at this point
feat(geometry): converging verticals, the tilted easel
Show description for 809a8e5
marcinz606
committed
809a8e5
View commit details
Copy full SHA for 809a8e5
Browse repository at this point
refactor(geometry): name the perspective controls Tilt and Swing
Show description for 06d3c64
marcinz606
committed
06d3c64
View commit details
Copy full SHA for 06d3c64
Browse repository at this point
docs: cut the prose in the Contrast Mask and Tilt/Swing changes to budget
Show description for 9233670
marcinz606
committed
9233670
View commit details
Copy full SHA for 9233670
Browse repository at this point
feat(tone): make the Contrast Mask work both ways
Show description for 93dab74
marcinz606
committed
93dab74
View commit details
Copy full SHA for 93dab74
Browse repository at this point
docs: correct the mask description and tighten the prose
Show description for 509fdf2
marcinz606
committed
509fdf2
View commit details
Copy full SHA for 509fdf2
Browse repository at this point
feat(analysis): draw the Contrast Mask's reach as a band on the H&D chart
Show description for 8bdac2b
marcinz606
committed
8bdac2b
View commit details
Copy full SHA for 8bdac2b
Browse repository at this point
perf(tone): make the Contrast Mask slider cost a uniform write
Show description for 70e8d66
marcinz606
committed
70e8d66
View commit details
Copy full SHA for 70e8d66
Browse repository at this point
You can’t perform that action at this time.