문서 찾아보기
문서/DSL 레퍼런스
이 페이지에서

Ashfox DSL 레퍼런스

Ashfox DSL은 모델·픽셀 텍스처·사운드의 원본 형식입니다. 이 레퍼런스는 Ashfox 1.0.0에 포함된 ashfox-model 1의 구현된 언어를 설명합니다. 원본은 UTF-8 .ashfox 파일로 저장하세요. GLB·PNG·WAV는 출력물이므로 에셋을 바꾸려면 원본을 편집하고 버전 관리합니다.

스펙 찾아보기

레퍼런스 내용
값과 표현식 어휘 규칙, 닫힌 타입, 연산자, 함수, 설계 검사
모델 문법 형상, 리그, 스켈레톤, 동작, 조립, 완전한 애니메이션 모델
컴포넌트와 소켓 매개변수, 명목적 포트, 구체적 바인딩, 부착 규칙
모델 텍스처 표면 계약, 아틀라스 차트, 팔레트, 스탬프, 픽셀 좌표
스프라이트 문법 네이티브 레코드, 재사용 형상, 재질, 레이어, 검증
사운드 문법 리터럴 레코드, 소스 변형, 필드 범위, 합성 동작

여러 에셋을 다루는 프로젝트는 워크스페이스 설정을 참고하세요. 별도의 JSON 계약이며 모든 원본을 감싸야 하는 래퍼는 아닙니다. 완전한 제작 과정은 모델, 스프라이트, 사운드에 있습니다.

소스 형태

모든 파일에는 ashfox-model 1 헤더와 정확히 하나의 최상위 단위가 있습니다. 헤더는 세 종류 에셋 모두의 언어 버전을 식별합니다.

최상위 단위 의미 허용 내용
asset Name { … } 모델 진입점 import, design, contract, skeleton, surface, component, motion, export하는 에셋 조립
module Name { … } 재사용 모델 선언 import와 공개·비공개 모델 선언
sprite name { … } 픽셀 스프라이트 하나 import, 재사용 스프라이트 선언, profile, canvas, palette, layers
스프라이트에서 쓰는 module name { … } 재사용 스프라이트 선언 import와 공개 mask·material·stamp
sound name { … } 효과음 하나 리터럴 사운드 속성, 레이어, 변형, 출력 설정

모델의 바깥 asset 단위는 소스 네임스페이스이며 내부의 export asset 선언이 빌드할 조립체입니다. 스프라이트와 사운드는 내부 조립체가 필요 없습니다. 모델·스프라이트 모듈은 키워드가 같지만 내용은 다릅니다. import가 모듈을 다른 종류의 에셋으로 변환하지 않습니다.

세 가지 값 문법

기능 모델 스프라이트 사운드
산술과 타입이 있는 design 지원 미지원 미지원
숫자 표기 정확한 소수와 u, px, deg, s, ratio 등의 명시적 단위 음이 아닌 정수, at·canvas·axis에는 px도 허용 지수를 포함한 부호 있는 JSON식 소수, 단위 접미사 없음
컬렉션 타입이 있는 튜플·벡터 리터럴 목록·레코드 리터럴 목록·레코드
import 명시적 별칭과 export 선언 스프라이트 선언의 상대 import 미지원
주석 //, /* … */ //, /* … */ //만 지원

모델 표현식을 스프라이트나 사운드 속성에 복사하지 마세요. 모델의 duration = 1s;와 사운드의 duration = 1;는 서로 다른 리더가 해석합니다. 사용자 정의 함수, 반복문, 상속, 런타임 코드, 자동 부착 추론은 없습니다. 모델 컴포넌트와 명시적 import로 재사용하세요.

컴파일과 진단

npx --no-install ashfox check sample.ashfox --json
npx --no-install ashfox build sample.ashfox --json
npx --no-install ashfox inspect sample.ashfox

독립 진입점은 명시적인 import 의존성을 컴파일합니다. 상위 워크스페이스가 있으면 설정이 선택과 출력 경로를 결정합니다. 파일명을 추측하지 말고 빌드 응답에서 출력 디렉터리를 확인하세요.

실패 확인할 내용
문법 오류 헤더, 감싸는 단위, 중괄호, 속성 철자, 세미콜론
알 수 없거나 비공개인 이름 import 별칭, 선언의 export 여부, 정확한 이름
타입·단위 불일치 필드의 기대 타입과 모든 피연산자 접미사
차트 불일치·격자 밖 픽셀 형상 치수, 차트 전개도, 아틀라스 위치, 스탬프 범위
리그·소켓 불일치 명목적 계약 식별자, 완전한 바인딩, 명시적 연결
이름 있는 design 검사 실패 작성한 관계 자체. 검사가 형상을 고치지는 않음

진단은 소스 위치나 필드 포인터를 포함합니다. 후속 오류를 해석하기 전에 가장 이른 원본 오류를 고치세요. 컴파일 성공은 계약 검증이며 외형과 동작은 캡처·재생으로 판단합니다.

이 레퍼런스의 ashfox 코드 블록은 완전한 실행 파일입니다. text 블록은 주변 계약이 필요한 조각이나 문법 개요입니다. 문서 테스트는 완전한 예제를 컴파일·빌드·검증합니다. CLI 실패는 문제 해결을 참고하세요.

직접 만들어 보세요 에이전트 작업 지침 보기 →