Skip to content

Commit a5319a0

Browse files
committed
수학도시 기획 제거
1 parent e54ca91 commit a5319a0

52 files changed

Lines changed: 6 additions & 8869 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/skills/architecture/repository-structure.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ codaro/
4141
├── editor/ # product UI surface
4242
├── landing/ # GitHub Pages and docs/blog web surface
4343
├── launcher/ # desktop launcher, packaging notes, release updater
44-
├── mainPlan/ # 제품·커리큘럼 방향 PRD(전략 SSOT) — 토론으로 합성한 장기 계획 문서
4544
├── notebooks/ # distributable notebooks derived from curricula
4645
├── src/ # Python package source
4746
└── tests/ # 도메인 트리(tests/<domain>/): pytest suites + 같은 도메인 verify/audit 드라이버 + gate runner(run.py) + root enforcer(verifyRootClean.py) + 공유 인프라 + _attempts 샌드박스(git 미추적·로컬 전용)
@@ -79,7 +78,6 @@ Root files are limited to package metadata and public project documents. Example
7978
| Public runnable demos | `demos/` |
8079
| Desktop launcher and update logic | `launcher/` |
8180
| Brand source assets | `assets/` |
82-
| 제품·커리큘럼 방향 PRD(전략 계획 SSOT) | `mainPlan/` |
8381
| Tests and verifiers | `tests/` |
8482
| Gate scratch/logs/reports | `output/test-runner/<gate>/` |
8583
| User-installed share packs | `localData/sharePacks/` |

