Skip to content

Releases: ai-blink/pinte

Pinte v0.3.1

Choose a tag to compare

@ai-blink ai-blink released this 28 Sep 09:32

Pinte v0.3.1

Released 2026-09-28

Changes on main since v0.3.0.
English is canonical; a Korean summary follows.

Highlights

  • Fixed: the lens jumped to a different screen position after collapsing
    and expanding it.
    Collapsing the lens to the hide icon and clicking that
    icon to expand it again is documented to restore the exact same position,
    size, and zoom — but ExpandCollapsedLensAsync only called Window.Show()
    and relied on WPF to restore the window's on-screen position. WPF's own
    Hide()/Show() cycle can recompute Left/Top from a stale DPI context
    while the window has no monitor association, drifting it noticeably (size
    stayed correct; only position shifted). The fix reasserts the exact
    physical bounds recorded right before hiding, the same way every other
    lens placement in this app already works: a native SetWindowPos call via
    _windows.PlaceWindow, instead of trusting WPF's internal restore.
  • Also confirmed (D-033 follow-up): all 9 windows now have user-verified
    language switching.
    The 8 windows other than Settings (MainWindow,
    SelectionPreviewWindow, QuickRegionSettingsWindow, SelectionOverlayWindow,
    PointerTimingWindow, LensCollapseOverlayWindow, SourceIndicatorWindow) were
    checked by hand on the v0.3.0 production build — language switching works
    in all of them. This closes the last open item from the v0.3.0
    localization work.

Verification

  • Standard build: 0 warnings, 0 errors. Core 65 / Infrastructure 81 tests
    pass.
  • The position-restore fix was reproduced and confirmed against a Debug
    build: recorded native window bounds before hiding and after expanding
    showed identical size but a large position drift before the fix, and an
    exact match after it. The user then re-verified the fixed Debug build by
    hand.
  • The App test suite still cannot run to completion due to the pre-existing,
    unrelated SetSourceAsync lens test hang (tracked separately, not part of
    this release).

Known limitations

  • Chinese (Simplified) and Japanese strings have only had one automated
    review pass; native-speaker review is still pending.
  • Live target-application click/drag behavior still needs validation across
    the Windows environments you use, as with every previous release.
  • Not code-signed. Secure Desktop screens, elevated-privilege target apps,
    remote sessions, and per-app input policies can still block capture or
    input.

Pinte v0.3.1 (한국어 요약)

v0.3.0 이후 main의
변경 사항입니다.

주요 변경

  • 수정: 렌즈를 숨겼다가 펼치면 화면 위치가 바뀌던 버그. 렌즈를 숨김
    아이콘으로 접었다가 그 아이콘을 눌러 다시 펼치면 위치·크기·배율을 그대로
    유지하도록 되어 있는데, ExpandCollapsedLensAsync가 Window.Show()만
    호출하고 화면 위치 복원은 WPF에 맡기고 있었습니다. WPF의 Hide()/
    Show() 순환은 창이 모니터에 연결되지 않은 동안 오래된 DPI 기준으로
    Left/Top을 다시 계산할 수 있어, 크기는 정확히 유지되지만 위치만
    눈에 띄게 어긋났습니다. 숨기기 직전에 기록해둔 실제 물리 좌표를, 이
    앱의 다른 모든 렌즈 배치가 이미 쓰는 방식과 동일하게 _windows. PlaceWindow(네이티브 SetWindowPos)로 다시 적용하도록 고쳐, WPF의
    내부 복원 대신 명시적으로 좌표를 고정합니다.
  • 추가 확인(D-033 후속): 9개 창 전체 언어 전환 사용자 확인 완료.
    SettingsWindow를 제외한 8개 창(MainWindow·SelectionPreviewWindow·
    QuickRegionSettingsWindow·SelectionOverlayWindow·PointerTimingWindow·
    LensCollapseOverlayWindow·SourceIndicatorWindow)을 v0.3.0 정본 실행
    파일에서 직접 확인한 결과 모두 정상 동작했습니다. v0.3.0 다국어화
    작업의 마지막 남은 확인 항목이 닫혔습니다.

