diff --git a/01_3D-Druck/gemini/Puck_Entscheidung_gemini.svg b/01_3D-Druck/gemini/Puck_Entscheidung_gemini.svg deleted file mode 100644 index c74de7e..0000000 --- a/01_3D-Druck/gemini/Puck_Entscheidung_gemini.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/01_3D-Druck/gemini/Puck_design_gemini.svg b/01_3D-Druck/gemini/Puck_design_gemini.svg deleted file mode 100644 index e9c04eb..0000000 --- a/01_3D-Druck/gemini/Puck_design_gemini.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/01_3D-Druck/gemini/Puck_operation_gemini.svg b/01_3D-Druck/gemini/Puck_operation_gemini.svg deleted file mode 100644 index ddf2f42..0000000 --- a/01_3D-Druck/gemini/Puck_operation_gemini.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/01_3D-Druck/gemini/Puck_review_gemini.svg b/01_3D-Druck/gemini/Puck_review_gemini.svg deleted file mode 100644 index 4ff2d68..0000000 --- a/01_3D-Druck/gemini/Puck_review_gemini.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/01_3D-Druck/gemini/Puck_support_gemini.svg b/01_3D-Druck/gemini/Puck_support_gemini.svg deleted file mode 100644 index c731d39..0000000 --- a/01_3D-Druck/gemini/Puck_support_gemini.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/01_3D-Druck/gemini/Puck_transition_gemini.svg b/01_3D-Druck/gemini/Puck_transition_gemini.svg deleted file mode 100644 index b46ebe4..0000000 --- a/01_3D-Druck/gemini/Puck_transition_gemini.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/04_Tablet-Quiz/app/index.html b/04_Tablet-Quiz/app/index.html index 2db2360..a6745a7 100644 --- a/04_Tablet-Quiz/app/index.html +++ b/04_Tablet-Quiz/app/index.html @@ -1294,7 +1294,7 @@ function stationTiefe(id){ return BEARBEITET.has(id) ? "bearbeitet" : "entwurf"; function tiefeBadge(id){ const t = stationTiefe(id); return t==="bearbeitet" - ? `● Ausgearbeitet` + ? `● Bearbeitet` : `○ Entwurf`; } /* Dokumente mit eigenem Detail-Feedback (Frank): Gate 1/2/3 + Service Review. */ @@ -1325,7 +1325,7 @@ function defaultState(){ freigabeDone:false, freigabeWrong:null, entryDone:false, entryWrong:null, bonusReveal:false, bonusDone:{}, servicesDone:{}, akteFlash:null, svcModalSel:null, - index:0, stage:"discuss", quizIndex:0, gateDeciderDone:false, gateCrit:0, gateCritDone:false, gate1Approval:null, + index:0, stage:"discuss", quizIndex:0, gateDeciderDone:false, gateCrit:0, gate1Approval:null, feedback:{}, feedbackSaved:{}, feedbackQueue:[], actStep:0, actReveal:false, actDone:false, arteWrong:null, picks:{}, done:{}, akte:{}, @@ -1820,7 +1820,7 @@ function enterStation(idx){ } S.index = idx; S.stage = STATIONEN[idx].typ==="gate" ? "gate" : "act"; - S.gatePick = null; S.quizIndex = 0; S.gateDeciderDone = false; S.gateCrit = 0; S.gateCritDone = false; S.gate1Approval = null; + S.gatePick = null; S.quizIndex = 0; S.gateDeciderDone = false; S.gateCrit = 0; S.gate1Approval = null; S.actStep = 0; S.actReveal = false; S.actDone = false; S.arteWrong = null; S.akteFlash = null; document.body.classList.remove("akteOpen"); } @@ -2071,25 +2071,6 @@ function renderGate(st){
${critItems}
${allChecked?`

Alle Kriterien geprüft. Geforderte Artefakte in der Akte (siehe oben)? Pflicht-Figuren am Gate-Puck?

`:``}` : ``; - // ---- Schritt 2: Prüf-Kriterien (eigener Screen) ---- - if(pruef.length && !S.gateCritDone){ - return ` - ${revisitNote} - ${zielLine} -

Entscheidet: ${roleLabel(keeper)}

- ${reqLine} - ${critWrap} -
-
- -
`; - } - - // ---- Schritt 3: Entscheidung (eigener Screen, nach Kriterienprüfung) ---- - const critRecap = pruef.length ? `
✓ Alle Prüf-Kriterien geprüft
` : ``; - const critBack = pruef.length ? `` : `
`; - const deciderLine = `

Entscheidet: ${roleLabel(keeper)}

`; - // Zweistufiges Gate (Gate 1): erst Freigabe-Entscheidung, dann Build-/Konfig-Routing. if(st.freigabe){ if(S.gate1Approval==null){ @@ -2097,12 +2078,12 @@ function renderGate(st){ ``).join(""); return ` ${revisitNote} - ${critRecap} + ${zielLine} +

Entscheidet: ${roleLabel(keeper)}

${reqLine} + ${critWrap}
Freigabe-Entscheidung
- ${deciderLine} -
${fopts}
-
${critBack}
`; +
${fopts}
`; } // Freigabe erteilt (0/1) → Routing-Schritt const fa = st.freigabe[S.gate1Approval]; @@ -2115,15 +2096,13 @@ function renderGate(st){
`; } - // Normales Gate (2/3): Entscheidung return ` ${revisitNote} - ${critRecap} + ${zielLine} +

Entscheidet: ${roleLabel(keeper)}

${reqLine} -
Entscheidung
- ${deciderLine} -
${opts}
-
${critBack}
`; + ${critWrap} +
${opts}
`; } /* Gate — Konsequenz der Entscheidung */ @@ -2304,8 +2283,6 @@ function wire(st){ if(b("finish")) b("finish").onclick = ()=>{ captureFeedbackInputs(); S.done[st.id]=true; S.view="end"; S.endReason="done"; save(); draw(); }; // Gate if(b("gateDeciderNext")) b("gateDeciderNext").onclick = ()=>{ S.gateDeciderDone=true; save(); draw(); }; - if(b("gateToDecision")) b("gateToDecision").onclick = ()=>{ S.gateCritDone=true; save(); draw(); }; - if(b("gateToCrit")) b("gateToCrit").onclick = ()=>{ S.gateCritDone=false; S.gate1Approval=null; save(); draw(); }; $("#panel").querySelectorAll(".critItem[data-ci]").forEach(el=>{ el.onclick = ()=>{ const i=+el.dataset.ci; S.gateCrit = (i < (S.gateCrit||0)) ? i : i+1; // abgehaktes wieder lösen vs. nächstes aufdecken diff --git a/04_Tablet-Quiz/app/sw.js b/04_Tablet-Quiz/app/sw.js index 2568598..40a9a38 100644 --- a/04_Tablet-Quiz/app/sw.js +++ b/04_Tablet-Quiz/app/sw.js @@ -1,5 +1,5 @@ /* Service Worker — SLC-Workshop Companion (App-Shell, offline-first) */ -const CACHE = "slc-companion-v34"; +const CACHE = "slc-companion-v32"; const SHELL = ["./", "index.html", "manifest.webmanifest", "icon.svg"]; // Action-Card-Grafiken (cards/s-c.png) fuer Offline vorab cachen (alle 24). const CARDS = []; diff --git a/PROJEKTSTAND.md b/PROJEKTSTAND.md index c12d7d9..a5d66b4 100644 --- a/PROJEKTSTAND.md +++ b/PROJEKTSTAND.md @@ -118,9 +118,8 @@ Konzept (`00_Konzept/README_konzept.md`), bis Rückkopplung mit Michael:** - [x] **GRAFIK SLC (Gesamtbild) 6×** im **Major-Walk**: Start (Main-Intro), an den 4 Phasenübergängen (`renderActivity`/`renderGateDone`) und am Schluss (`renderEnd`) — jeweils mit Highlight der aktuellen/nächsten Phase (`slcOverview` auf Basis von `phaseDonut`). **Bonus unberührt.** -- [x] **„Ausgearbeitet"/„Entwurf" sichtbar:** Badge im Stations-Header (`stationTiefe`/`tiefeBadge`; - Label „Ausgearbeitet" — Franks „Bearbeitet", klarer benannt). Ausgearbeitet = `ds_01, tr_01, - tr_09, tr_12, rv_01`; alles andere Entwurf. +- [x] **„Bearbeitet"/„Entwurf" sichtbar:** Badge im Stations-Header (`stationTiefe`/`tiefeBadge`). + Bearbeitet = `ds_01, tr_01, tr_09, tr_12, rv_01`; alles andere Entwurf. - [x] **Gate 1 zweistufig:** erst **Freigabe-Entscheidung** (Freigabe / mit Auflagen / **Zurück an Design** [Rückschleife] / **Ablehnung** [End-Screen]), dann **Routing** Entwicklung/Konfiguration. Gate-Templates: `ziel` an Gate 1/2/3 ergänzt; Gate-1-Prüfdim. „Budget für die **Implementierung**".