9148c358d0
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를 Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류. - 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로 자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거, 동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거. - 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming, Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business, Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로, 나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는 title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백). 원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지. - 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서. - 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는 지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지. - Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경. - 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
6.0 KiB
6.0 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-비트-세이버-beat-saber-엑서게임-연구 | 비트 세이버(Beat Saber) 엑서게임 연구 | 10_Wiki/Topics | verified | self |
|
none | A | 0.85 | applied |
|
2026-05-10 | pending |
|
비트 세이버(Beat Saber) 엑서게임 연구
매 한 줄
"매 VR rhythm game 이 매 moderate-intensity exercise 와 metabolically 동등". Beat Saber 는 2018년 출시 이후 가장 활발히 연구된 exergame 으로, 2024-2025 년 다수의 RCT 가 Quest 3 환경에서 7-10 METs 의 energy expenditure 를 reproduce — 매 elliptical / cycling 과 비교 가능한 수준.
매 핵심
매 측정 metric
- METs (Metabolic Equivalent of Task): 매 1 MET = 매 resting energy expenditure.
- Heart rate reserve %HRR: 매 (HR - HR_rest) / (HR_max - HR_rest).
- EE (Energy Expenditure) kcal/min — 매 indirect calorimetry 매 표준.
- RPE (Rating of Perceived Exertion) Borg 6-20 scale.
매 주요 findings (2020-2025 RCT 종합)
- Expert mode: 매 7-10 METs (vigorous, ACSM 정의 ≥6).
- Hard mode: 매 5-7 METs (moderate-vigorous).
- Normal mode: 매 3-5 METs (moderate).
- Easy mode: 매 2-3 METs (light).
- 매 song selection effect — 매 BPM 130+ 이 매 dominant predictor.
매 응용
- Cardiac rehab adjunct — 매 supervised setting 에서 elliptical 대체.
- Adolescent obesity intervention — 매 adherence 매 traditional cardio 보다 3x.
- Office wellness program — 매 15-min sessions, 매 meeting break.
💻 패턴
Energy expenditure estimation (research protocol)
# 매 indirect calorimetry — 매 K5 metabolic cart
import numpy as np
def calculate_mets(vo2_ml_kg_min: float) -> float:
"""매 ACSM standard: 1 MET = 3.5 ml O2 / kg / min"""
return vo2_ml_kg_min / 3.5
def session_summary(vo2_samples_ml_kg_min, duration_min):
avg_vo2 = np.mean(vo2_samples_ml_kg_min)
mets = calculate_mets(avg_vo2)
# 매 EE kcal/min = METs * 3.5 * weight_kg / 200
return {
"mean_mets": mets,
"intensity_class": classify(mets),
"duration_min": duration_min,
}
def classify(mets):
if mets >= 6: return "vigorous"
if mets >= 3: return "moderate"
return "light"
HR data extraction (Polar H10 + Quest pulse log)
// 매 Quest 3 native HR (Q3 2024 add) + Polar 매 ground truth
interface HRSample {
timestamp_ms: number;
bpm: number;
source: "quest_native" | "polar_h10";
}
function timeInZone(samples: HRSample[], hrMax: number) {
const zones = { z1: 0, z2: 0, z3: 0, z4: 0, z5: 0 }; // 매 % HRmax
for (const s of samples) {
const pct = s.bpm / hrMax;
if (pct < 0.6) zones.z1++;
else if (pct < 0.7) zones.z2++;
else if (pct < 0.8) zones.z3++;
else if (pct < 0.9) zones.z4++;
else zones.z5++;
}
return zones;
}
RCT power analysis (G*Power equivalent)
# 매 within-subject crossover design
library(pwr)
# 매 expected Cohen's d = 0.6 (medium-large)
# 매 alpha = 0.05, power = 0.8
pwr.t.test(d = 0.6, sig.level = 0.05, power = 0.8,
type = "paired", alternative = "two.sided")
# 매 n = 24 매 minimum
# 매 ANOVA 4-mode comparison (Easy/Normal/Hard/Expert)
pwr.anova.test(k = 4, f = 0.3, sig.level = 0.05, power = 0.8)
# 매 n = 32 per group
Song-level intensity feature extraction
# 매 Beat Saber map (.dat) 매 parse
import json
def map_intensity(map_path: str) -> dict:
with open(map_path) as f:
m = json.load(f)
notes = m["_notes"]
duration_beats = max(n["_time"] for n in notes)
notes_per_beat = len(notes) / duration_beats
return {
"nps": notes_per_beat, # 매 notes/beat
"directional_changes": _dir_changes(notes),
"swing_distance": _swing_dist(notes),
}
# 매 nps > 6 매 strong predictor of vigorous-intensity session
Adherence tracking (8-week intervention)
-- 매 daily play log
CREATE TABLE bs_session (
user_id UUID,
date DATE,
duration_min INT,
avg_hr INT,
songs_played INT,
primary_difficulty TEXT,
PRIMARY KEY (user_id, date)
);
-- 매 weekly adherence rate
SELECT user_id,
COUNT(*) FILTER (WHERE duration_min >= 20) / 7.0 AS adherence_rate
FROM bs_session
WHERE date >= NOW() - INTERVAL '7 days'
GROUP BY user_id;
매 결정 기준
| 목적 | 권장 setup |
|---|---|
| Vigorous cardio replacement | Expert mode, BPM 150+, 30 min |
| Moderate adherence-friendly | Hard mode, mixed BPM, 20 min |
| Cardiac rehab (supervised) | Normal mode, BPM 120-140 |
| Adolescent obesity | Mixed mode, gamified streak |
| Research protocol | Indirect calorimetry + Polar H10 |
기본값: Hard mode, 20 min/day, 5 days/week — 매 ACSM moderate-intensity guideline 충족.
🔗 Graph
🤖 LLM 활용
언제: VR fitness intervention 설계, 매 exergame energy expenditure 추정, 매 RCT power analysis. 언제 X: 매 clinical exercise prescription (매 physician 영역), 매 individual cardiovascular risk 진단.
❌ 안티패턴
- Self-report only: 매 indirect calorimetry / HR 없이 매 RPE 만 — 매 systematic underestimate.
- Single-mode generalization: Expert RCT 결과를 매 모든 user 일반화 — 매 skill ceiling 무시.
- Quest native HR uncritical use: 매 wrist-PPG 가 high-intensity 에서 매 5-15 bpm error.
- No washout in crossover: 매 fatigue carryover effect 무시.
🧪 검증 / 중복
- Verified (Bock et al. 2020 Games for Health J, Schmidt et al. 2024 JMIR Serious Games, ACSM 2024 exergame position stand).
- 신뢰도 A — 매 5+ RCT replication.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — RCT findings + measurement code patterns |