검증

  • 표준 build 경고 0·오류 0. Core 65·Infrastructure 81 테스트 통과.
  • 위치 복원 수정은 Debug 빌드로 재현·확인했습니다 — 숨기기 직전과 펼친
    직후의 실제 창 좌표를 기록해 비교한 결과, 수정 전에는 크기는 같고
    위치만 크게 어긋났고 수정 후에는 정확히 일치했습니다. 이후 사용자가
    수정된 Debug 빌드로 직접 재확인했습니다.
  • App 테스트 스위트는 이 릴리즈와 무관한 기존 SetSourceAsync 렌즈 테스트
    hang으로 여전히 끝까지 실행하지 못합니다(별도로 추적 중, 이번 릴리즈
    범위 아님).

알려진 제한

  • 중국어(간체)·일본어 문자열은 자동 검수 1차만 거쳤고 원어민 검수는
    아직입니다.
  • 실제 대상 앱에서의 클릭·드래그 동작은 이전 릴리즈와 마찬가지로 사용하는
    Windows 환경마다 계속 검증이 필요합니다.
  • 코드 서명되지 않았습니다. 보안 화면, 관리자 권한 대상 앱, 원격 세션,
    앱별 입력 정책은 여전히 캡처나 입력을 막을 수 있습니다.

Pinte v0.3.0

Choose a tag to compare

@ai-blink ai-blink released this 27 Sep 18:04

Pinte v0.3.0

Released 2026-09-28

Changes on main since v0.2.0.
English is canonical; a Korean summary follows.

Highlights

  • In-app UI localization. A new Loc/{loc:Tr} infrastructure (no
    .resx) backs a Strings dictionary covering all 9 windows: the entry
    window, the zoom lens, Settings, the region size/aspect ratio panel, the
    region-selection border, the advanced input-timing tuner, the collapsed-lens
    expand icon, and the source-region outline. Settings → Appearance now has a
    Language selector (System / 한국어 / English / 简体中文 / 日本語); switching
    applies immediately to every open window without a restart, the same way
    theme switching already worked. The choice is saved to
    settings.json and re-applied on launch, following the system locale by
    default.
  • Windows that stay open across a language switch update live. The zoom
    lens, the region-selection border, and the input-timing tuner can remain
    open while Settings is used to change language (the tuner has no owner
    window and the border stays visible behind the modal Settings dialog), so
    each subscribes to the language change and re-renders its dynamic status
    text, toolbar labels, and accessibility names without recreating the
    window.
  • One pass of automated zh-Hans/ja review. All 280 keys were reviewed
    against the Korean source by an LLM (glm-5.2) for awkward phrasing,
    mistranslations, register consistency, and UI-appropriate length; 46 of the
    findings were applied (e.g. a mismatched "pan tool" translation unified
    across 7 keys, two mistranslated "screen" labels, several accessibility
    names reshaped into noun phrases). This is a first automated pass, not a
    native-speaker review.
  • Settings window text now also reacts to language changes. A bug found
    during this release — the "Current …" input-timing summary and the version
    line stayed in the previous language until the window was closed and
    reopened — is fixed; both now re-render immediately when the language
    changes while Settings is open.
  • Two pre-existing WPF layout bugs surfaced while testing the language
    switch were fixed along the way: a DockPanel last-child ignoring its own
    Dock value (the nav sidebar tagline wrapped one character per line in
    English), and fixed-width combo boxes centering instead of left-aligning
    once their content column stopped being the widest.

Verification

  • dotnet build Magnifier.slnx --nologo: 0 warnings, 0 errors, across every
    slice of this work.
  • Automated tests: Core 65 and Infrastructure 81 passed throughout. The App
    test suite still stalls on a pre-existing SetSourceAsync lens-test issue
    unrelated to this release; filtering to a single test class
    (SettingsWindowTests, LensResizeTests) also fails with an Application
    shutdown exception that reproduces identically on the pre-release commit,
    confirming it is a test-isolation artifact of running a filtered subset,
    not a regression.
  • The Settings window's language switch was confirmed by the user in a
    Debug build (catching the two WPF layout bugs above and the "Current …"
    staleness bug fixed in this release).

