Coconuttttt Claude Opus 4.6 commited on
Commit
5831686
ยท
1 Parent(s): 4705837

Tutorial: 3x larger panels/text, add 5 more tour steps

Browse files

- Prompt panel: padding 60/80, msg 42px, buttons 28px, checkbox 24px
- Tooltip: padding 36/44, body 28px, nav buttons 22px, max-width 600px
- New steps: rest toggle, delete, undo/redo, triplet, playback (12 total)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (2) hide show
  1. static/corrector.css +14 -13
  2. static/corrector.js +11 -6
static/corrector.css CHANGED
@@ -520,18 +520,19 @@ body.mode-barline #marker-svg .marker { opacity: 0.3; transition: opacity .15s;
520
  #tour-prompt.hidden { display: none; }
521
  #tour-prompt-inner {
522
  background: var(--bg-2); border: 1px solid var(--line-strong);
523
- border-radius: 12px; padding: 28px 36px;
524
- box-shadow: var(--shadow-lg); text-align: center; min-width: 300px;
525
  }
526
  #tour-prompt-msg {
527
- font-size: 16px; color: var(--ink-0); margin-bottom: 16px; font-weight: 600;
528
  }
529
  #tour-prompt-skip-label {
530
- display: block; font-size: 12px; color: var(--ink-2); margin-bottom: 18px; cursor: pointer;
531
  }
532
- #tour-prompt-btns { display: flex; gap: 12px; justify-content: center; }
 
533
  #tour-prompt-btns button {
534
- padding: 8px 24px; border-radius: 6px; font-size: 13px; cursor: pointer; border: none;
535
  }
536
  #tour-btn-yes { background: var(--accent); color: #fff; }
537
  #tour-btn-yes:hover { filter: brightness(1.1); }
@@ -551,9 +552,9 @@ body.mode-barline #marker-svg .marker { opacity: 0.3; transition: opacity .15s;
551
 
552
  #tour-tooltip {
553
  position: fixed; z-index: 9300;
554
- background: var(--bg-2); border: 2px solid var(--accent);
555
- border-radius: 10px; padding: 16px 20px;
556
- box-shadow: var(--shadow-lg); max-width: 340px;
557
  animation: tour-fade-in 0.25s ease;
558
  }
559
  #tour-tooltip.hidden { display: none; }
@@ -562,17 +563,17 @@ body.mode-barline #marker-svg .marker { opacity: 0.3; transition: opacity .15s;
562
  to { opacity: 1; transform: translateY(0); }
563
  }
564
  #tour-tooltip-body {
565
- font-size: 13px; color: var(--ink-0); line-height: 1.7; margin-bottom: 14px;
566
  }
567
  #tour-tooltip-footer {
568
  display: flex; align-items: center; justify-content: space-between;
569
  }
570
  #tour-step-indicator {
571
- font-size: 11px; color: var(--ink-2); font-family: var(--font-mono, monospace);
572
  }
573
- #tour-tooltip-btns { display: flex; gap: 8px; }
574
  #tour-tooltip-btns button {
575
- padding: 5px 14px; border-radius: 5px; font-size: 12px; cursor: pointer; border: none;
576
  }
577
  #tour-btn-prev { background: var(--bg-3); color: var(--ink-1); }
578
  #tour-btn-next { background: var(--accent); color: #fff; }
 
520
  #tour-prompt.hidden { display: none; }
521
  #tour-prompt-inner {
522
  background: var(--bg-2); border: 1px solid var(--line-strong);
523
+ border-radius: 18px; padding: 60px 80px;
524
+ box-shadow: var(--shadow-lg); text-align: center; min-width: 500px;
525
  }
526
  #tour-prompt-msg {
527
+ font-size: 42px; color: var(--ink-0); margin-bottom: 36px; font-weight: 600;
528
  }
529
  #tour-prompt-skip-label {
530
+ display: block; font-size: 24px; color: var(--ink-2); margin-bottom: 40px; cursor: pointer;
531
  }
532
+ #tour-prompt-skip-label input[type="checkbox"] { width: 20px; height: 20px; vertical-align: middle; }
533
+ #tour-prompt-btns { display: flex; gap: 24px; justify-content: center; }
534
  #tour-prompt-btns button {
535
+ padding: 18px 56px; border-radius: 10px; font-size: 28px; cursor: pointer; border: none;
536
  }
537
  #tour-btn-yes { background: var(--accent); color: #fff; }
538
  #tour-btn-yes:hover { filter: brightness(1.1); }
 
