ROWFILE/1
.rowfile 하나에 완전한 세션 하나를 보관합니다. Row Smarter는 지금 이 형식을 내보내고 가져옵니다. 무손실 세션 기록과 스프레드시트 및 훈련 사이트용 CSV와 TCX가 함께 들어갑니다.
전체 세션을 손실 없이 담아 지금 직접 공유할 수 있습니다.
컨테이너 프레이밍
컨테이너는 zip이 아니라 결정론적 연결입니다. ASCII 프레임이 각 항목의 원시 바이트를 둘러쌉니다.
ROWFILE/1\n
>> <name> <size in bytes, decimal>\n
<size raw bytes>\n
...repeated per entry...manifest.json을 먼저 씁니다. 리더는 어떤 순서든 받아들이고 모르는 이름은 건너뛰며 중복 이름은 거부해야 합니다.
항목 이름
manifest.json: 아카이브 버전과 작성자session.json: 가져오기가 신뢰하는 무손실 사본summary.csv: 세션 요약samples.csv: 기록 샘플strokes.csv: 기록 스트로크rowingdata.csv: rowingdata 형식 내보내기beats.csv: 원시 박동 간 간격session.tcx: TCX 내보내기
CSV와 TCX 항목은 개별 내보내기와 바이트 단위로 같습니다. 조립된 아카이브에는 session.json이 없을 수 있으며 가져오기는 나머지 항목에서 가능한 내용을 복구합니다.
manifest.json
formatVersion만 필수입니다. 도구가 파일을 조립하면 다른 값은 없을 수 있습니다.
formatVersion: 필수 정수, 현재1sessionID: 선택 UUID 문자열appVersion: 선택 문자열writer: 선택 문자열. Row Smarter는RowSmarter, 복구 도구는stitch-rowfile을 씁니다.
session.json
세션 스키마 버전은 1이며 값은 반올림하지 않습니다. 아래에서 필수 키를 표시하고 나머지는 선택 사항입니다.
세션 객체
v: 필수 정수, 스키마 버전id: 필수 UUID, 세션 식별자start: 필수 숫자, 플랫폼Date기준일부터 초dur: 필수 기간 객체,mov: 이동 시간dist: 필수 거리(m)name: 운동 이름,tz: 시작 시간대,utc: UTC 오프셋mass: 체중(kg),age: 나이maxW: 최대 파워,minSplit: 500m당 최소 초,maxSR: 최대 레이트plan: 저장된WorkoutPlan,race: 레이스 객체avgPace: 평균 스플릿,avgW: 평균 파워,work: 일량(J),kcal: kcalstrokeCount: 필수 정수,avgSR: 평균 레이트avgHR: 평균 심박수,peakHR: 최고 심박수avgLen: 평균 스트로크 길이,avgRatio: 평균 비율samples,strokes,beats: 필수 배열prov: 출처 객체,hk: HealthKit 운동 UUID
기간 객체
s: 필수 정수 초a: 필수 정수 attosecond
샘플 객체
t: 필수 경과 시간d: 거리,p: 500m당 스플릿,w: 파워sr: 레이트,sc: 스트로크 수,hr: 심박수df: drag factor,sl: 스트로크 길이ap: 평균 스플릿,aw: 평균 파워,wj: 일량hr0: 원시 심박수
스트로크 객체
i: 필수 정수 식별자,t: 필수 시작 시간dr: 드라이브 시간,rc: 리커버리 시간,ds: 계산된 시간이면 trued: 거리,w: 평균 파워fc: 포스 커브,pf: 최대 힘,af: 평균 힘dl: 드라이브 길이,sd: 스트로크 거리
포스 커브 객체
f: 필수 힘 샘플 배열dt: 필수 샘플 간격cal: 보정 여부 필수 boolean
박동 객체
e: 필수 경과 시간r: 필수 박동 간격(초)
레이스 객체
id: 필수 레이스 식별자,name: 이름,dist: 거리own: 선수 참가자 식별자,src: 결과 소스field: 필수 참가자 배열. 각 참가자는 필수p와 선택n,l,r,d,e,f를 가집니다.
출처 객체
kind: 에르고 종류,erg: 에르고 이름,hrm: 심박수 모니터 이름app: 앱 버전,build: 빌드,ver: 기록 버전si: 샘플 간격,npc: count당 newton,hrfix: 심박수 복구 수imf: 가져오기 형식,isrc: 소스 앱,iat:Date기준 가져오기 시간,ifn: 파일 이름fid: 세션 충실도,mtd: 이동 시간 계산 여부