Known limitations

  • Real UI language-switch behavior has not been checked window-by-window for
    8 of the 9 windows (only Settings has been eyeballed by the user).
  • Chinese (Simplified) and Japanese strings have had one automated review
    pass, not a native-speaker review.
  • Live target-application click/drag behavior across different Windows
    environments still needs ongoing validation, as in prior releases.
  • Not code-signed. Secure desktops, elevated target applications, remote
    sessions and target-specific input policies can still block capture or
    input.

한국어 요약

v0.2.0 이후 main에 반영된 변경입니다.

주요 변경

  • 앱 내 UI 다국어화: 새 Loc/{loc:Tr} 인프라(.resx 대신 자체 Strings
    사전)가 9개 창(진입 창·확대 렌즈·설정·영역 크기/비율 패널·영역 지정 테두리·
    입력 타이밍 고급 조절 창·접힌 렌즈 펼치기 아이콘·원본 영역 윤곽선) 전체를
    덮습니다. 설정 → 화면에 언어 콤보(시스템/한국어/English/简体中文/日本語)가
    생겼고, 테마 전환과 같은 방식으로 재시작 없이 열려 있는 모든 창에 즉시
    반영됩니다. 선택값은 settings.json에 저장되어 다음 실행에도 적용되며,
    기본값은 시스템 언어를 따릅니다.
  • 언어 전환 중에도 열려 있는 창은 즉시 갱신: 확대 렌즈·영역 지정 테두리·
    입력 타이밍 조절 창은 설정에서 언어를 바꾸는 동안에도 계속 열려 있을 수
    있어(조절 창은 owner가 없는 독립 창, 테두리 창은 모달 설정 창 뒤에서도
    계속 보임) 각각 언어 변경을 구독해 동적 상태 텍스트·툴바 라벨·접근성
    이름을 창 재생성 없이 다시 그립니다.
  • zh-Hans/ja 자동 검수 1차: 280개 키 전체를 한국어 원문과 대조해
    LLM(glm-5.2)이 어색한 표현·오역·존댓말 불일치·UI 문자열 길이를 검수했고,
    46건을 반영했습니다(예: 손 도구 오역이 7개 키에서 통일, 오역된 "화면"
    라벨 2건, 일부 접근성 이름을 명사구로 재정리). 원어민 검수가 아니라
    1차 자동 검수입니다.
  • 설정 창 자체의 텍스트도 언어 전환에 반응하도록 수정: 이번 릴리즈 준비
    중 발견한 버그 — "현재 …" 입력 타이밍 요약과 버전 표시가 창을 닫았다
    열기 전까지 이전 언어로 남아있던 문제 — 를 고쳐, 설정 창이 열려 있는
    동안 언어를 바꾸면 즉시 갱신됩니다.
  • 언어 전환을 테스트하며 발견한 기존 WPF 레이아웃 버그 2건도 함께
    고쳤습니다: DockPanel의 마지막 자식이 자기 Dock 값을 무시하던 문제
    (영어에서 사이드바 태그라인이 한 글자씩 세로로 줄바꿈됨), 고정폭
    콤보박스가 내용 열이 더는 가장 넓지 않게 되자 왼쪽 정렬 대신 가운데
    정렬되던 문제.

