Replies: 2 comments 4 replies
-
|
i don't really see how this is different from how folds are largely currently used? (that is, people generally label their folds' start and end with a commented line—this has the benefit of structuring the file even when the folds are removed). not that the proposal is necessarily a bad idea
this is purely because the original implementation (unnecessarily) restricted itself to Aegisub's existing extradata API (which would always provide a new ID for a new entry, since they might not be unique), rather than extending it (allowing edits of extradata rather than creating a new entry)—not at all necessary to using extradata to store this
all of this besides spotting holds for extradata-based folds as well? at least if using commented lines as delimiters (which, again, is not particularly different from this proposed use)
only an issue if— okay you get the idea
surely folds shouldn't change which lines are accessible? or are you talking purely about rendering the lines? in short: the idea is maybe good, but the only real “fix” here to how folds are currently implemented in relevant Aegisub versions is forcing the user to use dedicated delimiter lines |
Beta Was this translation helpful? Give feedback.
-
|
That's what Kainote does. It uses actor field for that and empty comment line for description of fold (tree). For example fold named "Fold example" with two lines in it: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
My thoughts on a non-Extradata-based fold (region) system
As far as I can tell, using Extradata for regions has the benefit of being largely invisible, but it seems to cause more issues than it solves. For starters, you can't add events to the end of the region. You also can't move the start and end of the region around without recreating it, and there's a whole host of miscellaneous issues stemming from the extradata usage, like opening and closing a region not being a idempotent change.
Alternatively, we could use a "physical" barrier - events themselves. Consider the following:
Using events as region barriers has several benefits. Most importantly, they can be easily moved around the file, modifications can be performed by an editor that doesn't support the region format without breaking them, and they're easily added, spotted, and removed (again, even by nonsupporting editors).
Regions could be optionally named:
And there are a few possible options for supporting open/close in an open and idempotent manner. One possibility would be to use the Actor field:
Or something similar.
Implementation-wise, we would likely need an alternative to
https://github.com/9vult/Ameko/blob/8da7c54753e08c6795e1149efd4e0dec898eb3a6/AssCS/EventManager.cs#L51-L61
where
chainis filtered on the event being in an open region.Beta Was this translation helpful? Give feedback.
All reactions