On Feb 22, 2012, at 9:48 AM, David Kastrup wrote: > "m...@apollinemike.com" <m...@apollinemike.com> writes: > >> Hey all, >> >> I've uploaded a first-pass attempt at implementing the suggestion that >> Joe talked about (using buildings directly in the skylines). >> This saves a lot of time in the calculation of skyline distance (time >> spent in Axis_group_interface::skyline_spacing can go from 2 to 0.2 >> seconds for scores with lots of beams and hairpins). >> >> However, the global time takes a huge hike with this patchset because >> skylines are constantly being rebuilt with padding added on. > > It would appear to me that one would want to implement padding > operations working on whole readily-built skylines. That should be more > efficient than padding the individual elements. >
The question boils down to this: Grob X (say a NoteColumn) has skyline A. Grob X's skyline is subsumed in grob B's (say a PaperColumn) skyline Y. Grob X has skyline-horizontal padding of 0.15 and Grob Y has skyline-horizontal-padding of 0.1. Does this mean that grob X, when subsumed into grob Y's skyline, has a resultant skyline-horizontal-padding of 0.25? My inclination used to be "no", but over the past 24 hours my brain has come around to "yes" as I see the assumptions that the code is written on. I think that padding needs to be built into skylines at creation time, always. > I would consider it perfectly tenable if we needed to rethink our > padding specifications to better work in the context of full skyline > interaction. So if a particular kind of padding hack we implemented in > the context of rectangular skylines does not map well to more accurate > skylines, it is perfectly valid to replace it by different padding kinds > that are a better match to what we actually do. For example, some > horizontal skyline padding was designed to prevent excessive > interlocking. If the skylines are no longer rectilinear, strictly > horizontal padding makes only very limited sense. > I agree that things need rethinking. I'll hopefully have a clean patch set up soon w/ a better use of padding that doesn't mess any old stuff up while allowing the new changes to take effect in reasonable compile time. Cheers, MS _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel