The 1.9 theme and template system
(2021-07-08, 05:09 PM)Laird Wrote:
(2021-07-08, 12:41 PM)Laird Wrote: Does that seem like a fair summary of your diagram/proposal?

In the interests of increasing bandwidth, I'm going to at this point assume that it is

Bad assumption. Thanks, @Devilshakerz, for helping to clear up my confusion, both in this thread and on Discord. As we seem to agree, some of the arrows in your diagram mean different things than other arrows. I had mistakenly understood them to all mean the same thing - something like "The source box is modified into the target box by some means" (with means including modifications by human theme designers - hence the "Human design" annotation in my alternative diagram).

Instead, the left column represents:

(2021-07-08, 09:56 PM)Devilshakerz Wrote: the inheritance chain.

As opposed to the "modifying" arrows, the arrows in that chain represent something like "The source box (ancestor) provides resources to the target box (descendant) where the descendant has no provision for the resource in itself" (and where resources can potentially be pulled in - inherited - from several ancestors back: from the closest one which provides the resource in question).

The modifications made to the core theme by a theme developer to arrive at a custom theme (an "original theme" in your terms, which I mistakenly suggested above that your diagram didn't actually include) are not covered by your diagram; they are simply understood to have been undertaken already.

I was a little obtuse, but hopefully we're on the same page now. My alternative diagram above can be ignored.

Dynamic modifications as the "third bite" aside, I like the example you provided on Discord which causes me to rethink my suggestion that extensions having "two bites of the cherry" is redundant given that only one "bite" seems necessary. In your example, a resource inserted by an extension's "first bite" at the top of the inheritance chain can then be overridden by a custom theme which is "aware" of that extension, which wouldn't be possible if that extension had instead been forced to use a "second bite" to change that resource in the custom theme, thus preventing the custom theme from overriding it. This seems like a valid reason to provide extensions with "two bites" at permanent modifications.

So, I agree after all with what @martec wrote:

(2021-05-13, 04:19 AM)martec Wrote: @Devilshakerz

What you are proposing seems in fact ideal, that is to say I am not disagreeing.

How much of this should be implemented in the initial 1.9 release is (from my perspective) now the pressing question.
A more precise diagram from Discord discussions earlier:

[Image: 19-theme-system-v5.png] (DF3A 34D9 A627 42E5 BC6A 6750 1F2F B8AA 28FF E1BC) ▪

Forum Jump:

Users browsing this thread: 1 Guest(s)