Re: Exposing Fundamental Primitives (was: [css-regions] Named Flows, Elements and Box Generation)

On Mon, Oct 28, 2013 at 6:18 PM, L. David Baron <dbaron@dbaron.org> wrote:
> On Monday 2013-10-28 17:35 -0700, Tab Atkins Jr. wrote:
>> On Mon, Oct 28, 2013 at 5:29 PM, L. David Baron <dbaron@dbaron.org> wrote:
>> > On Monday 2013-10-28 17:02 -0700, Tab Atkins Jr. wrote:
>> >> Regions, or at least something very similar to them, are clearly the
>> >> primitive underlying Multicol and some of the more exotic Page
>> >> features.
>> >
>> > I don't think so -- these other features all describe their layout
>> > model in a way allows implementations to do layout in a specific
>> > order without such a multi-pass model.  And I'm not convinced that
>> > the complex multi-pass model is regions actually allows describing
>> > things like the intrinsic sizing of multicol.
>>
>> This is also fine.  It's okay for the sugar to optimize things better
>> than authors can achieve on their own.
>>
>> Sizing is a whole nother thing to eventually expose.  We're chipping
>> away at this piece by piece; don't think it's worthless just because
>> not everything has been revealed yet.
>
> I don't think "expose" is what regions is doing here.  This isn't a
> pre-existing primitive.  Sure, you can make it a new primitive and
> rebuild other things on top of it -- but that doesn't make it the
> thing they were built on before, nor does it make it the right
> primitive to build them on (which I don't think it is).

Well, right now we've got at least two things (multicol and paged
displays) that do "flow content between separate boxes", and a bunch
more planned/discussed things that are similar, such as grid-cell
chaining, footnotes, etc.

It seems like Regions is an underlying primitive here, as it exposes
the "flow between boxes" ability, and the "arbitrarily move a box into
another location".  I'm not sure how to expose these types of things
to authors otherwise.

In general, it seems like things that use those two abilities will
become more common over time, rather than less.  We don't want to have
to be the gatekeepers that define every new bit of functionality
before authors can use it - that just means CSS continues to grow, and
do it slowly, forever.  We should be exposing this or something like
it, so authors can invent their own abilities and we can clean up
afterwards with simpler, more efficient sugar on top of it for common
things.

~TJ

Received on Tuesday, 29 October 2013 18:15:10 UTC