{
"version": "1.0",
"exportedAt": "ISO-8601-Timestamp (예: 2024-02-11T09:00:00.000Z)",
"mapData": {
"id": "UUID-String",
"name": "맵 이름",
"description": "맵 설명",
"gridSize": {
"rows": 28,
"cols": 50
},
"spaces": [ ... ],
"cells": { ... },
"objects": { ... },
"objectConfigs": { ... },
"isPublished": false,
"defaultSpaceId": "시작-공간-UUID-또는-null",
"backgroundColor": "CSS-Background-String",
"backgroundId": "Background-ID",
"createdBy": "User-ID",
"createdAt": { "seconds": 0, "nanoseconds": 0 },
"updatedAt": { "seconds": 0, "nanoseconds": 0 }
}
}{
"id": string, // 고유 UUID (v4 권장)
"name": string, // 공간 이름 (예: "교실", "운동장")
"description": string, // (선택) 설명
"color": string, // HEX 색상 코드
"colorId": string, // 컬러 팔레트 ID (아래 참조)
"textureId": string, // 텍스처 ID (아래 참조)
"cellCount": number, // 이 공간에 속한 셀의 개수
"center": { // 라벨이 표시될 중심 좌표
"row": number,
"col": number
},
"isPasswordProtected": boolean, // (선택) 비밀번호 잠금 여부 (기본 false)
"password": string, // (선택) 잠금 암호
"isCapacityLimited": boolean, // (선택) 정원 제한 여부 (기본 false)
"capacity": number // (선택) 최대 인원 (예: 30)
}ID | Name | Hex |
red | 로즈 | #FFA6B6 |
orange | 살구 | #FFD4A9 |
yellow | 크림 | #FFE99E |
lime | 라임 | #D7F5B1 |
green | 민트 | #A5E6BA |
teal | 아쿠아 | #88E1D9 |
cyan | 하늘 | #A8DDF5 |
blue | 소라 | #A3C4F3 |
purple | 라벤더 | #D6BCFA |
pink | 블라썸 | #FBCFE8 |
{
"size": number, // 크기 (1: 1x1, 2: 2x2, 3: 3x3)
"message": string, // (선택) 상호작용 시 표시 메시지
"linkUrl": string, // (선택) 웹 링크 (https://...)
"youtubeUrl": string, // (선택) 유튜브 영상 링크
"isPasswordProtected": boolean, // (선택) 상호작용 암호화
"password": string, // (선택) 암호
"backgroundColor": string // (선택) 배경색 HEX
}타입 | 설명 | 이동 가능 | 주요 용도 |
path | 길/보도블럭 | ✅ 가능 | 공간과 공간을 잇는 통로. 유일하게 밟고 지나갈 수 있음. |
brick | 벽돌 | ❌ 불가 | 벽, 테두리, 장애물 |
flower | 화분 | ❌ 불가 | 장식 |
computer | 컴퓨터 | ❌ 불가 | 정보 검색, 링크 연결 |
book | 책들 | ❌ 불가 | 학습 자료 |
tree | 나무 | ❌ 불가 | 조경 (주로 2x2 이상 권장) |
lamp | 가로등 | ❌ 불가 | 장식 |
box | 선물상자 | ❌ 불가 | 이벤트, 보상 |
desk | 책상 | ❌ 불가 | 교실 구성 |
chair | 의자 | ❌ 불가 | 교실 구성 |
trophy | 트로피 | ❌ 불가 | 성취 전시 |
rock | 바위 | ❌ 불가 | 장애물 |
{
"version": "1.0",
"mapData": {
"gridSize": { "rows": 5, "cols": 5 },
"spaces": [
{
"id": "room-1",
"name": "작은 방",
"color": "#FFD4A9",
"colorId": "orange",
"cellCount": 9,
"center": { "row": 1, "col": 1 }
}
],
"cells": {
"0-0": "room-1", "0-1": "room-1", "0-2": "room-1",
"1-0": "room-1", "1-1": "room-1", "1-2": "room-1",
"2-0": "room-1", "2-1": "room-1", "2-2": "room-1"
},
"objects": {
"0-0": "flower",
"1-1": "desk"
},
"objectConfigs": {
"1-1": { "size": 1, "message": "공부합시다!" }
}
// ... 기타 필드 생략
}
}