소스 준비하기
lispex 명령을 쓰려면 네이티브 CLI 또는 npm 패키지를 설치하세요.
새 작업 폴더에 아래 내용을 heading-image.lspx로 저장합니다.
127바이트 예제를 그대로 만들려면 바이트 순서 표시 없는 UTF-8과 LF 줄바꿈을 쓰고 마지막 줄도 줄바꿈으로 끝내세요.
(define (제목-위치 남은-줄)
(if (< 남은-줄 2) '다음-쪽으로 '그대로))
(display (제목-위치 1))
(newline)이 규칙은 제목 아래에 2줄보다 적게 남으면 다음-쪽으로를 반환합니다.
마지막 두 형식은 그 결과와 줄바꿈을 출력합니다.
1. 이미지 만들기
lispex image encode --source heading-image.lspx --out heading-image.lspx.png명령은 heading-image.lspx.png를 만들고 화면 출력 없이 종료 코드 0으로 끝납니다.
이 소스는 한 페이지에 들어갑니다.
인코더는 소스와 그 구조를 바탕으로 페이지 수를 정합니다.
한 페이지이면 출력 이름을 .lspx.png로, 여러 페이지이면 .lspx-images.zip으로 끝내세요.
접미사가 맞지 않으면 파일을 쓰기 전에 중단합니다.
예를 들어 image-pageset-required가 나오면 출력 접미사를 .lspx-images.zip으로 바꿉니다.
2. 이미지 검사하기
lispex image inspect --image heading-image.lspx.png명령은 이미지 전체를 검사하고 JSON을 출력한 뒤 종료 코드 0으로 끝납니다. 출력에서 다음 부분이 이 예제의 크기와 구조를 보여 줍니다.
"source_bytes": 127,
"node_count": 24,
"max_depth": 3,
"page_count": 1,JSON에는 형식과 프로파일 식별자, source_id, 무결성 확인에 쓰는 SHA-256 해시도 들어 있습니다.
검사 결과에는 이 값들만 나오고 소스 내용은 나오지 않습니다.
줄바꿈 형식이 다르면 소스 바이트와 식별값도 달라집니다.
3. 원문 복원하기
lispex image decode --image heading-image.lspx.png --out recovered.lspx명령은 원본과 같은 127바이트를 담은 recovered.lspx를 만듭니다.
화면 출력 없이 종료 코드 0으로 끝납니다.
파일을 열면 위에서 작성한 네 줄을 읽을 수 있습니다.
encode와 decode는 기존 출력 파일을 보존합니다.
파일이 이미 있으면 다른 출력 이름을 고르세요.
4. 이미지 실행하기
lispex run --image heading-image.lspx.png명령은 다음을 출력합니다.
다음-쪽으로종료 코드는 0입니다. 실행 전에는 이미지 전체를 디코딩하고 검사합니다. 이미지를 다시 만들어 모든 바이트가 같은지도 확인합니다. 이 검사가 끝난 뒤에만 복원한 소스를 인터프리터에 전달합니다.
플레이그라운드에서 사용하기
플레이그라운드는 브라우저 안에서 로컬 이미지 파일을 다룹니다.
| 동작 | 결과 |
|---|---|
| 이미지 만들기 | 현재 편집기 내용으로 이미지를 만듭니다 |
| 이미지 열기 | 로컬 PNG나 ZIP을 검사한 뒤 미리 보여 줍니다 |
| 페이지 이동 | 전체 검사를 마친 이미지에서 PNG 페이지를 보여 줍니다 |
| 소스 복원 | 프로그램을 실행하지 않고 편집기 내용을 바꿉니다 |
| 이미지 다운로드 | 이미지 파일을 저장합니다 |
| 이미지 실행 | 별도의 동작으로 이미지를 검사하고 소스를 실행합니다 |
네이티브와 npm은 같은 파일 명령을 제공합니다. 공개 WASM 빌드도 내장용으로 같은 Rust 이미지 작업을 제공합니다. 플레이그라운드는 이 작업으로 로컬 파일을 다룹니다.
원본 파일 전달하기
원본 PNG나 완전한 ZIP을 전달하세요.
여러 페이지이면 ZIP을 inspect, decode, run --image의 입력으로 사용합니다.
스크린샷, 크기 조절, 색상 변환, 메타데이터 추가, 재압축, 페이지 누락과 순서 변경은 거부됩니다. 디코더는 파일 바이트를 정확히 읽습니다. OCR이나 카메라 인식은 사용하지 않습니다.
바우치에 소스 전달하기
이미지는 읽을 수 있는 소스 데이터를 담습니다. 리스펙스 바우치는 생산자 인증과 수신자 신뢰 정책을 다룹니다. 요청을 묶고 재실행한 뒤 로컬에서 결과 수용 여부를 결정하는 기능도 제공합니다.
바우치에 이미지 소스를 전달할 때는 --source-image를 씁니다.
명령은 먼저 이미지 전체를 검사합니다.
네이티브는 소스 식별자 확인, 정책 생성, 발행, 검사, 인증 검증, 재실행과 게이트에서 이 옵션을 받습니다.
npm은 소스 식별자 확인과 정책 생성과 인증 검증에서 받습니다.
수신자는 정확한 입력을 제공하고 해당 요청에 연결된 권한 규칙을 적용합니다.