landing/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
"type": "module",
66
"scripts": {
77
"dev": "vite dev",
8-
"typecheck:math-city": "tsc --noEmit -p tsconfig.math-city.json",
98
"prebuild": "node scripts/syncBrand.js && node scripts/syncPdfWorker.js && node scripts/syncBlogAssets.js prepare && node scripts/generateContent.js && node scripts/generateOgImage.js",
10-
"build": "npm run typecheck:math-city && vite build",
9+
"build": "vite build",
1110
"postbuild": "node scripts/prerenderReact.js && node scripts/postbuild.js",
12-
"check": "node scripts/syncBrand.js && node scripts/syncPdfWorker.js && node scripts/syncBlogAssets.js prepare && node scripts/generateContent.js && node scripts/generateOgImage.js && npm run typecheck:math-city && vite build && node scripts/prerenderReact.js && node scripts/postbuild.js",
11+
"check": "node scripts/syncBrand.js && node scripts/syncPdfWorker.js && node scripts/syncBlogAssets.js prepare && node scripts/generateContent.js && node scripts/generateOgImage.js && vite build && node scripts/prerenderReact.js && node scripts/postbuild.js",
1312
"preview": "vite preview"
1413
},
1514
"devDependencies": {

landing/scripts/postbuild.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ const defaultImage = `${siteUrl}/brand/codaro-character.png`;
3636

3737
const urls = [
3838
{ loc: `${siteUrl}/`, changefreq: "weekly", priority: "1.0", lastmod: buildDate, image: defaultImage, imageCaption: "Codaro 마스코트" },
39-
{ loc: `${siteUrl}/math-city`, changefreq: "weekly", priority: "0.9", lastmod: buildDate, image: defaultImage, imageCaption: "수상한 수학도시" },
4039
{ loc: `${siteUrl}/docs`, changefreq: "weekly", priority: "0.9", lastmod: buildDate },
4140
{ loc: `${siteUrl}/packs`, changefreq: "weekly", priority: "0.8", lastmod: buildDate },
4241
{ loc: `${siteUrl}/docs/blog`, changefreq: "weekly", priority: "0.8", lastmod: latestPostDate },

landing/scripts/prerenderReact.js

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,6 @@ const routes = [
3232
body: homeBody(),
3333
jsonLd: faqPageJsonLd(faqEntries),
3434
},
35-
{
36-
path: "/math-city",
37-
title: "수상한 수학도시",
38-
description: "초등학생이 수학 개념을 능력처럼 획득하고 도시의 이상현상을 해결하는 무료 브라우저 수학 어드벤처.",
39-
body: mathCityBody(),
40-
jsonLd: collectionJsonLd("/math-city", "수상한 수학도시", "개념 능력으로 도시의 이상현상을 해결하는 수학 어드벤처.", [
41-
{ name: "시계탑이 멈춘 날", url: "/math-city" },
42-
]),
43-
},
4435
{
4536
path: "/docs",
4637
title: "문서",
@@ -358,7 +349,6 @@ function segmentLabel(segment) {
358349
packs: "공유 팩",
359350
tools: "도구",
360351
search: "검색",
361-
"math-city": "수상한 수학도시",
362352
category: "카테고리",
363353
series: "시리즈",
364354
};
@@ -427,10 +417,6 @@ report = df.groupby("week").sum()</pre><div class="runResult">실행 성공 ·
427417
return `<main class="homePage">${hero}${trustBand}${productBand}${seeItWork}${flowSection}${releaseSection}${brandMoment}${faqSection}${finalCta}</main>`;
428418
}
429419

430-
function mathCityBody() {
431-
return `<main class="mathCityRoot mc-gameRoot"><section class="mc-loadingScreen" aria-label="수상한 수학도시 불러오기"><div><p>수상한 수학도시</p><h1>시계버스 정비소</h1><span>게임 장치를 불러오는 중...</span></div></section></main>`;
432-
}
433-
434420
function packsBody() {
435421
return `<main class="pageShell"><header class="pageHeader"><p class="eyebrow">Share packs</p><h1>공유 팩 갤러리</h1><p>커리큘럼과 자동화 recipe를 manifest URL로 받아 Codaro 로컬 저장소에 설치합니다.</p></header><section class="shareHowTo"><div><h2>로컬에서 시작하는 방법</h2><p>Codaro 앱의 왼쪽 사이드바에서 공유 팩을 열고 아래 codaroPack.yaml URL을 붙여넣은 뒤 검사와 설치를 진행하세요.</p></div></section><div class="packGrid">${sharePacks.map((pack) => `<article class="packCard"><div class="packCardHeader"><strong>${escapeHtml(pack.id)}</strong><span>${escapeHtml(pack.version)}</span></div><h2>${escapeHtml(pack.title)}</h2><p>${escapeHtml(pack.description)}</p><div class="packMeta"><span>커리큘럼 ${pack.contents.curricula}</span><span>자동화 ${pack.contents.automations}</span><span>${escapeHtml(pack.license)}</span></div><code>${escapeHtml(pack.manifestUrl)}</code><div class="downloadActions"><a class="primaryButton" href="${escapeHtml(pack.manifestUrl)}">manifest 열기</a><a class="secondaryButton" href="${escapeHtml(pack.packRootUrl)}">파일 보기</a></div></article>`).join("")}</div></main>`;
436422
}

landing/src/App.jsx

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { lazy, Suspense, useEffect, useMemo, useRef, useState } from "react";
1+
import { useEffect, useMemo, useRef, useState } from "react";
22
import {
33
ArrowRight,
44
BookOpen,
@@ -25,10 +25,8 @@ import { posts, postCategories, postSeries } from "./lib/generated/posts.js";
2525
import { sharePacks } from "./lib/sharePacks.js";
2626
import { faqEntries } from "./lib/faq.js";
2727
import { tools } from "./lib/tools/registry.js";
28-
import "./apps/suspiciousMathCity/styles/mathCity.css";
2928

3029
const docsModules = import.meta.glob("./lib/generated/docsPages/*.js");
31-
const MathCityApp = lazy(() => import("./apps/suspiciousMathCity/MathCityApp"));
3230

3331
const surfaces = [
3432
{
@@ -317,18 +315,6 @@ function Header({ onNavigate, themeMode, onToggleTheme }) {
317315
);
318316
}
319317

320-
function MathCityFallback() {
321-
return (
322-
<main className="mathCityRoot mc-gameRoot">
323-
<section className="mc-loadingScreen" aria-label="수상한 수학도시 불러오기">
324-
<p>수상한 수학도시</p>
325-
<h1>시계버스 정비소</h1>
326-
<span>게임 장치를 불러오는 중...</span>
327-
</section>
328-
</main>
329-
);
330-
}
331-
332318
function Footer() {
333319
return (
334320
<footer className="siteFooter">
@@ -404,21 +390,6 @@ function resolveRoute(path) {
404390
element: <HomePage />,
405391
};
406392
}
407-
if (path === "/math-city") {
408-
return {
409-
meta: {
410-
title: "수상한 수학도시",
411-
description: "초등학생이 수학 개념을 능력처럼 획득하고 도시의 이상현상을 해결하는 무료 브라우저 수학 어드벤처.",
412-
url: "/math-city",
413-
},
414-
element: (
415-
<Suspense fallback={<MathCityFallback />}>
416-
<MathCityApp />
417-
</Suspense>
418-
),
419-
hideChrome: true,
420-
};
421-
}
422393
if (path === "/docs") return docsIndexRoute();
423394
if (path === "/packs") return packsRoute();
424395
if (path === "/docs/blog") return blogIndexRoute();

landing/src/apps/suspiciousMathCity/MathCityApp.tsx

Lines changed: 0 additions & 114 deletions
This file was deleted.

landing/src/apps/suspiciousMathCity/domain/mapState.ts

Lines changed: 0 additions & 43 deletions
This file was deleted.

landing/src/apps/suspiciousMathCity/domain/progressSchema.ts

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)