Add UX refinements, fix crop box issue when fine rotation is enabled, add freehand analyis region.#413
Merged
Conversation
Contributor
Author
|
Tried NegPy for the first time after someone recommended it to me, what a great app for negative digitization! Made some changes to the UI to match other image editing software behaviors and fixed the crop box issue with rotation enabled. Cheers! |
…is region UI/UX: - Files sidebar: single click on a thumbnail now selects and loads it into the viewer (Ctrl/Shift click still builds a multi-selection for batch actions). - Crop tool: double-click inside the crop box confirms the crop and closes the tool, so you no longer have to return to the Crop button. - Right panel: collapsing the sticky "Analysis" section now pins its header at the top and hands the freed splitter space to the tabs below. - Rename the geometry slider "Fine Rot" -> "Fine Rotation". Fix (crop inflates under Fine Rotation): - GeometryConfig.manual_crop_rect is now normalized in the transformed (display) image instead of raw space. get_manual_rect_coords is a plain axis-aligned slice (rect x transformed dims); previously it corner-mapped the rect through the fine rotation and took the axis-aligned bounding box, which inflated the cropped region as the tilt grew. The overlay maps screen<->rect linearly through its view rect (no uv-grid round-trip for crop). Note: manual crops saved in an older edits.db re-interpret once. Feature (freehand analysis region, additive): - New optional ProcessConfig.analysis_rect (transformed-normalized, like the crop rect). resolve_analysis_region turns it into the analysis ROI (buffer 0) at the single chokepoint in NormalizationProcessor and the GPU analysis path; when set it overrides the centered Analysis Buffer, otherwise the slider still applies. - New ANALYSIS_DRAW canvas tool (draw + move + double-click confirm) plus draw/clear buttons on the Process page; the tool shows the uncropped preview. Tests: geometry crop semantics + fine-rotation regression, analysis-region resolution + pipeline wiring, and analysis_rect serialization round-trip. make lint / type / test all pass (the one failing export-path test is a pre-existing Windows path-separator issue, unrelated to this change). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
06f4209 to
3d55e09
Compare
Owner
|
nice one, thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…is region
UI/UX:
Fix (crop inflates under Fine Rotation):
Feature (freehand analysis region, additive):
Tests: geometry crop semantics + fine-rotation regression, analysis-region resolution + pipeline wiring, and analysis_rect serialization round-trip. make lint / type / test all pass (the one failing export-path test is a pre-existing Windows path-separator issue, unrelated to this change). Human tested the enhancements and fix to confirm they are implemented accordingly.