Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
267d3a9
docs: map existing codebase
NickPittas Apr 10, 2026
adc2597
docs(03-01): record annotation audit findings
NickPittas Apr 11, 2026
7ba0b8f
fix(03-01): preserve live annotation overlays on Wayland
NickPittas Apr 11, 2026
248d0d3
test(03-01): validate annotation scene-coordinate persistence
NickPittas Apr 11, 2026
0e6faf7
docs(03-01): finalize execution summary self-check
NickPittas Apr 11, 2026
50e0dd8
test(03): persist human verification items as UAT
NickPittas Apr 11, 2026
d292e3b
fix(03): restore Wayland playback fallback path
NickPittas Apr 11, 2026
745ce39
feat: merge linux-port-fedora43 worktree snapshot
NickPittas Apr 12, 2026
6c80524
feat: checkpoint linux wayland playback and safety updates
NickPittas Apr 14, 2026
50394af
feat: checkpoint linux workflow and playback investigation
NickPittas Apr 18, 2026
b100c9b
feat: add FFmpeg MOV playback backend
NickPittas Apr 18, 2026
f91c302
feat: rewrite Linux MOV playback path
NickPittas Apr 18, 2026
c6db4eb
build: add Linux AppImage packaging flow
NickPittas Apr 18, 2026
18d320c
build: ignore local appimage packaging artifacts
NickPittas Apr 19, 2026
8e9d86c
chore: checkpoint current linux preview state
NickPittas Apr 20, 2026
e4125e0
fix(linux): MP4/MOV reverse playback and step-back on Wayland
NickPittas Apr 20, 2026
69a6b39
fix(linux): MOV backward buffer oscillation after forward seek
NickPittas Apr 20, 2026
a4a0fc0
fix(linux): MOV reverse playback choppiness via async seek overlap
NickPittas Apr 20, 2026
305b9a6
ui: center transport buttons and merge loop/speed into audio row
NickPittas Apr 20, 2026
e72a8f9
chore: bump version to 1.8.6
NickPittas Apr 20, 2026
27066d8
Add Fedora 43 Linux port build artifacts
NickPittas Apr 21, 2026
f60532d
cleanup(linux): remove debug logging, tighten tests, and update docs
NickPittas Apr 21, 2026
9c5de21
cleanup(repo): remove committed build artifacts from tracking
NickPittas Apr 21, 2026
2a6a03a
cleanup(ui): remove dead playbackControlsGroup widget
NickPittas Apr 21, 2026
e307f59
perf(ffmpeg): cap backward buffer by memory
NickPittas Apr 21, 2026
8cf79cf
cleanup(repo): remove unused Windows resource script
NickPittas Apr 21, 2026
4c7851b
cleanup(src): remove unused FFmpeg includes and helpers
NickPittas Apr 21, 2026
f5844d4
feat(ui): add rich video metadata to sidebar info panel
NickPittas Apr 21, 2026
be6d0f0
fix(ui): add video metadata to File Manager info panel too
NickPittas Apr 21, 2026
68048ac
docs: add comprehensive AppImage creation guide
NickPittas Apr 21, 2026
4157b95
cleanup: remove tracked .d build dependency files from git
NickPittas May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .agent-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Agent Workflow Contract

1. Read `AGENTS.md` first before any thinking, planning, search, subagent use, implementation, or validation.
2. Do not assume anything. Treat user-provided paths, scope, and constraints as authoritative.
3. Use only explicitly provided paths and scope. Do not perform broad searches outside them.
4. Use subagents for research, tracing, and verification whenever possible.
5. Work on one active milestone at a time.
6. No repeated rereads unless the file changed, a new error points to it, or the user explicitly asks.
7. Every work cycle must end with exactly one of: a code change, a build/test result, or a blocker with exact evidence.
8. If two consecutive turns produce no patch, build/test, revert, or blocker, stop and report the blockage immediately.
9. No speculative fixes. Tie every code change to a specific failing gate with evidence.
10. Revert failed fixes immediately after negative validation.
11. Keep reporting minimal: what changed, what ran, what happened, what is next.
23 changes: 22 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ node_modules/
# Build outputs
dist/
build/
build-*/
cmake-build-*/
out/
installer/

Expand Down Expand Up @@ -42,6 +44,11 @@ coverage/
# Temporary files
tmp/
temp/
__pycache__/
*.pyc
*.pyo
*.tmp
*.bak