검증

  • 이번 작업의 모든 슬라이스에서 표준 build 경고 0·오류 0.
  • 자동 테스트: Core 65·Infrastructure 81 계속 통과. App 테스트 스위트는
    이번 릴리즈와 무관한 기존 SetSourceAsync 렌즈 테스트 hang으로 여전히
    끝까지 못 돌리며, 단일 테스트 클래스만 필터링(SettingsWindowTests,
    LensResizeTests)해도 Application 종료 예외로 실패하는데 릴리즈 이전
    커밋에서도 동일하게 재현돼 회귀가 아니라 필터링된 부분집합 실행 자체의
    테스트 인프라 문제임을 확인했습니다.
  • 설정 창의 언어 전환은 사용자가 Debug 빌드로 직접 확인했습니다(그 과정에서
    위 WPF 레이아웃 버그 2건과 이번에 고친 "현재 …" 고착 버그를 발견).

알려진 제한

  • 9개 창 중 설정 창을 제외한 8개 창은 실제 화면에서 창별 언어 전환 확인을
    아직 거치지 않았습니다.
  • 중국어(간체)·일본어 문자열은 자동 검수 1차만 거쳤고 원어민 검수는
    아직입니다.
  • 실제 대상 앱에서의 클릭·드래그 동작은 이전 릴리즈와 마찬가지로 사용하는
    Windows 환경마다 계속 검증이 필요합니다.
  • 코드 서명되지 않았습니다. 보안 화면, 관리자 권한 대상 앱, 원격 세션,
    앱별 입력 정책은 여전히 캡처나 입력을 막을 수 있습니다.

Pinte v0.2.0

Choose a tag to compare

@ai-blink ai-blink released this 24 Sep 16:13

Pinte v0.2.0

Released 2026-09-25

Changes on main since v0.1.1.
English is canonical; a Korean summary follows.

Highlights

  • Advanced input timing settings. Settings → Advanced → Open input timing
    opens a small always-on-top panel that tunes four relay waits without a
    rebuild: arrival before press (0–300 ms), minimum hold (0–200 ms), dwell
    after release (0–300 ms) and gap between gestures (0–300 ms). It offers
    Apply, Previous, Default, presets (Default 100/35/60/0, Fast 50/20/30/0,
    Low latency 5/1/5/0, Instant 0/0/0/0) and A/B slots. Values change only
    after the current click or drag finishes, are saved to
    %LOCALAPPDATA%\Magnifier\pointer-timing.json and are re-applied on start.
    Buttons move in 1 ms steps below 10 ms and 5 ms steps above.
  • Ordered click delivery for targets that miss instant clicks. Each lens
    press is now relayed as one ordered gesture: move the cursor to the source
    point, wait, press, hold, release, dwell, then return. Queued clicks keep
    their order, drag movement is replayed in order, and zero or expired waits
    advance immediately instead of waiting for the next 50 ms tick. Pinte's own
    injected input is told apart from other accessibility tools by its input
    tag. Default waits: 100/35/60/0 ms.
  • Lens resizing with the mouse only. A new ⤢ button on the normal and
    compact toolbars turns resize mode on and off. In resize mode small
    12 DIP handles appear around the lens and a Done button sits in a strip
    below it, so the handles never cover the zoomed image. With the toggle off,
    lens edges and corners no longer show a resize cursor or react to dragging,
    which stops edge clicks from being taken as zoomed-image input.
  • A toolbar that stays on one line. The normal toolbar uses 40 DIP buttons
    and tighter spacing, shows the hand-tool state by color, and switches to
    short labels (▣, 크기, 숨김, ↩ 복귀, ✋) and hides the
    fine-zoom slider when the lens is too narrow for the full layout. The zoom
    number box stays available. Pan scroll bars are thinner (14 DIP).
  • Settings window tuned for mouse-only use. Checkboxes and the
    diagnostics button are 44 DIP targets, toolbar placement cards use plain
    top/bottom labels, and combo boxes and their items are 30 DIP with centered
    text (also in the region size dialog).
  • Hidden-instance recovery. Launching Pinte again while it is running
    brings the existing entry window back through the release-first return
    path, and the collapsed ⌕ lens icon stays above other windows.