552
 
553
  #tour-tooltip {
554
  position: fixed; z-index: 9300;
555
+ background: var(--bg-2); border: 3px solid var(--accent);
556
+ border-radius: 14px; padding: 36px 44px;
557
+ box-shadow: var(--shadow-lg); max-width: 600px;
558
  animation: tour-fade-in 0.25s ease;
559
  }
560
  #tour-tooltip.hidden { display: none; }
 
563
  to { opacity: 1; transform: translateY(0); }
564
  }
565
  #tour-tooltip-body {
566
+ font-size: 28px; color: var(--ink-0); line-height: 1.7; margin-bottom: 28px;
567
  }
568
  #tour-tooltip-footer {
569
  display: flex; align-items: center; justify-content: space-between;
570
  }
571
  #tour-step-indicator {
572
+ font-size: 22px; color: var(--ink-2); font-family: var(--font-mono, monospace);
573
  }
574
+ #tour-tooltip-btns { display: flex; gap: 14px; }
575
  #tour-tooltip-btns button {
576
+ padding: 12px 30px; border-radius: 8px; font-size: 22px; cursor: pointer; border: none;
577
  }
578
  #tour-btn-prev { background: var(--bg-3); color: var(--ink-1); }
579
  #tour-btn-next { background: var(--accent); color: #fff; }
