review(morph): cap dope-sheet band height + clip morph diamonds#582
Conversation
Addresses Codex feedback on PR #580 (merged): ## P1 — bounded morph band height The band's height was `count * (rowHeight + 1)` with no upper bound. On Mixamo-style rigs (50+ blendshapes) the band could push past the top anchor of `rowsView`, hiding the bone tracks entirely and making the dope sheet unusable. Fix: cap the band at 40% of the dope-sheet root height with a floor of one full row. When natural content exceeds the cap, the inner list becomes scrollable via Flickable (plain Flickable + Column instead of ListView so the existing Repeater rows continue to work unchanged). ## P2 — clip morph key lane The per-row timeline `Item` had no `clip: true`, so off-screen diamonds from pan/zoom could paint outside the lane (into the name strip or neighbouring rows). The bone-track strips clip explicitly; the morph band now matches. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2d48229cbf
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Flickable { | ||
| id: morphList | ||
| anchors.left: parent.left | ||
| anchors.right: parent.right | ||
| anchors.top: morphHeader.bottom | ||
| anchors.bottom: parent.bottom | ||
| anchors.topMargin: 2 | ||
| spacing: 1 | ||
|
|
||
| Repeater { | ||
| id: morphRowsRep | ||
| model: root.morphRows | ||
| clip: true |
There was a problem hiding this comment.
Disable morph Flickable drag to preserve timeline marquee
The new Flickable in the morph band is left with default pointer settings, so it consumes left-button drags in that region. timelineArea is the component that implements left-drag marquee selection (and expects empty-track drags to reach it), which worked before this change because the morph rows were plain Column/Items. After this commit, starting a marquee drag over morph lanes no longer reaches timelineArea, so selection behavior regresses whenever the drag starts in the bottom band.
Useful? React with 👍 / 👎.
|
) Codex follow-up on PR #582 (merged): The new Flickable in the morph band defaulted to `interactive: true`, which consumed left-button drags in that region. `timelineArea` (the root marquee-selection MouseArea) expects empty-row drags to fall through to it — and they did before the Flickable was added. Starting a marquee drag over morph lanes was therefore silently dropped. Fix: match `rowsView`'s `interactive: false` so left-drags pass through. Wheel scrolling still works because `scrollByPixels` (invoked by the root WheelHandler) now also drives the morph list's `contentY` when its content overflows — same dy as the bone list so one wheel notch advances both consistently. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>



Addresses Codex feedback on PR #580 (merged):
P1 — bounded morph band height
The band's height was
count * (rowHeight + 1)with no upper bound. On Mixamo-style rigs (50+ blendshapes) the band could push past the top anchor ofrowsView, hiding the bone tracks entirely and making the dope sheet unusable.Fix: cap the band at 40% of the dope-sheet root height with a floor of one full row. When natural content exceeds the cap, the inner list becomes scrollable via
Flickable(plain Flickable + Column instead of ListView so the existing Repeater rows keep working unchanged).P2 — clip morph key lane
The per-row timeline
Itemhad noclip: true, so off-screen diamonds from pan/zoom could paint outside the lane (into the name strip or neighbouring rows). The bone-track strips clip explicitly; the morph band now matches.Test plan
🤖 Generated with Claude Code