lmparppei / Beat

Beat - a simple and elegant screenwriting app for macOS
Other
175 stars 30 forks source link

Cannot move scenes that have a color assigned in index view #95

Closed ockham closed 2 years ago

ockham commented 2 years ago

While moving scenes seems to work again, the same doesn't unfortunately seem to be true for scenes that have a color assigned: I've tried moving the two final scenes in the tutorial (that have blue and red as their colors assigned, respectively). While it's possible to "pick them up", I can't seem to "drop" them.

lmparppei commented 2 years ago

Oh well — it was too easy of a fix to be true. I'll look into this ASAP.

lmparppei commented 2 years ago

Fixed in 1.92.7. This was not caused by having a color in the scene, but rather a result of a larger overhaul of outline data. I think it works now — I'll post a beta on Discord tomorrow.

lmparppei commented 2 years ago

Didn't post a beta, and it was still broken. Everything is horrible. The CardView.js is pile of messy JavaScript from the early days of Beat, and doesn't really like the later redesign and restructure of outline. I think I got it right this time, but I'll keep the issue open until it's confirmed to be resolved.

New version will be submitted to App Store tomorrow.

ockham commented 2 years ago

Thanks, really appreciate it!

The CardView.js is pile of messy JavaScript from the early days of Beat, and doesn't really like the later redesign and restructure of outline. I think I got it right this time, but I'll keep the issue open until it's confirmed to be resolved.

While I'm unfamiliar with the codebase, I know a bit of Javascript :) If you'd like some feedback next time you're working on some JS and aren't quite sure about your fix, you could file a PR and @mention me there or set me as reviewer :)

lmparppei commented 2 years ago

Thank you! The codebase is a bit of a mess — I tried making the index card view a native thing, but NSCollectionView is very difficult to work with. That's why the JS version still lingers around, and should be rewritten from ground up.

Though the actual codebase is in Objective C, JavaScript can be found here and there, because the Beat plugins are created using JS. Now that I'm thinking of it, the card view should probably be implemented as a JS plugin, rather than a horrific hybrid of both.

More about plugin API: https://github.com/lmparppei/BeatPlugins/

Here's the beta with the card view (hopefully) fixed: https://www.dropbox.com/s/h3uyiyglav8t8v4/Beat%201.927b.dmg?dl=1

lmparppei commented 2 years ago

I'm pretty sure this is fixed now, so closing it. Let's reopen if something comes up.