Stop a high-quality render from reusing draft-quality sections
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 78/100
Research direction
Read easyedit/render.py around section_html() and the section freshness check, then trace how easyedit/__main__.py writes edit.js. Reproduce with the two commands in the issue and inspect whether section reuse is keyed to the listed render inputs. Done when the second command rerenders every section; run python -m unittest discover as the issue suggests.
Written by the indexing model from the issue text.
Description
render() reuses a section file when section-{a}-{b}.mp4 exists and is newer than edit.js and template/film.js. The file name and that freshness check ignore everything else that affects the pixels.
How to reproduce:
python -m easyedit "Heat" --draft. This forcesfps = 30(__main__.py:48-49) and renders with--quality draft.python -m easyedit "Heat" --fps 30. The build key at__main__.py:109-112includes fps but not quality, so it matches andedit.jsis not rewritten. Every section then has the same name and is still "fresh", so all of them are reused.
The second run prints render: reuse section ... and outputs the draft-quality video under the normal file name. The same staleness happens after editing template/index.html, or after the fonts change, because neither is part of fresh_after.
Task: key sections on what they depend on: quality, fps, a hash of template/index.html and film.js, and the edit.js content. Put that in the section file name or in a sidecar stamp, not only in mtimes.
Where: easyedit/render.py:76-84, section_html() at lines 51-55, easyedit/__main__.py:109-129.
Done when: the two-step reproduction above renders every section again on the second run.
Getting started: Python 3.10+, Node 22+, FFmpeg on PATH. npm install, pip install -r requirements.txt, then python -m easyedit.doctor. Run python -m unittest discover before opening a PR. Passing --llm none skips the model entirely, which is the fastest way to test. Comment here to claim it. Questions → Discord.
- Dominant language
- Python
- Stars
- 168
- Forks
- 24
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 14
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from blixvip/easyedit
-
help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
All issues in blixvip/easyedit
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
hkust-nlp/Toolathlon#101 ·
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SkyTruth/cerulean-cloud#219 ·
-
area:security priority:low size:small
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
RonaldHensbergen/composable-data-stack#1217 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
blixvip/BlendClone#27 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100