Verification

  • dotnet build Magnifier.slnx --nologo: 0 warnings, 0 errors.
  • Automated tests: Core 65 and Infrastructure 81 passed. On the release
    machine the App test run stalls in lens tests that set a capture source;
    the same stall reproduces on the previous commit, so it predates this
    release. The toolbar-width and resize-handle tests added for this release
    pass when run individually.
  • One user confirmed click, double-click and drag delivery with the
    Low latency preset (5/1/5/0 ms) in one game on one PC, and confirmed the
    settings combo heights and the ⤢ resize handles.

Known limitations

  • The best timing depends on the machine and the target application. The
    default stays conservative at 100/35/60/0 ms; if clicks are missed, increase
    the arrival wait first.
  • Other games and applications, mixed-DPI and multi-monitor setups are not yet
    validated.
  • Not code-signed. Secure desktops, elevated target applications, remote
    sessions and target-specific input policies can still block capture or input.

한국어 요약

v0.1.1 이후 main에 반영된 변경입니다.

주요 변경

  • 입력 타이밍 고급 설정: 설정 → ⚙ 고급 → 「입력 타이밍 조절 열기」로 항상 위에
    뜨는 조절 창을 엽니다. 도착 후 누르기 대기(0300ms)·최소 누름 유지(0200ms)·
    해제 후 체류(0300ms)·제스처 간격(0300ms)을 재빌드 없이 바꿉니다. 적용·직전값·
    기본값, 프리셋(기본 100/35/60/0 · 빠름 50/20/30/0 · 저지연 5/1/5/0 · 즉시 0/0/0/0),
    A/B 비교를 제공합니다. 진행 중인 클릭·드래그가 끝난 뒤 다음 누름부터 바뀌고,
    값은 %LOCALAPPDATA%\Magnifier\pointer-timing.json에 저장되어 다음 실행에도
    적용됩니다. −/+ 버튼은 10ms 미만에서 1ms, 그 이상에서 5ms씩 움직입니다.
  • 순서가 있는 클릭 전달: 즉시 클릭을 놓치는 대상 앱을 위해, 렌즈 누름을 한 묶음
    동작(원본 위치로 이동 → 대기 → 누름 → 유지 → 해제 → 체류 → 복귀)으로 전달합니다.
    여러 클릭은 순서를 지키고 드래그 이동도 순서대로 재생하며, 0ms·이미 지난 대기는
    다음 50ms 주기를 기다리지 않고 바로 진행합니다. Pinte 자신이 보낸 입력은 입력 태그로
    다른 보조 도구 입력과 구분합니다. 기본 대기는 100/35/60/0ms입니다.
  • 마우스만으로 렌즈 크기 조절: 일반·컴팩트 툴바의 ⤢로 조절 모드를 켜고 끕니다.
    켜면 렌즈 둘레에 12 DIP 손잡이가, 렌즈 아래 띠에 「크기 조절 완료」 버튼이 생겨
    확대 화면을 가리지 않습니다. 꺼져 있으면 가장자리·모서리에 크기 조절 커서가 뜨지
    않고 끌어도 반응하지 않아, 테두리 근처 클릭이 확대 화면 입력으로 넘어가지 않습니다.
  • 한 줄을 유지하는 툴바: 일반 툴바 버튼을 40 DIP·좁은 여백으로 맞추고 손 도구
    상태는 색으로 보여 줍니다. 렌즈가 좁아 한 줄에 안 들어가면 ▣·크기·숨김·
    ↩ 복귀·✋ 짧은 표기로 바꾸고 세밀 슬라이더를 숨깁니다(배율 숫자 입력은 유지).
    이동 스크롤바는 14 DIP로 얇아졌습니다.
  • 마우스 전용 설정 창 정비: 체크박스·진단 버튼 44 DIP, 툴바 위치 카드는 위/아래
    표기, 콤보 상자와 펼친 항목은 30 DIP·가운데 정렬입니다(영역 크기 창 포함).
  • 숨은 인스턴스 복구: 실행 중에 다시 실행하면 기존 진입 창을 release 우선 경로로
    되살리고, 접힌 렌즈 ⌕ 아이콘은 다른 창 위에 유지됩니다.