# Media and binary artifacts
*.mov
Expand All @@ -53,9 +60,23 @@ resources/ffmpeg/
*.dll
*.pdb
*.exe
/*.AppImage
tools/appimage/

# Compiler dependency files (generated during build)
*.d

# AppImage staging / unpacked squashfs
squashfs-root/

# Session / runtime logs
*.log

# Octto session artifacts
.octto/

B165C015_241223_R0G5.mxf.txt
.kilocode/mcp.json
OpenColorIO-Config-ACES-1.2/
studio-config-all-views-v4.0.0_aces-v2.0_ocio-v2.5.ocio
third_party/tlRender-build/
third_party/tlRender-build/
19 changes: 19 additions & 0 deletions .planning/PROJECT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Project

## Current State

Linux Fedora 43 KDE Wayland port in progress for KAsset Manager. Current focus is preserving annotation workflows for video and image-sequence playback while keeping the existing Qt Widgets and tlRender architecture intact.

## Requirements

- FEDORA43-BASELINE: Linux-safe configure, build, and startup
- FEDORA43-PLAYBACK: Wayland video and sequence playback works reliably
- FEDORA43-ANNOTATION: Annotation overlays, frame sync, shortcuts, and exports remain correct on Wayland
- FEDORA43-THUMBNAILS: Thumbnail generation and scrubbing remain correct on Linux
- FEDORA43-FILEOPS: Linux file operations and reveal integrate with the desktop environment
- FEDORA43-PROJECTS: Project Manager and batch rename workflows remain valid on Linux
- FEDORA43-CONVERTERS: Bundled conversion tools resolve correctly in Linux runtime
- FEDORA43-APPIMAGE: AppImage runtime reproduces validated local behavior
- FEDORA43-DOCS: Linux/Fedora/AppImage documentation matches implementation

Last updated: 2026-04-11
25 changes: 25 additions & 0 deletions .planning/REQUIREMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Requirements

- [x] **FEDORA43-BASELINE**: Fedora Wayland app configure/build/startup baseline established
- [x] **FEDORA43-PLAYBACK**: tlRender video and sequence playback validated on Wayland
- [x] **FEDORA43-ANNOTATION**: Annotation workflows work correctly on video and sequences under Wayland, with fullscreen preview overlay drawing tools, playback UI state, frame sync, and export behavior verified
- [x] **FEDORA43-THUMBNAILS**: Thumbnail generation and scrubbing work correctly on Linux
- [x] **FEDORA43-FILEOPS**: Linux file operations and file manager reveal behave natively
- [x] **FEDORA43-PROJECTS**: Project Manager and batch rename workflows validated on Linux
- [x] **FEDORA43-CONVERTERS**: Bundled ffmpeg and magick lookup works in Linux runtime
- [ ] **FEDORA43-APPIMAGE**: Fedora Wayland AppImage builds and runs with required features
- [ ] **FEDORA43-DOCS**: Linux/Fedora/AppImage support is documented

## Traceability

| Requirement | Phase | Status |
|-------------|-------|--------|
| FEDORA43-BASELINE | Phase 1 | Complete |
| FEDORA43-PLAYBACK | Phase 2 | Complete |
| FEDORA43-ANNOTATION | Phase 3 | Complete |
| FEDORA43-THUMBNAILS | Phase 4 | Complete |
| FEDORA43-FILEOPS | Phase 5 | Complete |
| FEDORA43-PROJECTS | Phase 6 | Complete |
| FEDORA43-CONVERTERS | Phase 7 | Complete |
| FEDORA43-APPIMAGE | Phase 8 | Pending |
| FEDORA43-DOCS | Phase 9 | Pending |
91 changes: 91 additions & 0 deletions .planning/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Roadmap

- [x] **Phase 1: Establish Fedora 43 Wayland App Build Baseline**
- [x] **Phase 2: Prove tlRender Video And Sequence Playback On Wayland**
- [x] **Phase 3: Preserve Annotation On Video And Sequences**
- [x] **Phase 4: Preserve Thumbnail Generation And Scrubbing**
- [x] **Phase 5: Port Linux File Operations And File Manager Reveal**
- [x] **Phase 6: Verify Project Manager And Batch Rename**
- [x] **Phase 7: Bundle And Verify Converters**
- [x] **Phase 8: Package The Fedora 43 Wayland AppImage**
- [x] **Phase 9: Document Linux/Fedora 43 Wayland Support**

| Phase | Plans | Status | Completed |
|-------|-------|--------|-----------|
| 1 | 0/0 | Complete | 2026-04-10 |
| 2 | 0/0 | Complete | 2026-04-10 |
| 3 | 1/1 | Complete | 2026-04-18 |
| 4 | 0/0 | Complete | 2026-04-18 |
| 5 | 0/0 | Complete | 2026-04-14 |
| 6 | 1/1 | Complete | 2026-04-18 |
| 7 | 1/1 | Complete | 2026-04-18 |
| 8 | 0/0 | In Progress | 2026-04-21 |
| 9 | 0/0 | In Progress | 2026-04-21 |

### Phase 1: Establish Fedora 43 Wayland App Build Baseline
**Goal:** Enable Linux-safe configure/build/startup on Fedora 43 Wayland.
**Requirements:** FEDORA43-BASELINE
**Plans:** 0/0 plans complete

### Phase 2: Prove tlRender Video And Sequence Playback On Wayland
**Goal:** Restore stable video and sequence playback on Fedora 43 Wayland.
**Requirements:** FEDORA43-PLAYBACK
**Plans:** 0/0 plans complete

### Phase 3: Preserve Annotation On Video And Sequences
**Goal:** Restore fullscreen preview overlay annotation behavior, playback UI correctness, frame sync, and exports for both video and image sequences under Wayland.
**Requirements:** FEDORA43-ANNOTATION
**Plans:** 1/1 plans complete

Status note: User runtime verification accepted fullscreen/video annotation behavior, playback UI state, and annotation export on Linux after the focused Wayland preview/annotation fixes landed.

Plans:
- [x] **03-01** Reproduce, fix, and validate fullscreen preview overlay annotation-tool failures and playback UI regressions on Wayland

### Phase 4: Preserve Thumbnail Generation And Scrubbing
**Goal:** Restore thumbnails and scrubbing responsiveness on Linux.
**Requirements:** FEDORA43-THUMBNAILS
**Plans:** 0/0 plans complete

Status note: User runtime verification accepted thumbnails and scrubbing responsiveness on Linux.

### Phase 5: Port Linux File Operations And File Manager Reveal
**Goal:** Match Linux file manager semantics while preserving app UX.
**Requirements:** FEDORA43-FILEOPS
**Plans:** 0/0 plans complete

Status note: Completed from the current worktree fixes; user-reported working on Linux to the best of available manual verification.

### Phase 6: Verify Project Manager And Batch Rename
**Goal:** Validate project workflows and only fix Linux-specific issues found.
**Requirements:** FEDORA43-PROJECTS
**Plans:** 1/1 plans complete

Status note: User runtime verification accepted Project Manager and Batch Rename behavior on Linux after the focused verification/fix slice landed.

Plans:
- [x] **06-01** Add the narrow Project Manager verification slice: PM batch rename, selected-folder destinations, refresh rescan, and focused regression coverage

### Phase 7: Bundle And Verify Converters
**Goal:** Prefer bundled ffmpeg and magick paths in Linux runtime flows.
**Requirements:** FEDORA43-CONVERTERS
**Plans:** 1/1 plans complete

Status note: User runtime verification accepted bundled converter behavior on Linux, and focused automated converter coverage remains in place (`test_media_converter_worker` with CTest registration).

Plans:
- [x] **07-01** Resolve bundled Linux converter lookup first, keep ffprobe aligned with the chosen ffmpeg bundle, and verify the affected conversion flows

### Phase 8: Package The Fedora 43 Wayland AppImage
**Goal:** Produce and validate a Fedora 43 Wayland-capable AppImage.
**Requirements:** FEDORA43-APPIMAGE
**Plans:** 0/0 plans complete

Status note: AppImage packaging scripts (`scripts/build-linux-appimage.sh`, `scripts/package-appimage.sh`) are in place and producing `KAssetManager-x86_64.AppImage`. Final user smoke test in a normal Wayland session is the remaining gap before marking complete.

### Phase 9: Document Linux/Fedora 43 Wayland Support
**Goal:** Capture Linux build, validation, and packaging guidance.
**Requirements:** FEDORA43-DOCS
**Plans:** 0/0 plans complete

Status note: `docs/linux-wayland-validation.md` exists and covers playback validation corpus, AppImage notes, and smoke commands. Remaining polish items are listed there (OCIO/color controls on non-native paths, general AppImage documentation cleanup).
44 changes: 44 additions & 0 deletions .planning/STATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
gsd_state_version: 1.0
milestone: v1.0
milestone_name: milestone
current_phase: 07
current_phase_name: package-the-fedora-43-wayland-appimage
current_plan: none
status: ready_for_next_phase
last_updated: "2026-04-18T00:00:00Z"
last_activity: 2026-04-18
progress:
total_phases: 9
completed_phases: 7
total_plans: 3
completed_plans: 3
percent: 78
---

# State

**Current Phase:** 08
**Current Phase Name:** package-the-fedora-43-wayland-appimage
**Status:** Ready for next phase after Linux playback, annotation, thumbnails, project workflows, and bundled converters were accepted in runtime verification
**Current Plan:** none
**Total Plans in Phase:** 0
**Last Activity:** 2026-04-18
**Last Activity Description:** Fedora 43 Wayland playback is now accepted within small measurement variance using the rewritten FFmpeg MOV player path, and the user also accepted annotation, export, thumbnails, Project Manager, Batch Rename, and bundled converter behavior in runtime checks

## Current Position

Phase: 08 (package-the-fedora-43-wayland-appimage) — READY TO START
Plan: none
Status: Ready for next phase after user-accepted Linux runtime verification of playback, annotation, thumbnails, project workflows, and bundled converters
Current Phase: 08 - Package The Fedora 43 Wayland AppImage
Current Plan: none
Last activity: 2026-04-18 -- MOV playback is accepted within small variance across the validated fixture set after the FFmpeg MOV player rewrite, and the previously blocked Linux runtime workflows are accepted by user verification

## Performance Metrics

Total plans completed: 3

| Phase | Plans | Total | Avg/Plan |
|-------|-------|-------|----------|
| - | - | - | - |
Loading
Loading