Skip to content

docs: describe the native GIF export path - #1360

Open
shaun0927 wants to merge 1 commit into
getopenscreen:mainfrom
shaun0927:docs/native-gif-export-path
Open

shaun0927 wants to merge 1 commit into
getopenscreen:mainfrom
shaun0927:docs/native-gif-export-path

Conversation

@shaun0927

@shaun0927 shaun0927 commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The export architecture guide says GIF has no native encoder and points to src/lib/exporter/gifExporter.ts, which no longer exists. Describe the current ExportDialog → exportGifNative → native bridge → Rust GIF encoder path and link to the implementation.

Related issue

No existing issue. Verified against the current implementation on main.

Type of change

  • Documentation

Release impact

  • No release note needed

Desktop impact

  • Not platform-specific

Screenshots / video

Not applicable; documentation only.

Testing

  • npm run docs:check — passed (37 files).
  • git diff --check — passed.
  • Traced the GIF export call through ExportDialog.tsx, compositorViewClient.ts, compositorViewService.ts, the N-API addon and gif_export.rs; confirmed it uses walk_composited_timeline.
  • No application or native runtime tests run; this changes documentation only.

Prepared with AI assistance; verification above describes the checks actually performed.

Summary by CodeRabbit

  • New Features
    • GIF exports now use the shared compositing pipeline, improving consistency with the project timeline and scene composition.
  • Bug Fixes
    • GIF rendering behavior is aligned with the native export workflow for more reliable output.
  • Documentation
    • Clarified that truncated project files are rejected instead of being partially recovered.

The architecture guide still directed readers to the removed renderer exporter.

Tested: npm run docs:check; git diff --check; traced the UI-to-Rust export calls
Confidence: high
Scope-risk: narrow
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0d9c08b6-e092-44e0-a223-fde539d3a091
📥 Commits

Reviewing files that changed from the base of the PR and between 1e91710 and 1064f47.

📒 Files selected for processing: 1
  • technical-documentation/architecture/export-pipeline.md

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

📝 Walkthrough

The architecture documentation describes GIF export through the native compositor and Rust encoder. It also states that the loader rejects truncated project files.

Changes: Architecture documentation

Layer / File(s) Summary
Export and loading documentation
technical-documentation/architecture/export-pipeline.md
The documentation describes GIF export through the native compositor and shared progress monitoring. It also states that truncated project files are rejected rather than salvaged.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 1064f

The documentation-only update is ready to merge.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely describes the documentation change to the native GIF export path.
Description check Passed The description covers the change summary, issue status, change type, release impact, desktop impact, screenshots, and testing. It also identifies the implementation path and records the checks perfor…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description covers the change summary, issue status, change type, release impact, desktop impact, screenshots, and testing. It also identifies the implementation path and records the checks performed.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
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.

1 participant