Skip to content

feat(generator):add edit frames - #215

Open
cqhasy wants to merge 8 commits into
1024XEngineer:mainfrom
cqhasy:feat/edit-frames
Open

feat(generator):add edit frames#215
cqhasy wants to merge 8 commits into
1024XEngineer:mainfrom
cqhasy:feat/edit-frames

Conversation

@cqhasy

@cqhasy cqhasy commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Change Description

Implement partial frame regeneration for generated animations.

The animation generation pipeline currently stores only processed frames after background removal and compression, which makes it difficult to regenerate specific frames while preserving temporal consistency.

This change introduces the foundation for frame-level regeneration by separating raw AI-generated frames from processed frames and supporting regeneration based on selected target frames and contextual frames.

The observable changes include:

  • Store raw frames generated by the video model in addition to processed frames.
  • Support selecting individual, continuous, or non-continuous frames for regeneration.
  • Automatically calculate contextual frames around the selected target frames.
  • Regenerate only the selected target frames while keeping the remaining frames unchanged.
  • Create a new animation generation/version instead of modifying the existing generation directly.

Implementation Approach

  • Extend frame storage to maintain both:
    • RawURL: the original frame generated by the video model.
    • ProcessedURL: the frame after background removal, resizing, compression, and other post-processing.
  • Treat user-selected frames as TargetFrames instead of relying only on a start/end range.
  • Expand the selected target frames with configurable context before and after the target range to provide temporal context for AI regeneration.
  • Group nearby or overlapping target frames into regeneration groups to avoid unnecessary AI generation requests.
  • Use raw frames as the source for constructing temporary AI inputs.
  • Run the existing frame extraction and post-processing pipeline on newly generated content.
  • Replace only the target frames in the resulting animation generation.
  • Create a new Generation version for every regeneration operation and keep the original generation unchanged.
  • Use copy-on-write semantics where possible so unchanged frames can continue referencing the previous generation.
  • Temporary generated videos are used only during the regeneration process and are not persisted as the long-term animation asset.

Related Issue

Part of #214

Testing

  • Not run (implementation in progress)

Screenshots or Recording

Not applicable.

Risks and Follow-ups

  • Existing animations only contain processed frames and do not have raw frames. Regeneration of these historical animations may have lower consistency than newly generated animations.
  • Video model regeneration quality depends on the model's ability to preserve temporal and visual consistency.
  • Temporary video generation introduces additional processing time and storage usage during regeneration.
  • Future work may support region-level regeneration using masks, allowing only a specific area of a frame to be regenerated.

Checklist

  • The PR is focused and does not include unrelated changes.
  • Asset names, formats, dimensions, and metadata follow project conventions.
  • Licensing and attribution information is included or unchanged as appropriate.
  • Documentation or examples were updated when needed.

@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
holonic-asset Ignored Ignored Preview Aug 14, 2026 10:58am

@codecov

codecov Bot commented Aug 13, 2026

Copy link
Copy Markdown

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found one blocking integration issue in the frame-edit request path.

Verification: targeted Go tests for internal/module/generator, internal/handler, and internal/router pass. The focused frontend test could not start because this workspace has Node.js 20.20.2, while pnpm 11.5.0 requires Node.js 22.13 or newer.

View job run

Findings without inline locations

  • frontend/src/features/asset-editor/editor-generation-request.ts:34: High: edit_frames now requires parameters.animationId and parameters.frameIds (run_manager.go rejects the request when either is missing), but this builder still sends the selected frames only as targetAssetPaths and reserves parameters for the optional reference. Every inspector frame edit therefore reaches the API without the required fields and fails with frame ids are required for edit_frames (or animation id is required). Please translate the selected animation/frame identities into the new parameter shape; also account for the backend expecting persisted numeric IDs rather than the current node IDs and zero-based indices.

@cqhasy cqhasy changed the title Feat/edit frames feat(generator):add edit frames Aug 13, 2026
@cqhasy cqhasy added type:feature A new capability or improvement to existing behavior. area:generation Asset generation flows, pipelines, post-generation. labels Aug 13, 2026
@cqhasy cqhasy self-assigned this Aug 13, 2026
@cqhasy cqhasy linked an issue Aug 14, 2026 that may be closed by this pull request
6 tasks
@cqhasy
cqhasy requested a review from nighca August 14, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:generation Asset generation flows, pipelines, post-generation. type:feature A new capability or improvement to existing behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]:Support partial frame regeneration for generated animations

1 participant