프로젝트 소개

# Kerotakis 실제 화학을 계산하는 가상 화학 실험실. 오프라인 우선, 크로스 플랫폼, 런타임 Python 없음. ### 기능 Kerotakis는 조회 테이블이나 미리 녹음된 스크립트가 아닌 열역학 계산을 사용해 실제 수용액 화학을 시뮬레이션합니다. 모든 수치는 런타임에 해석되는 실제 열역학 데이터베이스에서 나옵니다. 다음을 다룹니다: - **용해와 침전** — 실제 용해도 한계 포함 - **산과 염기** — 전하 균형 기반, 강산/약산/다양성자산/완충액 - **적정 곡선** — 가상 뷰렛으로 진행 - **기체 경계** — 헤드스페이스 기체의 배출, 포집, 팽창, 스위핑 - **열과 상 변화** — 용해 엔탈피, 물 자체의 엔탈피에서 유도된 어는점/끓는점 변화 - **경수 화학** — 백악, 석회 스케일, 석고 결정화 - **분리** — 여과, 증발 - **불과 하소** — 가정이 아닌 계산된 분해 온도 - **활동도 서열** — 해석된 활동도에 대한 Nernst 계산 - **흡수 스펙트럼 기반 색상** — Beer–Lambert 및 CIE 1931 사용, 혼합물이 올바르게 합성되고 농도가 색조를 변화시킴 - **위험 시뮬레이션** — 예: 표백제 + 암모니아는 경고 전에 클로라민 형성을 보여줌 - **방정식 균형** — 전하를 포함한 원소 수 행렬의 영공간 계산 - **입자 수준 보기** — 해석된 비율로 그려진 화학종, 희석종도 조용히 누락되지 않고 명명됨 - **설명 가능성** — 모든 답변이 어떤 엔진, 데이터셋, 모델이 생성했는지 명시 ### 플랫폼 - **브라우저 벤치** — crispstrobe.github.io/kerotakis, WebAssembly로 컴파일된 PHREEQC(Emscripten, 파일시스템 없음), 워커 스레드에서 해석 - **CLI** (`kero`) — REPL, 배치 실행기, JSON 인터페이스, codex 린팅 - **네이티브 macOS/iOS 앱** — 솔버가 프로세스 내 연결, 첫 방문 후 완전 오프라인 사용 - **설치 가능한 PWA** — 자체 창에서 실행되며 모든 것이 로컬에 캐시됨 세 가지 대상 모두 동일한 UI와 동일한 답변을 생성합니다. ### 교육 설계 화학은 거시적, 준미시적, 상징적 세 수준에 존재합니다. Kerotakis는 동일한 해석된 용기 상태를 세 수준 모두에서 일관되게 렌더링하며, 세부 수준 다이얼(lv1 = 보이는 것, lv3 = 모든 것)을 제공합니다. 레슨은 모든 모델에 대해 `fails_at` 필드를 포함해 각 근사가 어디서 깨지는지 보여줍니다. 커리큘럼은 학년이 아닌 의존성 순서를 따릅니다. ### 데이터셋 및 검증 codex는 189개 주제의 CC0 커리큘럼 척추에 고정된 131개 반응 항목, 28개 모델, 185개 개념을 보유합니다. 모든 수치 주장은 CI 린트에 의해 실제 솔버를 통해 재생됩니다. 500개 질문 호기심 코퍼스(아동/청소년 질문 대상)는 계산됨, 큐레이션됨, 정성적, 경계, 누락, 솔버 실패 결과를 구분해 추적합니다. 현재 상태: 계산됨 269, 큐레이션됨 20, 정성적 70, 명시적 경계 59, 누락 82(격차는 더 많은 물질이 아닌 단백질 종과 같은 메커니즘이 필요). ### 기술 아키텍처 - `kerotakis-core` — 벤치 상태 머신, 연산자, 에너지 균형, 솔버 라우터, `.lab` 문법 - `kerotakis-phreeqc` — IPhreeqc FFI, 내장 열역학 데이터베이스, 수용액 평형기 - `kerotakis-cea` — 가열/하소/연소용 NASA-9 열화학 및 Gibbs 최소화기 - `kerotakis-safety` — 모든 화학 전에 실행되는 L0 반응성 스크린 - `kerotakis-codex` — 솔버 기반 린트가 있는 큐레이션된 반응 - `kerotakis-cli` — REPL 및 배치 실행기 - `kerotakis-wasm` — 브라우저 대상 Rust로 제작. 세 가지 열역학 데이터셋(wateq4f, minteq.v4, pitzer)이 함께 제공되어 모델 불일치 자체가 가시적인 교훈이 됩니다. ### 언어 지원 영어와 독일어가 완전히 지원됩니다. 세 번째 언어를 위한 i18n 인프라가 존재합니다. ### 라이선스 코드: AGPL-3.0-or-later(바이너리에 대한 App Store / Google Play 추가 허가 포함). 큐레이션된 데이터: CC BY 4.0. 가져온 CC0 자료는 CC0로 유지됩니다.