검증

  • 표준 build 경고 0·오류 0, 자동 테스트 Core 65·Infrastructure 81 통과.
  • 릴리즈 PC에서 App 테스트는 캡처 원본을 지정하는 렌즈 테스트에서 멈춥니다. 직전
    커밋에서도 같은 현상이 재현되어 이번 릴리즈 이전부터 있던 문제입니다. 이번에 추가한
    툴바 폭·리사이즈 손잡이 테스트는 개별 실행으로 통과했습니다.
  • 한 사용자가 한 PC·한 게임에서 「저지연」(5/1/5/0ms) 클릭·더블클릭·드래그 전달과
    설정 콤보 높이, ⤢ 리사이즈 손잡이를 확인했습니다.

알려진 제한

  • 알맞은 타이밍은 PC 사양과 대상 앱마다 다릅니다. 기본값은 보수적인 100/35/60/0ms를
    유지하며, 클릭이 누락되면 도착 대기부터 늘리세요.
  • 다른 게임·앱, 혼합 DPI·다중 모니터 환경은 아직 검증하지 않았습니다.
  • 코드 서명되지 않았습니다. 보안 화면, 관리자 권한 대상 앱, 원격 세션, 앱별 입력
    정책은 여전히 캡처나 입력을 막을 수 있습니다.

Pinte v0.1.1

Choose a tag to compare

@ai-blink ai-blink released this 17 Sep 15:39

포함 변경

  • 화면 캡처 숨김을 기본 꺼짐의 설정으로 제공
  • 설정 콤보 목록을 한 줄로 표시하고 기본 영역·배율 값을 항상 선택 가능하게 개선
  • 접힌 렌즈 ⌕ 토글을 드래그로 이동하고 클릭으로 다시 펼칠 수 있도록 개선

검증

  • dotnet build Magnifier.slnx --nologo — 경고 0, 오류 0
  • dotnet test Magnifier.slnx --nologo — 146개 통과

알려진 범위

실제 화면 캡처 제외, 토글 이동·다시 펼치기, 대상 앱별 입력 호환성은 사용 중인 Windows 환경에서 계속 확인이 필요합니다.

Pinte v0.1.0

Choose a tag to compare

@ai-blink ai-blink released this 14 Sep 09:47

Pinte v0.1.0

Official release · 2026-09-14 · GitHub Release

This document is the version-controlled counterpart of the GitHub Release
notes. English is canonical; a Korean summary follows. Read the project guide
in English, 한국어,
简体中文, or 日本語.

Highlights

  • Adds direct fine zoom control from 0.25× through 8× while retaining the
    fast zoom buttons.
  • Retries transient lens geometry configuration failures so a valid lens can
    resume only after a newly captured frame is safe to use for input routing.
  • Records frame freshness and relay state when input is paused or stopped,
    making a real-world input interruption diagnosable without affecting input
    release.
  • Filters duplicate native Left Down messages and protects the relay queue so
    a second Down cannot terminate an already active click or drag session.

Verification

  • dotnet build Magnifier.slnx --nologo passed with 0 warnings and 0 errors.
  • dotnet test Magnifier.slnx --nologo passed: 120 tests total.
  • Included asset: self-contained Windows x64 single-file build. The final
    SHA-256 is published with the GitHub Release asset.

Known limitations

  • This build is not code-signed.
  • Secure desktops, protected content, elevated target applications, remote
    sessions, and target-specific input policies can prevent capture or input
    relay.
  • Real target-application behavior still requires manual validation on the
    Windows environments and target applications you use.

한국어 요약

Pinte의 첫 정식 릴리즈입니다.

주요 변경

  • 빠른 배율 버튼을 유지하면서 0.25×부터 8×까지 직접 조절하는 세밀 배율 제어를
    추가했습니다.
  • 일시적인 렌즈 geometry 구성 실패를 재시도하고, 안전한 새 캡처 프레임 뒤에만
    입력 전달을 재개합니다.
  • 입력이 중지·일시 정지될 때 프레임 freshness와 relay 상태를 남겨, release 동작에
    영향을 주지 않고 실제 환경의 중단 원인을 진단할 수 있습니다.
  • 중복 native Left Down을 걸러 동일 클릭·드래그 세션의 두 번째 Down이 입력 세션을
    종료시키지 않도록 했습니다.

검증

  • 표준 build는 경고 0·오류 0, 자동 테스트는 총 120개 통과했습니다.
  • Windows x64 자체 포함 단일 실행 파일 ZIP을 포함하며, 최종 SHA-256은 GitHub
    Release 자산과 함께 게시합니다.

알려진 제한

  • 이 배포본은 코드 서명되지 않았습니다.
  • 보안 화면, 보호 콘텐츠, 관리자 권한 대상 앱, 원격 세션, 앱별 입력 정책은 캡처
    또는 입력 전달을 제한할 수 있습니다.
  • 실제 대상 앱 동작은 사용하는 Windows 환경과 대상 앱에서 계속 수동 검증이
    필요합니다.

Pinte v0.1.0-beta.1 - First public preview

Choose a tag to compare

@ai-blink ai-blink released this 13 Sep 13:38

Pinte v0.1.0-beta.1

First public preview of Pinte, a mouse-first Windows magnifier for precise clicking and dragging.

Read the project guide in English, 한국어, 简体中文, or 日本語.

Added

  • An independent live lens with normal and compact layouts.
  • Source-area editing, lens resizing, zoom, pan/hand tool, and top or bottom toolbar placement.
  • English, Korean, Simplified Chinese, and Japanese README files.

Changed

  • The hand tool now clearly shows whether pan mode is on or off.
  • Lens resize chrome reserves less margin in small windows.
  • Temporary capture failures pause input safely, retry automatically, and resume only after a fresh frame arrives.
  • Pinte helper windows are intentionally excluded from capture to prevent a recursive mirror effect.

Verification

  • dotnet build Magnifier.slnx --nologo passed with 0 warnings and 0 errors.
  • dotnet test Magnifier.slnx --nologo passed: 116 tests total.
  • Included asset: self-contained Windows x64 single-file build.

Known preview limitations

  • This build is not code-signed.
  • Secure desktops, protected content, elevated target applications, remote sessions, and target-specific input policies may prevent capture or input relay.
  • Real target-application behavior still requires manual validation.

SHA-256 (Pinte-v0.1.0-beta.1-win-x64.zip):
97F74FD3834CCAEE973EE9D112A9F47014B4E5270E6DFCF360C02A2764867F2F


한국어 요약

마우스로 정밀하게 클릭·드래그하기 위한 Pinte의 첫 공개 프리뷰입니다.

추가

  • 일반/컴팩트 레이아웃을 지원하는 독립 실시간 렌즈
  • 원본 영역 편집, 렌즈 크기 조절, 배율, 손 도구 이동, 위/아래 도구막대
  • 영어·한국어·중국어(간체)·일본어 README

변경

  • 손 도구의 켜짐/꺼짐 상태를 명확히 구분합니다.
  • 작은 렌즈에서 리사이즈 여백을 줄였습니다.
  • 일시적인 캡처 실패 시 입력을 안전하게 멈추고 자동 재시도하며, 새 프레임을 받은 뒤에만 조작을 재개합니다.
  • 렌즈가 자기 자신을 반복 확대하지 않도록 Pinte 보조 창을 캡처에서 의도적으로 제외합니다.

검증 및 프리뷰 제한

  • 표준 build는 경고 0·오류 0, 자동 테스트는 총 116개 통과했습니다.
  • 이 배포본은 Windows x64 자체 포함 단일 실행 파일이며 코드 서명되지 않았습니다.
  • 보안 화면, 보호 콘텐츠, 관리자 권한 대상 앱, 원격 세션, 앱별 입력 정책은 캡처 또는 입력 전달을 제한할 수 있습니다.
  • 실제 대상 앱에서의 동작은 계속 수동 검증이 필요합니다.