···1313 title: "Blur"
1414 todo: true
1515 desc: >
1616- **A DJ theme with an Apple-inspired playback view.** Features two audio players instead of the usual one.
1616+ **A theme with an Apple-inspired playback view.** Features two audio players instead of the usual one.
1717 - title: "Loader"
1818 todo: true
1919 desc: >
···184184 </p>
185185186186 <p>
187187- If you're a programmer, you can compose the <a href="#elements">elements</a> listed below to make your own theme. Easily build software by connecting various elements.
188188- </p>
189189-190190- <p>
191191- <small>
192192- <strong><i class="ph-fill ph-check-square"></i></strong>
193193- I'd like there to be a way to compose your own theme without having to write code. Hopefully sometime in the future.
194194- </small>
187187+ The goal is for every user, no matter their experience with web software, to have agency over their software. One can start with making small changes and gradually progress to making big changes.
195188 </p>
196189 </section>
197190···258251 </section>
259252 </div>
260253254254+ <!-- CODE -->
255255+ <div class="columns">
256256+ <section>
257257+ <h2 id="code">Take control</h2>
258258+259259+ <p>
260260+ Diffuse ranges from “eating out at a great restaurant”, all the way to “making your favourite meal at home”.
261261+ </p>
262262+263263+ <ul>
264264+ <li>
265265+ <p>
266266+ <i class="ph-fill ph-storefront"></i> <strong>Level 1</strong>: Pick your restaurant, food comes in all shapes and sizes. The equivalent of choosing a Diffuse <a href="#themes">theme</a>.
267267+ </p>
268268+ </li>
269269+ <li>
270270+ <p>
271271+ <i class="ph-fill ph-basket"></i> <strong>Level 2</strong>: Take out food from various places, eg. cheese shop + bakery. You choose how you combine the foods and from where you order them. That's <a href="#constituents">constituents</a>.
272272+ </p>
273273+ </li>
274274+ <li>
275275+ <p>
276276+ <i class="ph-fill ph-pepper"></i> <strong>Level 3</strong>: Now that you know which food is good and how to make combinations, you might make a slight customization, add a little something of your own. For example, add some spice. However, you're not quite confident enough which spice to pick, so you hire some help.
277277+ </p>
278278+ <p>
279279+ This can be done using the <a href="#constituents-loader">constituents loader</a> which allows you to build on top of a familiar foundation. You can load custom constituents using this. You can use snippets from other people or use an LLM to generate something for you (eg. an album art gallery)
280280+ </p>
281281+ </li>
282282+ </ul>
283283+ </section>
284284+ <section>
285285+ <h2 id="code"> </h2>
286286+287287+ <ul>
288288+ <li>
289289+ <p>
290290+ <i class="ph-fill ph-knife"></i> <strong>Level 4</strong>: You learned a bit from watching and talking to the help you hired, so you decide to take things in your own hands.
291291+ </p>
292292+ <p>
293293+ You continue to use the <a href="#constituents-loader">constituents loader</a> but learn a bit of HTML, Javascript and CSS; so you can write your own constituent.
294294+ </p>
295295+ </li>
296296+ <li>
297297+ <p>
298298+ <i class="ph-fill ph-cooking-pot"></i> <strong>Level 5</strong>: At this point you're confident enough to make a meal from scratch. You can start very simple, eg. just throwing a steak in the pan with some butter and some salt to it. Then later add some baked potatoes and go from there. You use a friend's kitchen with all the necessary tools.
299299+ </p>
300300+ <p>
301301+ A similar tool comes into play here, the <a href="#themes-loader">themes loader</a>. Same concept as the constituents loader, but now you need to specify the foundation yourself, the connecting tissue.
302302+ </p>
303303+ </li>
304304+ <li>
305305+ <p>
306306+ <i class="ph-fill ph-oven"></i> <strong>Level 6</strong>: You were inspired by your friend's kitchen and get yourself a fully equiped kitchen.
307307+ </p>
308308+ <p>
309309+ You can self-host Diffuse, it's <a href="https://tangled.org/tokono.ma/diffuse/blob/v4/">open-source</a>!
310310+ </p>
311311+ </li>
312312+ </ul>
313313+ </section>
314314+ </div>
315315+261316 <!-- ELEMENTS -->
262317 <section>
263318 <h2 id="elements">Elements</h2>
···340395 <p>All of the elements here are built with these data definitions in mind. That said, you can mix elements that use different definitions; you just have to put a transformer between them in order to translate between them, if needed.</p>
341396342397 {{ await comp.list({ items: definitions }) }}
343343- </section>
344344-345345- <!-- CODE -->
346346- <section>
347347- <h2 id="code">Code your own</h2>
348348-349349- <p>
350350- <small>
351351- <strong>TODO:</strong>
352352- Explain how to connect the various elements.
353353- </small>
354354- </p>
355398 </section>
356399</main>
357400