+ Für mich ist Programmieren wie ein aufgeräumter Schreibtisch: Es arbeitet sich einfach besser, wenn die
+ Struktur
+ stimmt. Während ich Python nutze, um Ideen schnell und verständlich in Prototypen zu verwandeln, reizt mich an
+ C++ die Nähe zur Hardware. Es ist für mich der Schlüssel, um nicht nur Code zu schreiben, sondern auch den
+ Computer dahinter besser zu begreifen.
+
+ Aktuell probiere ich mich viel in der 3DS-Homebrew-Szene aus. Dabei liegt mein Fokus nicht auf maximaler
+ High-End-
+ Performance, sondern auf Handwerk: Ich achte auf Cache-Effizienz bei Iterationen, ein sauberes Error-Handling
+ und
+ eine Logik, die auch nach Monaten noch nachvollziehbar ist. Ich optimiere lieber Daten im Vorfeld, statt
+ später
+ Ladezeiten zu flicken.
+
+ In der Open-Source-Welt trage ich dort bei, wo mich die Themen persönlich packen. Ich muss nicht das nächste
+ große Framework erfinden, mir geht es darum, sinnvolle Verbesserungen beizusteuern und durch eigene
+ Nischenprojekte zu lernen. Am Ende ist jedes Tool für mich ein Erfolg, wenn es ein echtes Problem löst und
+ sich der Code dabei „richtig“ anfühlt.
+
+
+
+
+
+
Journey
+
Was ich bisher so ausprobiert hatte
+
+
+
+
+
+
+
+
Anfang
+
Scratch
+
Wie wahrscheinlich viele andere auch. Logik verstehen, Konzepte ausprobieren, ohne dass ein Compiler
+ sich
+ beschwert. Es war für mich ein wohl sinnvoller Einstieg in die Welt der Programmierung.
+ Scratch
+
+
+
+
+
+
+
Erstes echtes Projekt
+
Unity & C#
+
Mein erstes richtiges Projekt war ein Mobile Game, das ich tatsächlich bis zum Release gebracht habe.
+ Es
+ war zwar nicht das innovativste Spiel der Welt, aber meine Freunde haben es gespielt und es hat mir
+ bewiesen, dass ich Projekte zu Ende bringen kann. C# und Unity waren ein guter Einstieg, aber nach dem
+ Projekt wusste ich, das ich tiefer in die Softwareentwicklung eintauchen will. Reinen
+ Spielelogik lag mir leider nicht so.
+ C#
+ Unity
+
+
+
+
+
+
+
Alternative
+
Godot ausprobiert
+
Schnellere Iterationen, leichtgewichtiger und GDScript war herrlich unkompliziert. Als Unity Ende 2023
+ die Lizenzpolitik änderte, fiel der Wechsel leicht. Auch wenn hier kein fertiges Spiel entstanden ist,
+ habe ich bei den Experimenten extrem viel über Architektur und sauberen Code gelernt.
+ GDScript
+ Godot
+
+
+
+
+
+
+
Parallel
+
Python & JavaScript
+
Python nutze ich vor allem für Backends und Automatisierungen, es ist nach wie vor meine erste Wahl,
+ wenn es darum geht, schnell produktiv zu sein. JavaScript war ein kurzer Ausflug, nicht unbedingt meine
+ Lieblingssprache, aber ein notwendiges und brauchbares Werkzeug für alles, was im Browser stattfindet.
+
+ Python
+ JavaScript
+
+
+
+
+
+
+
Aktuell
+
C++
+
Hier bin ich momentan. Und das nicht weil es einfach ist, sondern weil ich wissen will, was unter
+ der Oberfläche passiert. C++ ist oft frustrierend, aber genau deshalb so lehrreich.
+ C++
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/Br0tbot/index.html b/apps/Br0tbot/index.html
deleted file mode 100644
index 511bd46..0000000
--- a/apps/Br0tbot/index.html
+++ /dev/null
@@ -1,346 +0,0 @@
-
-
-
-
-
- BR0TCRAFT
-
-
-
-
- Dies ist der Python-Code für einen Discord-Bot, der als vielseitiger Allrounder entwickelt wurde. Der Bot beherrscht die wichtigsten Funktionen, die man von einem Discord-Bot erwartet. Dazu gehören beispielsweise das Akzeptieren von Regeln, das Begrüßen und Verabschieden von Mitgliedern, das Zuweisen von Rollen, das Erstellen von Tickets, ein Levelsystem, die Kontrolle des Servers sowie das Erstellen von Statistiken.
-
-
-
- Zusätzlich gibt es auch unterhaltsame Funktionen zur Zeitvertreibung, wie etwa einen "Counting"-Kanal, einen "Coins"-Kanal und vieles mehr. Über den Button "Spielen" gelangt man zu einer Seite, auf der der Bot eingerichtet werden kann.
-
-
-
- Der Bot ist Open Source und für das Selbst-Hosting gedacht.
-
-
- Ps: Der Bot ist noch in Entwicklung und es stehen evtl noch nicht alle versprochenen funktionen zur Verfügunng
-
- Ein simpler und hoffentlich auch einfach zu verstehender Vokabeltrainer
-
-
-
- Der Vokabeltrainer wurde mit Python, Html, Css, Javascript und Flask erstellt. Deine Vokabeln werden kostenlos auf dem Server gespeichert
-
-
-
- Es werden jediglich Benutzername, Vokabeln(English & Deutsch) und deren Level in Klartext auf dem Server gespeichert. Das Passwort wiederum wird zur Sicherheit gehasht.
-
-
- Es gehen keine Daten an Dritte weiter und nur ich (und der jeweilge Besitzer seiner bzw mit ihm geteilten Acountdaten) haben Zugriff auf diese oben genannten Informationen
-
Diese App ist dazu gedacht Programmteile in sein eigenes Pocket Code Projekt einzufügen. Es hat einfach schon bestimmte komplizierte programme erstellt bei denen es evtl. sinvoll ist diese auch in sein Spiel hinzuzufügen, ohne daran ewig zu arbeiten
-
-
Diese App erlaubt dir herauszufinden ob und wie lange die App im Hintergrund lief. Wie lange es her ist das die App das letzte mal geöffnet wurde. Eine automatische Update erkennen für dein Spiel, um zu checken obn das game sich aktualisieren soll und zu guter letzt noch die funktion eine Liste anzuzeigen (praktisch zum debuggen von Spielen). Benutzt diese App wie ihr wollt, sie gehört ganz euch (Lizenz: CC0)
Ein kleines unvertiges Tower-Defense-game, welches Leider überhaupt nicht mehr funktioniert. Immerhin sind die Assets recht schön geworden die kann man/irgendjemand ja noch verwenden(Lizenz: CC0). Ich hab jedenfalls momentan keine Lust daran weiter zu arbeiten
-
-
In dem Spiel gibt es Münzen mit denen kannst du dir Verteidigungsposten kaufen bzw Verbessern. Geld bekommst du von den Angriffen von Gegnern die du starten kannst, welche auch immer stärker werden
Ein meiner Meinung nach sehr einfach zu bedienender auto-clicker
-
-
Es ist an sich ganz einfach. Die App besteht nur aus einem ObjeKt, dieses Objekt kopierst du dir und fügst es in das Spiel deiner Wahl ein und schon hast du einen automatischen Klicker immer an deiner Seite
Hier ist das nächste große AAA-game. Naja nicht wirklich. Also eigentlich ist es ein super einfaches Snake game, ohne vielen funktionen. Das erstaunliche dabei ist das es so kompakt wie (für mich) möglich ist. Funktioniert leider nur am PC. Man bewegt die Schlange mit den Pfeiltasten
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets.html b/assets.html
new file mode 100644
index 0000000..151e485
--- /dev/null
+++ b/assets.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+ BR0TCRAFT | Assets
+
+
+
+
+
+
+
+
+
+
+
+
Assets
+
+
+
+ CC0 Public Domain
+
+
+
+
+ Icons, Grafiken und kleine UI-Assets, die ich für eigene Projekte erstellt oder gesammelt habe.
+ Alles steht unter CC0,
+ keine Namensnennung erforderlich, keine Einschränkungen bei der Nutzung.
+
+
+ Der Grund ist eigentlich ganz einfach. Ich nutze selbst viele freie Ressourcen anderer Leute.
+ Durch die Assets möchte ich auch etwas zurückgeben und das so unkompliziert wie möglich.
+
+
+ Mitnehmen, anpassen, verwenden.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
🔧
+
+
tool.svg
+
SVG · Icon
+
+
+
+
+
⚙️
+
+
settings.svg
+
SVG · Icon
+
+
+
+
+
🎨
+
+
button-set.png
+
PNG · UI
+
+
+
+
+
+
+
noise-dark.png
+
PNG · Textur
+
+
+
+
+
📁
+
+
folder.svg
+
SVG · Icon
+
+
+
+
+
+
+
+
+
progress-bar.svg
+
SVG · UI
+
+
+
+
+
+
+
// Eigene Assets beisteuern?
+
+ Wenn du selbst freie Assets beisteuern willst, meld dich per
+ Email
+ oder über GitHub. CC0 ist Bedingung.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/content/3ds/index.json b/content/3ds/index.json
new file mode 100644
index 0000000..8e8b1b7
--- /dev/null
+++ b/content/3ds/index.json
@@ -0,0 +1,25 @@
+{
+ "title": "3ds Homebrew Dev Notes",
+ "chapters": [
+ {
+ "title": "Introduction",
+ "file": "intro.md",
+ "id": "intro"
+ },
+ {
+ "title": "DevkitPro Setup",
+ "file": "devkitpro.md",
+ "id": "devkitpro"
+ },
+ {
+ "title": "Specs",
+ "children": [
+ {
+ "title": "RAM Allocation",
+ "file": "specs/ram-allocation.md",
+ "id": "ram-allocation"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/content/3ds/intro copy.md b/content/3ds/intro copy.md
new file mode 100644
index 0000000..78ba68f
--- /dev/null
+++ b/content/3ds/intro copy.md
@@ -0,0 +1,32 @@
+## A little overview about 3ds specs that should be known when working on homebrew for it
+
+### Hardware
+#### New 3DS
+(New 3DS, New 3DS XL, New 2DS XL)
+CPU
+ ARM11 @ 804 MHz (Quad-core)
+GPU
+ Custom PICA200 @ 268 MHz
+RAM
+ 256 MB (more infos here: )
+VRAM
+ 10 MB
+Display
+ Top: 400x240
+ Bottom: 320x240
+
+#### Old 3DS
+(Old 3DS, Old 3DS XL, Old 2DS)
+CPU
+ ARM11 @ 268 MHz (Dual-core)
+GPU
+ Custom PICA200 @ 134 MHz
+RAM
+ 128 MB
+VRAM
+ 10 MB
+Display
+ Top: 400x240
+ Bottom: 320x240
+
+### Homebrew
\ No newline at end of file
diff --git a/content/3ds/intro.md b/content/3ds/intro.md
new file mode 100644
index 0000000..51e2896
--- /dev/null
+++ b/content/3ds/intro.md
@@ -0,0 +1,30 @@
+# 3DS Homebrew Development Wiki & Lookup Table
+Welcome to the ultimate resource for Nintendo 3DS homebrew development using devkitPro. This guide covers everything from setting up your toolchain to advanced hardware specifications and CIA deployment.
+
+🗺️ Documentation Roadmap
+1. Toolchain & Environment Setup
+Part 1: Installing devkitPro — Step-by-step installation for Windows, Arch Linux, and Debian using the dkp-pacman package manager.
+
+Part 2: Modern VS Code Integration — Configuring C/C++ IntelliSense, include paths, and automated build tasks for seamless auto-completion.
+
+2. Core Development & Compilation
+Part 3: Anatomy of a 3DS Makefile — Customizing your application's metadata (Name, Author, Description, and Icon).
+
+Part 4: The Build Pipeline (.3dsx) — Understanding how source code becomes an executable homebrew file.
+
+3. OS Services & Hardware Interfacing
+Part 5: Storage & File Systems — Working with sdmc:/ (SD Card) and compiling assets into romfs:/.
+
+Part 6: System APIs & Services — Interfacing with the OS: Battery status, System Clock, Notifications, and Mii data.
+
+Part 7: Networking & Threads — Implementing multi-threading via libctru and managing Wi-Fi/Network sockets.
+
+4. Advanced Deployment & Assets
+Part 8: Creating .cia Files — Packaging your app for direct installation onto the 3DS Home Menu.
+
+Part 9: Crafting App Banners (2D & 3D) — Designing and compiling custom 2D icons and 3D top-screen banners.
+
+5. Hardware Architecture & Technical Specifications
+Part 10: Memory (RAM) Restrictions — Navigating the strict memory layouts of Old 3DS vs. New 3DS.
+
+Part 11: CPU & GPU Architecture — Understanding the ARM11/PICA200 limits and graphic rendering options.
\ No newline at end of file
diff --git a/content/3ds/specs/ram-allocation.md b/content/3ds/specs/ram-allocation.md
new file mode 100644
index 0000000..31607ce
--- /dev/null
+++ b/content/3ds/specs/ram-allocation.md
@@ -0,0 +1,26 @@
+# RAM Allocation Guide
+
+When developing homebrew for the Nintendo 3DS, available RAM depends heavily on two factors: how your application is packaged (.3dsx vs. .cia) and the console hardware (Old 3DS vs. New 3DS).
+
+## 1. Homebrew Launcher (.3dsx) vs. Installed CIA (.cia)
+
+### .3dsx (Launched via Homebrew Launcher)
+When launching a .3dsx file, your application inherits the memory constraints of the host application used to exploit the system (usually the Nintendo 3DS Sound app or the internet browser via safehax).
+* **Available RAM**: You are generally limited to roughly 32 MB to 64 MB of linear memory, as the system allocates the rest to the operating system and the host applet.
+* **Limitation**: You cannot request extended memory modes or access New 3DS-exclusive RAM via a .3dsx file.
+
+### .cia (Installed to Home Menu)
+An installed .cia acts like a native retail game. It uses a Result Spec File (.rsf) during compilation to explicitly tell the 3DS OS how much memory to allocate and which CPU mode to use.
+
+## 2. Memory Modes & .rsf Flags (Old 3DS vs. New 3DS)
+
+The Old 3DS has 128 MB of total RAM, while the New 3DS has 256 MB. How you configure your .rsf file determines how much of this memory your app can touch.
+
+| Memory Mode | Available RAM | O3DS Behavior | N3DS Behavior |
+|-------------|---------------|---------------|---------------|
+| **Application (Default)** | **64 MB** | Standard mode. System applets (Friends list, Browser) remain suspended in the background. Quick launch/exit. | Standard mode. Works identically to O3DS. |
+| **SystemMode32** | **32 MB** | Limits the app to 32 MB. Historically used by simple tools to slightly decrease boot times. | Works identically, but rarely used for homebrew. |
+| **SystemMode4 (Extended Memory)** | **80 MB** | **Requires App Reboot**: The OS terminates background applets to free up an extra 16 MB. Exiting to the Home Menu forces a console soft-reboot. | **No Reboot Needed**: Because the N3DS has 256 MB of RAM, it can grant 80 MB easily without closing background applets. |
+| **SystemMode5 (Extended Memory)** | **96 MB** | **Requires App Reboot**: Used by late-generation heavy games (e.g., Super Smash Bros.). Frees up 32 MB by completely shutting down the Home Menu/OS applets. Exiting forces a long soft-reboot. | **No Reboot Needed**: The N3DS handles this natively without needing a soft-reboot. |
+
+**Example of Extended Memory Usage:** Super Smash Bros. 3DS and Monster Hunter 4 Ultimate use SystemMode5 (96MB) on an Old 3DS, causing the famous "soft-reboot" when you close them.
\ No newline at end of file
diff --git a/content/demo-doc/01-intro.md b/content/demo-doc/01-intro.md
new file mode 100644
index 0000000..1549168
--- /dev/null
+++ b/content/demo-doc/01-intro.md
@@ -0,0 +1 @@
+# Einleitung\nDas ist der erste Teil einer strukturierten Dokumentation.
diff --git a/content/demo-doc/02-install.md b/content/demo-doc/02-install.md
new file mode 100644
index 0000000..8f11b9d
--- /dev/null
+++ b/content/demo-doc/02-install.md
@@ -0,0 +1 @@
+# Installation\nHier steht, wie man alles installiert.
diff --git a/content/demo-doc/adv/performance.md b/content/demo-doc/adv/performance.md
new file mode 100644
index 0000000..556dcd3
--- /dev/null
+++ b/content/demo-doc/adv/performance.md
@@ -0,0 +1 @@
+# Performance\nOptimierungstipps für Profis.
diff --git a/content/demo-doc/index.json b/content/demo-doc/index.json
new file mode 100644
index 0000000..e66f82f
--- /dev/null
+++ b/content/demo-doc/index.json
@@ -0,0 +1,13 @@
+{
+ "title": "Struktur-Demo",
+ "chapters": [
+ { "title": "Einleitung", "file": "01-intro.md", "id": "intro" },
+ { "title": "Installation", "file": "02-install.md", "id": "install" },
+ {
+ "title": "Fortgeschritten",
+ "children": [
+ { "title": "Performance", "file": "adv/performance.md", "id": "perf" }
+ ]
+ }
+ ]
+}
diff --git a/enviroments/PocketCode/index.html b/enviroments/PocketCode/index.html
deleted file mode 100644
index c2a30c7..0000000
--- a/enviroments/PocketCode/index.html
+++ /dev/null
@@ -1,311 +0,0 @@
-
-
-
-
-
- BR0TCRAFT
-
-
-
-
Pocket Code ist eine von Catroabt programmierte Entwicklungsumgebung fürs Handy. Darin lassen sich Spiele fürs Handy am Handy entwickeln. Ich selber habe dort auch schon das ein oder andere gemacht, von denen auch ein paar Apps online zu finden sind.
+ Scene Manager lets you split your Scratch project
+ into multiple .sb3 files and seamlessly switch between them at runtime —
+ just like loading a new level or screen.
+
+
+
+ Scratch Everywhere
+ All .sb3 files directly inside the scratch-everywhere folder appear in the SE! menu.
+ Set Root Folder tells Scene Manager which folder acts as that root folder while
+ you're developing in Scratch/Turbowarp/ScratchBox/Mistwarp or any other SE! compatible editor.
+
+ Only MyGame.sb3 is visible in the game-selection menu.
+ It uses Scene Manager blocks to load the actual levels from the
+ scenes/ subfolder, those files stay private inside the SE! menu.
+
+
+
+ Use subfolder-prefixed paths in the scene blocks:
+ open scenes/Level1.sb3
+ Scene Manager navigates into the subfolder automatically.
+
+ In Scratch Everywhere this corresponds to the
+ scratch-everywhere/ folder, where all your .sb3 files are located.
+ Put your launcher project in the root and keep scene files in a subfolder.
+ You theoretically don't have to put all your scenes inside a subfolder, but it is recommended.
+
+
+
+
+ `;
+ box.querySelector('#sm-ok-btn').onclick = () => close(null);
+ });
+ }
+
+ /**
+ * If no root folder is set, prompts the user to select one.
+ * Returns true if a folder is now available, false if cancelled.
+ */
+ async _requireFolder(action) {
+ return openModal((box, close) => {
+ box.innerHTML = `
+
Root folder required
+
+ ${this._esc(action)} needs to know
+ where your .sb3 files are stored.
+
+
+ Select your scratch-everywhere/ folder (or any folder containing your projects).
+ After selecting, the action will continue automatically.
+
+
+
+
+
+ `;
+ box.querySelector('#sm-cancel-btn').onclick = () => close(false);
+ box.querySelector('#sm-select-btn').onclick = async () => {
+ const handle = await this._pickDirectory();
+ if (handle) { rootDirectoryHandle = handle; currentFileHandle = null; close(true); }
+ else close(false);
+ };
+ });
+ }
+
+ /** Recursively scans a directory for .sb3 files. Returns [{path, handle}]. */
+ async _scanSb3(dirHandle, prefix = '') {
+ const results = [];
+ for await (const [name, handle] of dirHandle.entries()) {
+ const rel = prefix ? `${prefix}/${name}` : name;
+ if (handle.kind === 'file' && name.toLowerCase().endsWith('.sb3')) {
+ results.push({ path: rel, handle });
+ } else if (handle.kind === 'directory') {
+ results.push(...await this._scanSb3(handle, rel));
+ }
+ }
+ return results.sort((a, b) => a.path.localeCompare(b.path));
+ }
+
+ /**
+ * Resolves a relative path (e.g. "scenes/Level2" or "scenes/Level2.sb3")
+ * to a FileSystemFileHandle inside rootDirectoryHandle.
+ */
+ async _getFileHandle(relativePath) {
+ if (!rootDirectoryHandle) {
+ const ok = await this._requireFolder('A scene block tried to load a file');
+ if (!ok) return null;
+ }
+ // Normalise: strip trailing .sb3, then re-add
+ const clean = relativePath.replace(/\.sb3$/i, '');
+ const parts = clean.split('/').filter(Boolean);
+ const fileName = parts[parts.length - 1] + '.sb3';
+ let handle = rootDirectoryHandle;
+ try {
+ for (let i = 0; i < parts.length - 1; i++) {
+ handle = await handle.getDirectoryHandle(parts[i]);
+ }
+ return await handle.getFileHandle(fileName);
+ } catch {
+ await this._showError(`File not found: ${clean}.sb3`);
+ return null;
+ }
+ }
+
+ /** Core loading routine used by both the scene blocks and the project browser. */
+ async _loadScene(filePath, dataToPass, fromBrowser = false) {
+ const display = filePath.replace(/\.sb3$/i, '') + '.sb3';
+
+ // Confirm
+ const confirmed = await openModal((box, close) => {
+ const saveRow = currentFileHandle
+ ? ``
+ : ``;
+
+ box.innerHTML = `
+
Switch scene
+
Load ${this._esc(display)}?
+
+ Unsaved changes in the current project will be lost.
+ ${currentFileHandle ? 'You can save first using the button below.' : ''}
+
+ Eine Sammlung von mir erstellter Erweiterungen für TurboWarp, PenguinMod und Scratch Everywhere.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Link kopiert!
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/fonts/LICENSE-Roboto.txt b/fonts/LICENSE-Roboto.txt
deleted file mode 100644
index d645695..0000000
--- a/fonts/LICENSE-Roboto.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/fonts/Orbitron-Black.ttf b/fonts/Orbitron-Black.ttf
deleted file mode 100644
index cea4768..0000000
Binary files a/fonts/Orbitron-Black.ttf and /dev/null differ
diff --git a/fonts/Roboto-Regular.ttf b/fonts/Roboto-Regular.ttf
deleted file mode 100644
index ddf4bfa..0000000
Binary files a/fonts/Roboto-Regular.ttf and /dev/null differ
diff --git a/img/Apps/PocketCode/Sensor/Sensor.png b/img/Apps/PocketCode/Sensor/Sensor.png
deleted file mode 100644
index fb08ea7..0000000
Binary files a/img/Apps/PocketCode/Sensor/Sensor.png and /dev/null differ
diff --git a/img/Apps/PocketCode/Tower/Tower.png b/img/Apps/PocketCode/Tower/Tower.png
deleted file mode 100644
index a765182..0000000
Binary files a/img/Apps/PocketCode/Tower/Tower.png and /dev/null differ
diff --git a/img/Apps/PocketCode/Tower/Tower1.jpg b/img/Apps/PocketCode/Tower/Tower1.jpg
deleted file mode 100644
index bb11dbf..0000000
Binary files a/img/Apps/PocketCode/Tower/Tower1.jpg and /dev/null differ
diff --git a/img/Apps/PocketCode/Tower/Tower2.jpg b/img/Apps/PocketCode/Tower/Tower2.jpg
deleted file mode 100644
index 075d76c..0000000
Binary files a/img/Apps/PocketCode/Tower/Tower2.jpg and /dev/null differ
diff --git a/img/Apps/PocketCode/auto-clicker/auto-clicker.png b/img/Apps/PocketCode/auto-clicker/auto-clicker.png
deleted file mode 100644
index 055ff23..0000000
Binary files a/img/Apps/PocketCode/auto-clicker/auto-clicker.png and /dev/null differ
diff --git a/img/Apps/PocketCode/auto-clicker/clicker1.jpg b/img/Apps/PocketCode/auto-clicker/clicker1.jpg
deleted file mode 100644
index c2ca014..0000000
Binary files a/img/Apps/PocketCode/auto-clicker/clicker1.jpg and /dev/null differ
diff --git a/img/Apps/PocketCode/auto-clicker/clicker2.jpg b/img/Apps/PocketCode/auto-clicker/clicker2.jpg
deleted file mode 100644
index 265f118..0000000
Binary files a/img/Apps/PocketCode/auto-clicker/clicker2.jpg and /dev/null differ
diff --git a/img/Apps/Zynk/Banner.png b/img/Apps/Zynk/Banner.png
new file mode 100644
index 0000000..5a564d0
Binary files /dev/null and b/img/Apps/Zynk/Banner.png differ
diff --git a/img/Apps/Zynk/Logo.png b/img/Apps/Zynk/Logo.png
new file mode 100644
index 0000000..c67c5d2
Binary files /dev/null and b/img/Apps/Zynk/Logo.png differ
diff --git a/img/Apps/Zynk/Logo.svg b/img/Apps/Zynk/Logo.svg
new file mode 100644
index 0000000..63bd230
--- /dev/null
+++ b/img/Apps/Zynk/Logo.svg
@@ -0,0 +1,49 @@
+
+
\ No newline at end of file
diff --git a/img/Apps/Zynk/Logo2.svg b/img/Apps/Zynk/Logo2.svg
new file mode 100644
index 0000000..ea8bc16
--- /dev/null
+++ b/img/Apps/Zynk/Logo2.svg
@@ -0,0 +1,53 @@
+
+
\ No newline at end of file
diff --git a/img/Background2.jpg b/img/Background2.jpg
deleted file mode 100644
index 1f8eaee..0000000
Binary files a/img/Background2.jpg and /dev/null differ
diff --git a/img/Background3.jpg b/img/Background3.jpg
deleted file mode 100644
index e6d4ec1..0000000
Binary files a/img/Background3.jpg and /dev/null differ
diff --git a/img/Logo.png b/img/Logo.png
deleted file mode 100644
index 06b2224..0000000
Binary files a/img/Logo.png and /dev/null differ
diff --git a/img/avatar.png b/img/avatar.png
new file mode 100644
index 0000000..a070c87
Binary files /dev/null and b/img/avatar.png differ
diff --git a/img/contact/discord.png b/img/contact/discord.png
deleted file mode 100644
index 239a6e7..0000000
Binary files a/img/contact/discord.png and /dev/null differ
diff --git a/img/contact/email.png b/img/contact/email.png
deleted file mode 100644
index 5df053b..0000000
Binary files a/img/contact/email.png and /dev/null differ
diff --git a/img/contact/github.png b/img/contact/github.png
deleted file mode 100644
index 50b8175..0000000
Binary files a/img/contact/github.png and /dev/null differ
diff --git a/img/developmentEnvironment/PocketCode.jpeg b/img/developmentEnvironment/PocketCode.jpeg
deleted file mode 100644
index 82cb8ea..0000000
Binary files a/img/developmentEnvironment/PocketCode.jpeg and /dev/null differ
diff --git a/img/developmentEnvironment/PocketCodetiny.png b/img/developmentEnvironment/PocketCodetiny.png
deleted file mode 100644
index 8cd033c..0000000
Binary files a/img/developmentEnvironment/PocketCodetiny.png and /dev/null differ
diff --git a/img/errors/404.jpg b/img/errors/404.jpg
deleted file mode 100644
index 35875c6..0000000
Binary files a/img/errors/404.jpg and /dev/null differ
diff --git a/img/extensions/scene-manager.png b/img/extensions/scene-manager.png
new file mode 100644
index 0000000..6252f84
Binary files /dev/null and b/img/extensions/scene-manager.png differ
diff --git a/index.html b/index.html
index ee87ec5..73813dd 100644
--- a/index.html
+++ b/index.html
@@ -1,99 +1,266 @@
-
+
+
-
-
- BR0TCRAFT
-
-
-
+ Ich baue Software, um zu verstehen, wie sie im Kern funktioniert. Am liebsten mit C++, Python oder Dart. Ob
+ technische Spielerei oder Nischen-Tools, ich mag Projekte, die nicht nur laufen, sondern auch eine saubere
+ Struktur unter der Haube haben.
+
+ Work in progress, mit Liebe zum Detail.
+
+ Ich bin definitiv kein Profi. Oft sitze ich vor dem Code und raufe mir die Haare, aber genau das macht den
+ Reiz aus. Sich an Projekte wagen, die eigentlich eine Nummer zu groß sind.
+
+ Es ist ein Projekt, das Scratch auf Plattformen wie die Wii, den 3DS oder Linux
+ bringt.
+ Ich lerne hier mehr über C++ und Teamwork als in jedem Tutorial ... auch wenn meine Pull Requests manchmal
+ zehn Anläufe brauchen, bis sie passen.
+
+
+
Arbeit am C++ Kern und der UI-Logik
+
Fixing von Bugs (die ich oft erst selbst eingebaut habe)
+
Alte Hardware mit modernem Code zum Leben erwecken
+
+
+ Aktiv dabei
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini/assets/icons/arrow_down.svg b/mini/assets/icons/arrow_down.svg
new file mode 100644
index 0000000..15fe828
--- /dev/null
+++ b/mini/assets/icons/arrow_down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/arrow_left.svg b/mini/assets/icons/arrow_left.svg
new file mode 100644
index 0000000..4f51a8e
--- /dev/null
+++ b/mini/assets/icons/arrow_left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/arrow_right.svg b/mini/assets/icons/arrow_right.svg
new file mode 100644
index 0000000..fca2885
--- /dev/null
+++ b/mini/assets/icons/arrow_right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/book.svg b/mini/assets/icons/book.svg
new file mode 100644
index 0000000..c0581b7
--- /dev/null
+++ b/mini/assets/icons/book.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/church.svg b/mini/assets/icons/church.svg
new file mode 100644
index 0000000..9b74bb7
--- /dev/null
+++ b/mini/assets/icons/church.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/download.svg b/mini/assets/icons/download.svg
new file mode 100644
index 0000000..4e620cf
--- /dev/null
+++ b/mini/assets/icons/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/file.svg b/mini/assets/icons/file.svg
new file mode 100644
index 0000000..46b3ce4
--- /dev/null
+++ b/mini/assets/icons/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/list.svg b/mini/assets/icons/list.svg
new file mode 100644
index 0000000..ac70ef1
--- /dev/null
+++ b/mini/assets/icons/list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/settings.svg b/mini/assets/icons/settings.svg
new file mode 100644
index 0000000..8c2f52f
--- /dev/null
+++ b/mini/assets/icons/settings.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/shirt.svg b/mini/assets/icons/shirt.svg
new file mode 100644
index 0000000..ccb99a6
--- /dev/null
+++ b/mini/assets/icons/shirt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/sun.svg b/mini/assets/icons/sun.svg
new file mode 100644
index 0000000..993a35c
--- /dev/null
+++ b/mini/assets/icons/sun.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/users.svg b/mini/assets/icons/users.svg
new file mode 100644
index 0000000..cc949b0
--- /dev/null
+++ b/mini/assets/icons/users.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/icons/x.svg b/mini/assets/icons/x.svg
new file mode 100644
index 0000000..c84a55c
--- /dev/null
+++ b/mini/assets/icons/x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/background.svg b/mini/assets/images/placement/background.svg
new file mode 100644
index 0000000..3d0284f
--- /dev/null
+++ b/mini/assets/images/placement/background.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/entrance.svg b/mini/assets/images/placement/entrance.svg
new file mode 100644
index 0000000..e86b285
--- /dev/null
+++ b/mini/assets/images/placement/entrance.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/entrance_incense.svg b/mini/assets/images/placement/entrance_incense.svg
new file mode 100644
index 0000000..1254a18
--- /dev/null
+++ b/mini/assets/images/placement/entrance_incense.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/kneel.svg b/mini/assets/images/placement/kneel.svg
new file mode 100644
index 0000000..d97b922
--- /dev/null
+++ b/mini/assets/images/placement/kneel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/kneel_incense.svg b/mini/assets/images/placement/kneel_incense.svg
new file mode 100644
index 0000000..b2d8fa2
--- /dev/null
+++ b/mini/assets/images/placement/kneel_incense.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/sit.svg b/mini/assets/images/placement/sit.svg
new file mode 100644
index 0000000..792f5e7
--- /dev/null
+++ b/mini/assets/images/placement/sit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/placement/sit_incense.svg b/mini/assets/images/placement/sit_incense.svg
new file mode 100644
index 0000000..5561be6
--- /dev/null
+++ b/mini/assets/images/placement/sit_incense.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/tasks/basket.svg b/mini/assets/images/tasks/basket.svg
new file mode 100644
index 0000000..4199fb8
--- /dev/null
+++ b/mini/assets/images/tasks/basket.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/tasks/bread-wine.svg b/mini/assets/images/tasks/bread-wine.svg
new file mode 100644
index 0000000..9dc0068
--- /dev/null
+++ b/mini/assets/images/tasks/bread-wine.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/tasks/candle.svg b/mini/assets/images/tasks/candle.svg
new file mode 100644
index 0000000..6bf9d34
--- /dev/null
+++ b/mini/assets/images/tasks/candle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/assets/images/tasks/incense.svg b/mini/assets/images/tasks/incense.svg
new file mode 100644
index 0000000..50e7a3b
--- /dev/null
+++ b/mini/assets/images/tasks/incense.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mini/data/knowledge/Ambo.html b/mini/data/knowledge/Ambo.html
new file mode 100644
index 0000000..868b525
--- /dev/null
+++ b/mini/data/knowledge/Ambo.html
@@ -0,0 +1,11 @@
+
+ Der Ambo ist das feststehende, leicht
+ erhöhte Lesepult in der Kirche.
+
+
+ An dem Ambo findet das Lektorat statt, dies sind die Lesungen aus der Bibel und die
+ Fürbitten.
+
+
+ In unserer Gemeinde ist der Ambo (vom Pfarrer aus gesehen) rechts neben dem Altar platziert.
+
\ No newline at end of file
diff --git a/mini/data/knowledge/Kollekte.html b/mini/data/knowledge/Kollekte.html
new file mode 100644
index 0000000..5f31590
--- /dev/null
+++ b/mini/data/knowledge/Kollekte.html
@@ -0,0 +1,4 @@
+
Die Kollekte ist eine
+ Geldsammlung während oder am Ende eines Gottesdienstes.
+
Sie dient dazu, Geld für kirchliche, soziale oder wohltätige Zwecke zu sammeln.
+
Der Begriff kommt aus dem Lateinischen und bedeutet "sammeln".
\ No newline at end of file
diff --git a/mini/data/knowledge/Liturgische_Farben.html b/mini/data/knowledge/Liturgische_Farben.html
new file mode 100644
index 0000000..5ad7638
--- /dev/null
+++ b/mini/data/knowledge/Liturgische_Farben.html
@@ -0,0 +1,7 @@
+
Die Farben der Gewänder folgen dem Kirchenjahr:
+
+
Grün – Zeit im Jahreskreis
+
Lila – Fastenzeit und Advent
+
Rot – Feste des Heiligen Geistes und der Märtyrer
+
Weiß/Gold – Hochfeste wie Weihnachten und Ostern
+
\ No newline at end of file
diff --git a/mini/data/knowledge/Praefation.html b/mini/data/knowledge/Praefation.html
new file mode 100644
index 0000000..63b3765
--- /dev/null
+++ b/mini/data/knowledge/Praefation.html
@@ -0,0 +1,13 @@
+
Der Pfarrer wendet sich zur Gemeinde:
+
+
Pfarrer: Der Herr sei mit euch.
+ Gemeinde: Und mit deinem Geist.
+
+
Pfarrer: Erhebet die Herzen.
+ Gemeinde: Wir haben sie beim Herrn.
+
+
Pfarrer: Lasset uns danken dem Herrn, unserm Gott.
+ Gemeinde: Das ist würdig und recht.
+
+
+
„In Wahrheit ist es würdig und recht, dir, Herr, heiliger Vater, immer und überall zu danken…“
Vater unser im Himmel,
+ geheiligt werde dein Name.
+ Dein Reich komme.
+ Dein Wille geschehe,
+ wie im Himmel so auf Erden.
+ Unser tägliches Brot gib uns heute.
+ Und vergib uns unsere Schuld,
+ wie auch wir vergeben unsern Schuldigern.
+ Und führe uns nicht in Versuchung,
+ sondern erlöse uns von dem Bösen.
+ Denn dein ist das Reich und die Kraft
+ und die Herrlichkeit in Ewigkeit.
+ Amen.
\ No newline at end of file
diff --git a/mini/data/prayers/prayers.json b/mini/data/prayers/prayers.json
new file mode 100644
index 0000000..425f10a
--- /dev/null
+++ b/mini/data/prayers/prayers.json
@@ -0,0 +1,6 @@
+[
+ {
+ "title": "Vater unser",
+ "file": "Vater_unser.html"
+ }
+]
\ No newline at end of file
diff --git a/mini/data/sequence/00-Vorbereitung.html b/mini/data/sequence/00-Vorbereitung.html
new file mode 100644
index 0000000..e4b080f
--- /dev/null
+++ b/mini/data/sequence/00-Vorbereitung.html
@@ -0,0 +1,9 @@
+Bespricht kurz, wer welche Aufgabe übernimmt.
+Sollten nur 4 Minis anwesend sein, entfällt der Weihrauchdienst, die beiden Minis, die sich um die Kerze kümmern,
+übernehmen dann zusätzlich die Körbe.
+Der Kollekte-Dienst ist nicht immer vorgesehen, fragt daher sicherheitshalber beim Pfarrer nach, falls ihr unsicher
+seid.
+
+Stellt euch nun vor dem Kreuz in der Sakristei auf (so wie ihr später auch beim Einzug gehen werdet).
+Der Pfarrer sagt: "Unsere Hilfe ist im Namen des Herrn."
+Ihr antwortet: "Der Himmel und Erde erschaffen hat." und macht dabei das Kreuzzeichen.
\ No newline at end of file
diff --git a/mini/data/sequence/01-Einzug.html b/mini/data/sequence/01-Einzug.html
new file mode 100644
index 0000000..0cf6092
--- /dev/null
+++ b/mini/data/sequence/01-Einzug.html
@@ -0,0 +1,6 @@
+Die Minis, die für die Gabenbereitung zuständig sind, bleiben beim Einzug kurz neben der Glocke bei der Tür stehen.
+Stoßt die Glocke so an, dass sie etwa zweimal läutet.
+
+Danach geht ihr zu euren Knieplätzen auf der Stufe vor dem Altar.
+Sobald der Pfarrer ein Zeichen gibt (Handzeichen o. Ä.), macht ihr gemeinsam eine kurze Kniebeuge,
+geht dann hoch auf eure Sitzplätze und setzt euch möglichst synchron hin.
\ No newline at end of file
diff --git a/mini/data/sequence/02-Eroeffnung.html b/mini/data/sequence/02-Eroeffnung.html
new file mode 100644
index 0000000..1ec6b8a
--- /dev/null
+++ b/mini/data/sequence/02-Eroeffnung.html
@@ -0,0 +1 @@
+EMPTY
\ No newline at end of file
diff --git a/mini/data/sequence/sequence.json b/mini/data/sequence/sequence.json
new file mode 100644
index 0000000..e6125cf
--- /dev/null
+++ b/mini/data/sequence/sequence.json
@@ -0,0 +1,31 @@
+[
+ {
+ "title": "Vorbereitung",
+ "categories": [
+ "gabenbereitung",
+ "kerze",
+ "koerbchen",
+ "weihrauch"
+ ],
+ "file": "00-Vorbereitung.html"
+ },
+ {
+ "title": "Einzug",
+ "categories": [
+ "allgemein",
+ "gabenbereitung",
+ "kerze",
+ "koerbchen",
+ "weihrauch"
+ ],
+ "file": "01-Einzug.html"
+ },
+ {
+ "title": "Eröffnung",
+ "categories": [
+ "kerze",
+ "weihrauch"
+ ],
+ "file": "02-Eroeffnung.html"
+ }
+]
\ No newline at end of file
diff --git a/mini/data/tasks.json b/mini/data/tasks.json
new file mode 100644
index 0000000..f4a0e98
--- /dev/null
+++ b/mini/data/tasks.json
@@ -0,0 +1,72 @@
+{
+ "gabenbereitung": {
+ "icon": "assets/images/tasks/bread-wine.svg",
+ "title": "Gabenbereitung",
+ "description": "Vorbereitung der Gaben für die Eucharistie und Handwaschung des Priesters",
+ "steps": [
+ {
+ "title": "Vorbereitung",
+ "steps": [
+ "Sobald der Pfarrer euch ein Zeichen gibt, geht ihr gemeinsam zum Gabentisch.",
+ "Ein Mini nimmt Kelch und Schale, der andere übernimmt Wasser und Wein.",
+ "Achtet darauf, dass die Henkel der Gläser zum Pfarrer zeigen, so kann er sie leichter greifen.",
+ "Macht ein leichtes Kopfnicken, dreht euch zueinander und geht zurück zum Gabentisch.",
+ "Dort nimmt einer die Karaffe mit Wasser und das Auffangschälchen, der andere das Handtuch.",
+ "Ihr geht wieder zum Pfarrer und wascht ihm die Hände (in der Regel genügen ein paar Tropfen Wasser).",
+ "Legt Handtuch und Karaffe zurück auf den Tisch, ihr könnt nun mit den anderen Ministranten zur Stufe gehen und euch dort gemeinsam hinknien."
+ ]
+ },
+ {
+ "title": "Klingeln",
+ "steps": [
+ "Nach der Wandlung läutet ihr mit der Schelle.",
+ "Einmal, wenn der Pfarrer die Hostie hochhebt, und einmal, wenn er den Kelch hochhebt.",
+ "Zuerst läutet der Mini, der rechts neben dem Altar kniet, dann der links neben dem Altar.",
+ "Jedes Läuten sollte etwa 2–3 Sekunden dauern."
+ ]
+ },
+ {
+ "title": "Abtragen",
+ "steps": [
+ "Nach dem Kommunionganges geht ihr zurück zum Gabentisch.",
+ "Nehmt das kleine Wasserschälchen und geht damit zum Pfarrer.",
+ "Er reicht euch den Kelch, und ihr könnt das restliche Wasser darin ausleeren.",
+ "Der Pfarrer trinkt das Wasser, reinigt Kelch und Schale mit einem Tuch und gibt sie euch zurück.",
+ "Stellt die Gefäße wieder auf den Gabentisch und kehrt auf eure Plätze zurück."
+ ]
+ }
+ ]
+ },
+ "kerze": {
+ "icon": "assets/images/tasks/candle.svg",
+ "title": "Kerze",
+ "description": "Die Kerze für das Evangelium tragen",
+ "steps": [
+ "Hinter euren Sitzplätzen stehen zwei kleinere Kerzen, nicht zu verwechseln mit den großen Kerzen weiter hinten.",
+ "Normalerweise sind sie bereits entzündet. Falls nicht, gebt der Mesnerin kurz ein Zeichen.",
+ "Nehmt die Kerzen und stellt euch hinter den Pfarrer. Folgt ihm mit etwa einem Schritt Abstand.",
+ "Geht vorsichtig mit den Kerzen um, heißes Wachs kann tropfen (Achtet auf die Kleidung!).",
+ "Während der Pfarrer am Ambo das Evangelium liest, stellt ihr euch gut sichtbar hinter ihn.",
+ "Macht das Kreuzzeichen mit, sobald der Pfarrer es auf seiner Stirn macht (dazu müsst ihr die Kerze kurz mit einer Hand halten).",
+ "Danach bleibt ihr still stehen, bis der Pfarrer fertig ist oder euch ein Zeichen zum Gehen gibt.",
+ "Dann geht ihr gemeinsam zurück und stellt die Kerzen ab.",
+ "WICHTIG: Falls es keinen separaten Kollekte-Dienst gibt, übernehmt ihr zusätzlich während der Gabenbereitung das Sammeln der Spenden mit den Körben."
+ ]
+ },
+ "kollekte": {
+ "icon": "assets/images/tasks/basket.svg",
+ "title": "Kollekte",
+ "description": "Die Körbe für die Kollekte austeilen und wieder einsammeln",
+ "steps": [
+ "Sobald die Gabenbereitung beginnt, nehmt ihr die Körbe. Sie liegen entweder hinter euch oder auf der anderen Seite bei den anderen Mini-Plätzen.",
+ "Gemeinsam geht ihr nach vorne zum Altar, macht dort eine Kniebeuge und dreht euch dann zu den Bänken um.",
+ "Der Mini mit den drei Körben schaut am besten schon vorher, ob oben in der Kirche auch Leute sitzen.",
+ "Danach gebt ihr links und rechts jeweils ein Korb her, einmal zu Beginn und einmal nach dem ersten Durchgang.",
+ "Die Person mit dem zusätzlichen Korb geht dann noch nach oben (falls dort jemand steht. Besser einmal zu viel hochgehen, als jemanden zu vergessen).",
+ "Die andere Person wartet hinten in der Kirche, bis sie die Körbe von oben zurückbekommt.",
+ "Anschließend geht ihr nach vorne und sammelt die gefüllten Körbe ein.",
+ "Legt sie dann hinter der Altarstufe auf den Boden und kniet euch auf eure Plätze.",
+ "Dort wartet ihr, bis die anderen Minis mit der Gabenbereitung fertig sind und ebenfalls zu euch nach unten kommen."
+ ]
+ }
+}
\ No newline at end of file
diff --git a/mini/index.html b/mini/index.html
new file mode 100644
index 0000000..6d027c0
--- /dev/null
+++ b/mini/index.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+ Ministranten Guide
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini/pages/sequence.html b/mini/pages/sequence.html
new file mode 100644
index 0000000..e4030a7
--- /dev/null
+++ b/mini/pages/sequence.html
@@ -0,0 +1,20 @@
+
+
+
\ No newline at end of file
diff --git a/mini/pages/today.html b/mini/pages/today.html
new file mode 100644
index 0000000..b58c1e1
--- /dev/null
+++ b/mini/pages/today.html
@@ -0,0 +1,161 @@
+
+
+
+ Sonntag
+ 15. August 2026
+
+
+
+
+
+ Gewand
+ Grün
+
+
+
+
+
+ Ministranten
+ 4
+
+
+
+
+
+
+
Gewand
+
+
+ Die Gewandfarbe richtet sich nach dem Kirchenjahr. Ihr übernehmt einfach die Farbe, die auch der Pfarrer
+ trägt.
+ (Bei Weiß oder Gold zieht ihr stattdessen Grün an.)
+
+
+
+
+
+
+
+ Grünes Gewand
+ An Tagen im Jahreskreis
+
+
+
+
+
+
+
+ Lilanes Gewand
+ An Tagen der Buße und Fastenzeit
+
+
+
+
+
+
+
+ Rotes Gewand
+ An Festtagen des Heiligen Geistes und der Märtyrer
+
+
+
+
+
+
+
+
Sitzordnung
+
+
+
+
+
+
+
+
+
+
+ Einzug
+
+
+
+
+
Gabenbereitung
+
+
Kerze
+
+
+ Kollekte
+
Weihrauch
+
+
+
+
+
+
+ Kurzübersicht
+ Gewand, Platzierungen & Aufgaben als PDF
+