static/corrector.js CHANGED
@@ -10682,13 +10682,18 @@ function copyBarlinePattern(fromSysIdx, toSysIdx) {
10682
  const LS_KEY = "omr_corrector_skip_tutorial";
10683
 
10684
  const STEPS = [
10685
- { target: "#canvas-wrapper", text: "์•…๋ณด ์˜์—ญ์ž…๋‹ˆ๋‹ค.\n๋งˆ์ปค๋ฅผ ํด๋ฆญํ•˜๋ฉด ์Œํ‘œ๊ฐ€ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.\nCtrl+ํด๋ฆญ์œผ๋กœ ์—ฌ๋Ÿฌ ์Œํ‘œ๋ฅผ ๋™์‹œ์— ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." },
10686
- { target: "#btn-up", text: "์Œ ๋†’์ด ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.\nโ†‘โ†“ ๋ฐฉํ–ฅํ‚ค๋กœ๋„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\n์„ ํƒํ•œ ์Œํ‘œ์˜ ํ”ผ์น˜๋ฅผ ๋ฐ˜์Œ ๋‹จ์œ„๋กœ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค." },
10687
  { target: "#btn-dur-quarter", text: "์Œํ‘œ ๊ธธ์ด ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.\n์ˆซ์žํ‚ค 1(์˜จ์Œํ‘œ)~7(32๋ถ„์Œํ‘œ)๋กœ ๋น ๋ฅด๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\n์ (.) ํ‚ค๋กœ ์ ์Œํ‘œ๋ฅผ ํ† ๊ธ€ํ•ฉ๋‹ˆ๋‹ค." },
10688
- { target: "#btn-sharp", text: "์ž„์‹œํ‘œ(#/b/โ™ฎ) ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.\n์„ ํƒํ•œ ์Œํ‘œ์— ์ƒต, ํ”Œ๋žซ, ๋‚ด์ถ”๋Ÿด ๋“ฑ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค." },
10689
- { target: "#btn-timeline", text: "ํƒ€์ž„๋ผ์ธ(TL) ํŒจ๋„์„ ์—ฝ๋‹ˆ๋‹ค.\n๋งˆ๋”” ์•ˆ์—์„œ ์Œํ‘œ๋“ค์˜ ์‹œ๊ฐ„ ๋ฐฐ์น˜๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•˜๊ณ ,\n๋“œ๋ž˜๊ทธ๋กœ ์œ„์น˜๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." },
10690
- { target: "#btn-auto-align", text: "๋งˆ๋”” ์ž๋™ ์ •๋ ฌ (Shift+A).\n์„ ํƒํ•œ ๋งˆ๋””์˜ ์Œํ‘œ ๊ฐ„๊ฒฉ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ๋งž์ถฅ๋‹ˆ๋‹ค." },
10691
- { target: "#btn-download", text: "์™„์„ฑ๋œ ์•…๋ณด๋ฅผ XML ๋˜๋Š” MML ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค." },
 
 
 
 
 
10692
  ];
10693
 
10694
  let currentStep = -1;
 
10682
  const LS_KEY = "omr_corrector_skip_tutorial";
10683
 
10684
  const STEPS = [
10685
+ { target: "#canvas-wrapper", text: "์•…๋ณด ์˜์—ญ์ž…๋‹ˆ๋‹ค.\n๋งˆ์ปค๋ฅผ ํด๋ฆญํ•˜๋ฉด ์Œํ‘œ๊ฐ€ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.\nCtrl+ํด๋ฆญ์œผ๋กœ ์—ฌ๋Ÿฌ ์Œํ‘œ๋ฅผ ๋™์‹œ์— ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." },
10686
+ { target: "#btn-up", text: "์Œ ๋†’์ด ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.\nโ†‘โ†“ ๋ฐฉํ–ฅํ‚ค๋กœ๋„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\n์„ ํƒํ•œ ์Œํ‘œ์˜ ํ”ผ์น˜๋ฅผ ๋ฐ˜์Œ ๋‹จ์œ„๋กœ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค." },
10687
  { target: "#btn-dur-quarter", text: "์Œํ‘œ ๊ธธ์ด ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.\n์ˆซ์žํ‚ค 1(์˜จ์Œํ‘œ)~7(32๋ถ„์Œํ‘œ)๋กœ ๋น ๋ฅด๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\n์ (.) ํ‚ค๋กœ ์ ์Œํ‘œ๋ฅผ ํ† ๊ธ€ํ•ฉ๋‹ˆ๋‹ค." },
10688
+ { target: "#btn-sharp", text: "์ž„์‹œํ‘œ(#/b/โ™ฎ) ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค.\n์„ ํƒํ•œ ์Œํ‘œ์— ์ƒต, ํ”Œ๋žซ, ๋‚ด์ถ”๋Ÿด ๋“ฑ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค." },
10689
+ { target: "#btn-rest-toggle", text: "์Œํ‘œ โ†” ์‰ผํ‘œ ์ „ํ™˜ (R ํ‚ค).\n์„ ํƒํ•œ ์Œํ‘œ๋ฅผ ์‰ผํ‘œ๋กœ, ์‰ผํ‘œ๋ฅผ ์Œํ‘œ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค." },
10690
+ { target: "#btn-delete", text: "์Œํ‘œ ์‚ญ์ œ (Del ํ‚ค).\n์„ ํƒํ•œ ์Œํ‘œ๋ฅผ ์•…๋ณด์—์„œ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค." },
10691
+ { target: "#btn-undo", text: "์‹คํ–‰์ทจ์†Œ / ๋‹ค์‹œ์‹คํ–‰ (Ctrl+Z / Ctrl+Y).\n์ž˜๋ชป๋œ ํŽธ์ง‘์„ ๋˜๋Œ๋ฆฌ๊ฑฐ๋‚˜ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค." },
10692
+ { target: "#btn-triplet", text: "์…‹์ž‡๋‹จ(Triplet) ์ ์šฉ/ํ•ด์ œ.\n์„ ํƒ ์Œํ‘œ์˜ ๊ธธ์ด๋ฅผ ร—2/3 ๋˜๋Š” ร—3/2๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค." },
10693
+ { target: "#btn-timeline", text: "ํƒ€์ž„๋ผ์ธ(TL) ํŒจ๋„์„ ์—ฝ๋‹ˆ๋‹ค.\n๋งˆ๋”” ์•ˆ์—์„œ ์Œํ‘œ๋“ค์˜ ์‹œ๊ฐ„ ๋ฐฐ์น˜๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•˜๊ณ ,\n๋“œ๋ž˜๊ทธ๋กœ ์œ„์น˜๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." },
10694
+ { target: "#btn-auto-align", text: "๋งˆ๋”” ์ž๋™ ์ •๋ ฌ (Shift+A).\n์„ ํƒํ•œ ๋งˆ๋””์˜ ์Œํ‘œ ๊ฐ„๊ฒฉ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ๋งž์ถฅ๋‹ˆ๋‹ค." },
10695
+ { target: "#btn-playall", text: "์ „์ฒด ์žฌ์ƒ (Space ํ‚ค).\n์•…๋ณด๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์†Œ๋ฆฌ๋กœ ๋“ค์–ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\nBPM๊ณผ ๋ณผ๋ฅจ๋„ ์กฐ์ ˆ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค." },
10696
+ { target: "#btn-download", text: "์™„์„ฑ๋œ ์•…๋ณด๋ฅผ XML ๋˜๋Š” MML ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค." },
10697
  ];
10698
 
10699
  let currentStep = -1;