Skip to content

Feat/image color pick - #4

Merged
pdjdev merged 506 commits into
build/osxfrom
feat/image-color-pick
Oct 17, 2026
Merged

pdjdev merged 506 commits into
build/osxfrom
feat/image-color-pick

Conversation

@pdjdev

@pdjdev pdjdev commented Oct 17, 2026

Copy link
Copy Markdown
Owner

No description provided.

niksedk and others added 30 commits October 14, 2026 18:40
…leEdit#12087)

Every arrow press in the Language combo reloaded the names, user words and
OCR fix lists synchronously on the UI thread (file parsing plus ~11k
one-by-one Adds for English). NVDA's query for the combo's new value went
unanswered while the UI thread was busy, so the change was never spoken.

Reload 250 ms after the selection settles, load the files off the UI thread
and swap in whole collections (one change per list).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…leEdit#16038)

Each caption's load was written pre-roll frames before its start without
looking at the caption before it, so timecodes went backwards and a load
(94ae erases non-displayed memory) could wipe the previous caption before
its 942f.

The writer now schedules on the timecode frame grid: a load starts no
earlier than two frames after the previous 942f, lines never overlap, the
942c is dropped when the next caption flips directly after, and when the
clear falls inside the next load it waits until the load is sent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ists-language-combo-a11y

