Repository navigation
feat(toolbar): show when extraction presets use ordinary conversion - #1420
Open
SeoJCalive wants to merge 1 commit into
Open
SeoJCalive wants to merge 1 commit into
SeoJCalive wants to merge 1 commit into
Conversation
Keep extraction presets usable while showing an input-dependent notice in the donut centre and the Available presets tooltip. Cover the three agreed extraction presets, distinguish mixed inputs, and add the notice in every supported language. Test real controls, cached tooltip updates, and per-source extraction flags in a mixed queue. Closes #1091 Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
KnifeLemon
requested changes
Nov 12, 2026
KnifeLemon
left a comment
Owner
There was a problem hiding this comment.
@SeoJCalive 정리해 주신 결정 네 가지를 그대로 잘 따라 주셨어요. 고마워요!
- 도넛 가운데 글자와 "사용 가능한 프리셋" 툴팁 한 줄, 세 프리셋만 담은 정해 둔 목록, 공통 문구 모두 합의한 대로예요.
- 판정도 깔끔해요. 실행할 수 없는 형식과 엔진 패키지가 필요한 형식은 빼고 세요. 봉투 형식도 추측하지 않고, 모션이 없는 JPEG는 일반 변환으로 표시하지 않아요.
- 끌기 중 성능도 괜찮아요. 판정은
BuildFace에서 한 번만 하고,ShowHint는 저장된 값을 읽기만 해요. - 묶음 안쪽 고리, 앞·뒷면, 취소·뒤집기·다시 불러오기에서 문구가 지워지는 경우까지 테스트로 확인돼서 좋았어요.
고쳐 주셨으면 하는 것
- 작은 가운데에서 안내 글자가 너무 작아져요.
DrawCenter의fitScale에 아래 한계가 없어요.- 가운데 구멍 크기는 25%까지 줄일 수 있어요. 그러면 글을 놓을 폭이 기본(42%)의 절반쯤으로 줄어들어요.
- 그 상태에서 영어 "Some files…"와 "Drop → Extract frames (PNG)"가 여러 줄로 접히면, 제 계산으로는
fitScale이 0.4쯤까지 내려가요. 도넛 크기를 100으로 줄이면 더 작아지고요. - 지금은 이 경우에도 제목·안내가 원래 크기에 두 줄까지 보여요. 그래서 "클릭·드롭 안내는 그대로 읽히게"가 작은 설정에서 깨져요. 기본 크기에서만 맞춰 보신 것 같아요.
- 방법은 편한 쪽으로 해 주세요.
fitScale에 0.8쯤 아래 한계를 두고 알림 문구는 2~3줄에서 말줄임해도 되고, 안내(CenterSubtitle)는 원래 크기·두 줄을 지키고 알림만 줄여도 돼요. - 구멍 25%, 크기 100에서 한 번 봐 주세요.
docs/FORMAT-RULES.md8번을 맞춰 주세요. 지금은 "for example in the slot's tooltip"이라고 되어 있어요.- 도넛 가운데 글자와 사용 가능한 프리셋 툴팁으로 바꿔 주세요.
- 목록이
PresetAvailability.OrdinaryConversionFor에 있다는 것도 적어 주세요. 그래야 프리셋을 추가할 때 어디에 넣을지 바로 알 수 있어요.
남겨 주신 질문과 선택에 대한 답
- "All convertible files / input formats" 문구를 따로 두는 것: 이대로 좋아요.
- 파일 두 개가 모두 PNG면 "이 파일은"도 "일부"도 맞지 않아서, 따로 있어야 해요.
- "변환 가능한"이 들어가서 알 수 없는 파일이 섞였을 때도 사실과 어긋나지 않아요.
- 한국어 "변환 가능한 파일은 모두 일반 변환으로 실행돼요"와 "변환 가능한 입력 형식은 모두 일반 변환으로 실행돼요"도 자연스러워요.
- 알림이 보이는 동안 파일 개수 제목을 대신하는 것: 좋아요. 조각을 가리키기 전과 벗어난 뒤에는 개수가 다시 보이고, 클릭·드롭 안내는 그대로 남으니까요. 같이 줄이는 방식만 위 1번처럼 아래 한계를 두면 돼요.
작은 것
- PR 본문 맨 끝에 준비하면서 쓰신 메모로 보이는 줄이 남아 있어요. 백틱 네 개짜리 줄과 "업로드하며 생긴 줄 지우기…", "본문 속 메모 한 줄…"이에요. 지워 주시면 돼요.
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.
What does this change?
Closes #1091. Before running, the donut centre and the existing Available presets tooltip now tell users when an extraction preset will perform an ordinary conversion instead of its named operation, without blocking the action. The maintainer-decided direction, our own choices and one wording question are under Notes for review.
Type of change
How was it tested?
dotnet format --verify-no-changes:dotnet format Filee.slnx --verify-no-changes --no-restore --severity warnexits 0.dotnet test: related App filters (513 passed, 5 macOS-only skipped), CoreJobQueueTests(59 passed, 3 Windows-only skipped) and the new tests (35 App + 3 Core) on5b91b379, 0 failed. The App full suite could not finish on my Linux server (see below), so it is left to this PR's CI.Details
Rebased the uncommitted change from
47e24cd3ontoc458122f, then onto5b91b379. The latest three-way application was conflict-free; all 132 notice keys/values and upstream's new locale keys were retained. No feature code changed in the latest rebase.5b91b379c458122f, 17 on47e24cd3)5b91b3795b91b3795b91b379, one fresh-process run5b91b37947e24cd3, three runsc458122f, one fresh-process run47e24cd347e24cd3(Linux, Xvfb)47e24cd3run in this environment (Hindi/emoji Annotate text, Japanese font fallback, GNOME pointer bridge sockets, Engines page render). The eighth,AskPagesTests.The_window_fits_in_light_and_dark(bn-BD, dark), failed only in the full run; the Ask window uses none of the changed code or keys, andAskPagesTestspasses 22/22 when rerun on its own. Not rerun locally onc458122for5b91b379: on this server thec458122fApp suite takes about four hours, and a run of it for another branch was stopped by the per-user thread limit. This PR's CI covers the full suite.c458122f: reran M07–M12 and M14, 7/7 detected and restored green after successful builds. The M08 rerun removed the notice from the actual centre renderer to verify that the rendering assertions detect the omission. M01–M06's classification targets and M13's tooltip row were unchanged and were not rerun. No mutation target code changed betweenc458122fand5b91b379, so none was rerun in the latest rebase47e24cd3c458122fc458122fThe
5b91b379rebase did not require fit remeasurement or screenshot recapture: no locale conflict occurred, the 132 notice values are unchanged, and upstream changed none of the notice renderer, tooltip, or classification files. Existing captures and measurements above remain historical evidence rather than newly claimed runs. All latest builds and test processes usedDOTNET_PROCESSOR_COUNT=4and the 12 GB memory scope; App tests used Xvfb/X11 and serialized xUnit collections.Verification limits and UI observations
macosCI label when the PR is opened.Screenshots (UI changes)
Mixed PNG + MP4 drop, English/light: only the still image takes the ordinary-conversion path.
These are crops of real controls at their existing logical size, rendered at 2x pixel density. The donut profile has only a front face. The editor tooltip uses PNG as its specified input format. Converter routes are deterministic test fixtures; screenshots are not evidence of real-engine conversion.
Single-file, mixed-drop, and editor tooltip comparisons; English and German
Checklist
src/Filee.App/Assets/i18n/*.jsonfilesTHIRD-PARTY-NOTICES.mdNotes for review
Issue: #1091
Maintainer decision: #1091 (comment)
Maintainer-decided direction
The other candidate presets in the issue remain follow-up work, as requested in the decision comment.
What changed
Our choices, open to feedback
Maintainer question: Are these separate "all convertible files/input formats" variants appropriate in addition to the three example phrases in the decision comment, or would you prefer different wording?