Word lists: announce Language combo changes to screen readers (SubtitleEdit#12087)
…convert-plugin-support-a908fd

Batch convert: run batch-capable plugins
…r-timeline-16038

Fix SCC save: monotonic timeline, load after previous display (SubtitleEdit#16038)
…ubtitleEdit#16039)

On Hyprland's XWayland the fullscreen window gets the X focus, but Avalonia
never sees it activated. Its Focus() call on first activation did nothing
anyway, because a Window can't take focus. So Escape and the seek keys went
to the main window, where arrow keys could reach the main menu and hang the
UI thread in Avalonia's menu navigation.

- Make the fullscreen grid focusable and focus it on Opened/Loaded.
- While fullscreen is open, the main window forwards keys that still reach
  it to the fullscreen window and closes the main menu. A key-up is marked
  handled, so an Alt release can't open the menu. A click in the main
  window or activating it hands the keyboard back, for editing on a
  second monitor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…fullscreen-keys-16039

Fullscreen video: take keyboard focus without waiting for activation (SubtitleEdit#16039)
Twenty flat SVGs (100 x 100 view box, 1-4 colors each) in a new "Clip art"
palette category: heart, manga marks (anger, sweat, sparkles, blush,
surprise), Bam! burst, Zzz, sun, flame, light bulb, lightning, music notes,
phone, question/exclamation marks, check, cross, thumbs up, star.

They keep their own colors (one layer per color, like saved shapes), and
saved shapes and clip art now show all their colors in the palette. The
text area goes on the topmost part under its center, so a burst's text
isn't covered by its yellow middle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Broken heart, ghost, skull, snowflake, moon and stars, rain cloud, bomb,
gift, crown, clock, clapperboard, microphone, warning sign, no entry.
Text areas on the rain cloud and the clapperboard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…raw-clip-art

ASSA draw: colored clip art in the shape library
- Laid out like ASSA draw (always dark, preview in the middle, properties
  panel on the right, compact fields, accent OK button), reusing its
  editor styles and helpers.
- Box styles are a gallery of thumbnails drawn by the generator itself.
- New borders: pill, cut corners, slanted, ticket, speech bubble, ribbon,
  brush stroke (seeded, so the preview doesn't jitter), corner brackets,
  underline bar.
- Padding as a box diagram; shadow distance gets a field; radius only
  editable for rounded corners; outline width and shadow distance are
  saved like the other settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Qwen2-VL-2B fine-tuned for Arabic (mradermacher merged GGUF, Q8_0 + mmproj-Q8_0).
On a 61-image Arabic subtitle benchmark it scored 29/61 exact at 5.2% character
error, ahead of HunyuanOCR (26/61, 9.3%) and far ahead of the GLM-OCR default
(1/61, 56%). It merges two-line subtitles, so it ranks just before LightOnOCR.

Refs SubtitleEdit#16043

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-qari-ocr-model

OCR: add QARI-OCR 0.2.2.1 (Arabic) as curated llama.cpp model
…yles

- Previous/next buttons under the preview step through the selected
  lines (box re-measured for each line, video seeks to it).
- Clicking the preview no longer starts playback.
- Radius row only shows for rounded corners.
- New styles: frame (border only), arrow tag, side bar.
- The video sits in a plain container: a rounded, clipped border kept the
  macOS video surface from showing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Stretching a style's own shape lost its position - the underline bar
showed as a line at the top. Each tile now scales the style together with
the sample box and two placeholder text lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closing a window marks the player, the graphics thread (macOS IOSurface
render thread, or the OpenGL deinit callback) starts
mpv_render_context_free, and the owner's background Dispose saw the
render-context handle already cleared and called mpv_terminate_destroy
while the free was still running. The free then read the core's freed
option data: SIGSEGV in free_option_data, seen closing ASSA Set
background on macOS. Freeing the render context and destroying the core
now share a lock.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… seeks

VideoPlayerControl.WheelToSeek (default on), off in Set background.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…et-background-ui

ASSA Set background: ASSA draw look, style gallery, twelve new borders
…nder-context-free-race

libmpv: destroy the core only after the render context is freed (close crash)
- Laid out like ASSA draw and Set background: always dark, settings on
  the left, preview on the right, compact fields, accent OK.
- Bar styles as a gallery; thumbnails are the real shape, 60% filled.
- New styles: cut corners, arrow, slanted, segments, rounded segments,
  dots, diamonds, chevrons, stripes, wave, zigzag, tapered, ruler, double
  line, thin track. Each is one drawing that \K fills left to right.
- Edge margin (floating bar; chapters and splitters follow) and an
  optional playhead knob that \move-s along the bar.
- Shared AssaDrawingGeometry + AssaDrawWindow.MakeEditorSection, used by
  Set background too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rogress-bar-ui

ASSA progress bar: ASSA draw look, style gallery, 16 new bar styles
- Settings on the left like the other ASSA editors: X/Y fields (script
  space, editable), 3x3 anchor grid placing the line inside the 5% safe
  area, center horizontally/vertically, reset to the line's position.
- Rotation slider plus exact field and reset.
- Guides: safe area and center lines over the frame, and snapping of the
  box edges/center to them while dragging.
- Arrow keys nudge 1 px (Shift 10), dashed selection box and a dot on the
  \pos anchor, the tags OK writes shown live at the bottom.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…et-position-ui

ASSA Set position: ASSA draw look, anchor grid, rotation slider, guides
- Dark editor layout: actions bar on top (attach, import, export, trim
  fonts), the list on the left with move/delete buttons, the preview on
  the right with the font actions in its header, accent OK.
- Drop .ttf or image files onto the window to attach them (shares
  AttachFiles with the picker).
- Bottom bar summary: "3 fonts · 2 graphics · 1.2 MB".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ttachments-ui

ASSA attachments: ASSA draw look, drop files to attach, summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ivandrofly and others added 28 commits October 16, 2026 21:52
Use string.Contains(char) / Contains(string[, StringComparison]) instead of
IndexOf(...) >= 0 / == -1 for existence checks. Ordinal IndexOf(string)
calls become plain Contains(string), which is ordinal by definition.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
string has instance Contains(char) and Contains(string, StringComparison)
on both netstandard2.1 and net10.0, and instance methods always win over
extensions, so the two wrappers in StringExtensions were never called.
Also use !Contains('.') in HtmlUtil.IsUrl to match the rest of the line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…f-to-contains

Replace IndexOf(...) >= 0 checks with Contains
Restores 550 existing translations that were replaced by machine translation
(e.g. 'Shot in' -> 'Застрелян в', 'Play line' -> 'Линия за игра') while the
English text is unchanged, keeping quote-style-only changes. Fixes 12 broken
{0} placeholders that failed LanguageFileFormatStringTests, the lost command
palette access key, and 100 of the newly added strings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restores 2169 existing translations (reviewed by LazySwift on 2026-10-10) that
were replaced by machine translation while the English text is unchanged
(e.g. 'Log' -> 'Бревно', 'speakers' -> 'динамики', lost menu access keys,
'{0} lines merged' -> 'Линии X объединены'). Fixes 129 of the newly added
strings for terminology and meaning.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Left/Right (Up/Down) closed the Show image window and the caller opened a new
one for the neighbour, which flickered. The view model now takes a Navigate
callback and swaps title/image/text in place. Used by OCR and Point sync via
other. The OCR grid menu item also shows its Ctrl+P shortcut.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ctrl+wheel (or Cmd+wheel) over the grid zooms the thumbnails like Ctrl+plus/minus,
via a tunnel handler so the list doesn't scroll too. Ctrl+0 resets to the default size.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mage-in-place-navigation

Image viewer: step prev/next in place instead of reopening the window
…umbnail-zoom-wheel

OCR: Ctrl+mouse wheel and Ctrl+0 for image thumbnail zoom
- Regex replace: {\u1} (ASSA underline) is no longer read as a case escape
- Waveform: same-time ASSA lines keep the neighbour gap and snapping when
  dragged, stack from the full list, same track only, Alt-resize and
  multi-selection take the stack along
- Check for updates: timeouts no longer leave the dialog stuck, per-user
  staging folder, one install helper per session, Linux helper ignores TERM
- D-Cinema MXF: error (shown to the user) above 4095 images instead of a
  corrupt header, reel duration at the real fractional frame rate, time
  code range checks
- Video player previous/next subtitle: time order, no restart loop
- Auto-wrap while typing: never breaks inside a tag, caret mapping
- llama.cpp advanced translate: thinking-off message and 4xx fallback
- Sync audio track: skip data streams, fallback map by audio number,
  partial file removed after cancel
- ASSA draw: animation duration from the drawing rows, one animation per
  layer, drag slop, select all skips hidden shapes, no empty undo step
- ASSA styles keep the category, attachments survive unreadable files,
  Set position fields show what OK writes, progress bar end-cap insets,
  color picker frees its frame copy
- Korean.json: drop 105 keys nothing reads any more

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-commits-bughunt-6f3c76

Fix bugs found in the last three days of commits
The finger came out of the middle of the fist; it is now the index
finger along the side, with folded fingers and a thumb.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…raw-pointing-hand

ASSA draw: pointing hand clip art points with the index finger
…tton

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Split at video position, at the text box cursor, or at both, then go to
the second part and play from the cut. A split at the video position
while the video is playing keeps playing. The SE4 shortcut
MainTextBoxSplitAtCursorAndVideoPosPlay now imports to the play variant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Selected lines, selected lines and all following, and all lines, each
by one frame of the current frame rate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-window-arrow-up-down

Choose layout: arrow Up/Down and Enter
…Edit#9537)

The mirror of "move text after cursor position to next subtitle": the
text before the caret is appended to the previous line and the rest
stays on the current one. Works on whichever text box has focus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Selects the lines the subtitle grid highlights as errors (the same
rules as List errors / Go to next error), so they can be fixed in one
go with e.g. Break/split long lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tleEdit#10136)

A new "Custom error rules" window manages a list of rules (name,
regular expression, case sensitive, color, enabled) plus an on/off
switch. A line whose text matches an enabled rule gets the rule's color
in the text cell and counts as an error, so List errors, Go to next
error and Modify selection > Has errors find it too - e.g. "[CHECK]"
markers left by a translation pipeline.

Open it from Settings > Syntax coloring or the new "Show custom error
rules" shortcut; "Toggle custom error rules coloring on/off" switches
the highlighting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-17T13:29:11.339119Z 0b5704a PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@pdjdev
pdjdev merged commit 5d189c1 into build/osx Oct 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants