-
hanyul released this
2026-10-11 02:35:57 +09:00 ARCA 0.1.18 변경 사항
이전 버전: 0.1.17. Builder OCI archive를 Docker Engine 24의
docker load도 읽을 수 있는 형식으로 바꾼 release다(LINKS 요청, Synology Container Manager Docker 24.0.2). native runtime(mkxp-z core JS·WASM)·SDK bundle·contracts는 0.1.17과 같다. 삭제된 공개 API는 없고 새 오류 code도 없다.rgss23-runtime-status-v1, inspection v1/fingerprint ABI, contracts schema, Builder subcommand·기본 출력·exit code는 그대로다.업그레이드 시 확인할 동작 변경
- Builder archive 형식:
rgss23-builder-<version>.oci.tar는 BuildKit docker exporter(type=docker,rewrite-timestamp,name=rgss23-builder:<version>)로 만든다. OCI image layout(oci-layout·index.json·blobs/sha256/)에 docker-savemanifest.json(RepoTagsrgss23-builder:<version>)이 추가돼 Docker 24와 25+의docker load가 모두 읽는다(stdin·--input모두). 파일 이름, MIMEapplication/vnd.oci.image.layout.v1.tar, release pin(builderDigest= OCI manifest digest)과 contracts schema는 바뀌지 않았다. 0.1.17까지의 순수 OCI layout archive는 Docker 24에서open …/blobs/json: no such file or directory로 실패했다. - load 뒤 image 참조(host가 바꿔야 할 것): image ID는 image store마다 다르다. Docker 24(graphdriver)는 image ID = config digest이고 RepoDigests를 기록하지 않아 manifest digest로
docker image inspect할 수 없다. Docker 25+ containerd image store는 image ID = manifest digest이고 config digest로는 inspect할 수 없다. host는 release-set 검증(manifest digest pin)은 그대로 두고docker load뒤 daemon이 resolve한 image ID로 실행한다.loadArcaBuilder()는 archive에서 두 digest를 읽어 resolve된 값을imageId로 반환하므로 그 값을 쓰면 된다({ digest, imageId, imageName, loaded },ArcaBuilderLoadResult타입 추가, 가산). - archive 검증: npm package의
node/builder.mjs가 순수 JS tar reader로 OCI index→manifest→config→layer hash와manifest.json의Config·Layers가 같은 blob을 가리키는지 대조하며, PAX 길이 위장·BOM 이름·디렉터리 별칭·경로 탈출·대기 확장 header·잘못된 종료 marker를ARCA_BUILDER_LOAD_FAILED로 거부한다. release verifier는manifest.json을 필수로 요구한다. - artifact identity: Builder OCI archive bytes·digest와 npm tgz(npm README·
deploy.d.ts·node/builder.mjs)가 바뀐다. runtime ZIP은provenance.json·SHA256SUMS만, contracts tgz는package.json만 0.1.17과 다르다.
추가된 API·계약
@rgss23/arca/deploy:loadArcaBuilder()반환에imageId·imageName추가(ArcaBuilderLoadResult). 기존digest·loaded와 오류 code(ARCA_BUILDER_LOAD_FAILED,ARCA_BUILDER_DIGEST_MISMATCH,ARCA_BUILDER_DOCKER_UNAVAILABLE,ARCA_BUILDER_ARGUMENT_INVALID)는 그대로다.arcaBuilderRunArguments()는 image ID·tag·digest 어느 참조든 받는다.
검증 범위와 알려진 제한
- Docker 24.0.2:
docker:24.0.2-dindcontainer에서 0.1.18 archive를 stdin으로docker load(exit 0), config digest로 inspect·실행 성공, manifest digest inspect 실패(예상). 기존 OCI-only archive는 같은 환경에서 LINKS 오류 재현. - Docker 29.8.0(containerd store): load exit 0, tag·manifest digest inspect 성공, config digest inspect 실패(예상).
- release Builder gate·source-free consumer gate는
imageId로 inspect·package 실행PASS. - Synology NAS 실환경, Linux 재현, 사람 acceptance, LINKS 적용은
NOT RUN이다. 0.1.17의 게임패드·터치 자동 근거와NOT RUN범위는 유지한다.
게시 identity와 registry 검증은 현재 상태, 상세 값은 해당 release manifest/pin을 따른다.
배포 검증
- release source:
0c66b02e9d - manifest SHA-256: 73b00e8d661545c956050c0ec5b1165eeda7d93709e47a01e6271a15d7310771
- Builder digest(pin): sha256:b9c21f02d74701b270b2f6bfafbf16a3a53d38d5081e2985bf137331abb38c4d · Builder config digest(Docker 24 image ID): sha256:e67870b93573c261541fd2ab713139bc52a775025170232bceb8b1b812bf210f
- native runtime:
rgss23-core.js2f71fcaa…,rgss23-core.wasmd527ce81…(0.1.16·0.1.17과 동일). - 단위 테스트 469개, 타입 검사, release 회귀 45개(archive reader 8 포함), browser 도구 회귀 117개, runtime lock·native 진단 lock·native 준비 recipe 검증,
git diff --check: PASS(2026-10-11). release:build·release:verify·release:npm:test·release:reproduce(clean detached worktree, pin·세 artifact·Builder digest·npm tgz byte 동일): PASS(2026-10-11).- runtime image·named volume 재구축 뒤 clean rebuild export가 검증본과 byte 동일(JS·WASM·provenance): PASS.
- npm: @rgss23/arca@0.1.18 (Forgejo registry).
Downloads 9
-
release-manifest.json
1
2.1 KiB
2026-10-11 02:36:16 +09:00 -
release-manifest.sha256
0
88 B
2026-10-11 02:36:17 +09:00 -
release-pin.json
1
441 B
2026-10-11 02:36:18 +09:00 -
rgss23-arca-0.1.18.tgz
0
95 MiB
2026-10-11 02:36:20 +09:00 -
rgss23-builder-0.1.18.oci.tar
1
59 MiB
2026-10-11 02:36:22 +09:00 -
rgss23-contracts-0.1.18.tgz
1
35 KiB
2026-10-11 02:36:23 +09:00 -
rgss23-runtime-0.1.18.zip
1
43 MiB
2026-10-11 02:36:24 +09:00 -
Source code (zip)
0
2026-10-11 02:35:57 +09:00 -
Source code (tar.gz)
0
2026-10-11 02:35:57 +09:00
- Builder archive 형식:
-
hanyul released this
2026-10-09 03:21:35 +09:00 ARCA 0.1.17 변경 사항
이전 버전: 0.1.16. host가 그린 터치 컨트롤을 게임에 연결하는 player SDK 가상 입력 API를 추가하고, 게임패드를 Xbox·PlayStation 관례(하단=결정)로 정책화하며, reference app에 터치 기기 전용 on-screen pad와 gamepad·touch-pad Edge 자동 smoke를 더한 release다. native runtime(mkxp-z core JS·WASM)은 0.1.16과 같다. 삭제된 공개 API는 없고 새 공개 export는 player SDK의
player.input(Rgss23PlayerInput,Rgss23InputButton)뿐이다.rgss23-runtime-status-v1, 오류 code enum, inspection v1/fingerprint ABI, contracts schema, Builder subcommand·기본 출력·exit code는 그대로다.업그레이드 시 확인할 동작 변경
- 게임패드 배치(관측 동작 변경): SDK가 RetroArch user-1 joypad bind를 명시해 W3C standard 배치의 하단 버튼(A/×)=결정(RGSS C), 오른쪽(B/○)=취소(RGSS B), 왼쪽(X/□)=RGSS X, 상단(Y/△)=RGSS A, LB/RB=L/R, LT/RT=CTRL/SHIFT, Start=ALT, D-pad=방향으로 둔다. 0.1.16까지는 RetroArch 기본(오른쪽=결정)이었다. 왼쪽 스틱은 D-pad로 변환되고,
input_max_users=1로 두 번째 pad가 cursor patch의 mouse 버튼으로 해석되지 않으며, gamepad 메뉴 combo는 없다. 게임패드는 항상 활성이고 끄거나 배치를 바꾸는 host option은 없다. opaque iframe host는allow에gamepad *위임을 추가한다. 키보드·mouse 별칭은 바뀌지 않았다. - 입력 공유 참조 카운트(관측 동작 동일, 경계 사례 변경): 물리 키 별칭·canvas mouse fallback·가상 입력이 같은 RetroPad 버튼을 출처별로 세어 모든 출처가 뗐을 때만 뗀다. 늦게 도착한 물리 keyup은 이미 해제한 입력을 다시 떼지 않고, 다른 출처가 누르고 있으면 그 누름을 복원한다. 기존
installRuntimeInputBridge콜백 타입은 그대로다. - artifact identity: runtime ZIP은 SDK module(
dist/rgss23-player.mjs)·provenance.json·SHA256SUMS만 0.1.16과 다르고 core JS·WASM·license는 같다. contracts tgz는package.json만 다르다. Builder OCI digest는 producer version·pnpm 12.10.1 corepack 입력으로 바뀐다. host는 release pin·Builder digest를 함께 적용한다.
추가된 API·계약
@rgss23/player-sdkRgss23PlayerHandle.input:setButton(button, pressed): boolean,releaseAll(): void. 버튼up·down·left·right·a(RGSS C 결정)·b(RGSS B 취소)·x(RGSS A)·y(RGSS X)·l·r. 재시작 중·stop()이후·종료·runtime 오류 상태에서는 누름을 무시하고false를 반환하며, hidden·pagehide·재시작·정지에서 가상 입력을 해제한다. SDK는 UI를 그리지 않으며 host가 Pointer Events·touch-action: none으로 컨트롤을 그려 호출한다. 세부는 player SDK README의 Host 가상 입력·게임패드 절이 소유한다.
저장소·도구 정리
- reference app: 주 포인터가 coarse이고
navigator.maxTouchPoints > 0인 기기에서만 보이는 최소 on-screen pad(방향 4개·결정·취소),?touch-pad=on|off재정의, canvastouch-action: none,dvh(+vhfallback). ARCA SDK가 아니라 reference consumer의 UI다. - browser smoke:
browser:smoke:edge:vx-ace:gamepad(표준 gamepad stub)·browser:smoke:edge:vx-ace:touch-pad(CDP touch emulation)가 title→새 게임→이동→action event→취소 메뉴를 pad만으로 수행하고 launch 경계 뒤 다른 입력 0건·화면 기준 대비 열림/복귀 관계를 계약한다. 두 시나리오는 route·화면 계약 helper를 공유한다. 기존 gold·시나리오는 바뀌지 않았다. - 도구·의존성: vite 8.3.3, pnpm 12.10.1(
packageManager·SDK 검증 image).release:reproduce가 pnpm 12 corepack native 실행 파일을 node로 실행하던 결함을 고쳤다. VX standalone native 진단은 실행 환경이 사라져BLOCKED로 동결했다(lock은 2026-07-17 근거 유지).
검증 범위와 알려진 제한
합성·단위 검증, 제공 fixture 자동화와 사람의 입력·실제 청취·완전 종료 저장 acceptance는 별도 판정한다. 이번 release는 새 사용자 acceptance를 포함하지 않는다.
- 게임패드·터치: Edge 154 자동 smoke(gamepad stub·CDP touch emulation)만
PASS다. 실물 게임패드, 실기 터치, 브라우저의 실제 Gamepad API 노출·첫 제스처·Permissions-Policy·visibility 게이트, iOS Safari는NOT RUN이다. binding 키의 늦은 keyup 직후 게임이 한 frame 뗌을 관찰할 수 있는지는 브라우저에서 검증하지 않았다. - native runtime clean rebuild 재현: 0.1.16과 같은 export(JS
2f71fcaa…·WASMd527ce81…)를 사용하며 2026-10-07 판정을 유지한다. - Linux release 재현, LINKS 적용은
NOT RUN이다.
게시 identity와 registry 검증은 현재 상태, 상세 값은 해당 release manifest/pin을 따른다.
배포 검증
- release source:
e242bcc5ea - manifest SHA-256: 1b2ec4aef85e30a1360e7e644441b4164b89e246f2601afd428164c578900696
- Builder digest: sha256:4db91924116d2ceb025a281f70a035324af446a040b3d1a7af5bd3f29f81396b
- native runtime:
rgss23-core.js2f71fcaa…,rgss23-core.wasmd527ce81…(0.1.16과 동일). - 단위 테스트 469개, 타입 검사, release 회귀 37개, browser 도구 회귀 117개, runtime lock·native 진단 lock·native 준비 recipe 검증,
git diff --check: PASS(2026-10-09, host Node 24.18.0·pnpm 12.10.1). - release build·verify, npm 생성, source-free SDK/types/contracts/runtime 결속/Builder/CLI 소비: PASS(2026-10-09,
release:build·release:verify·release:npm:test). - release 재현(
release:reproduce, clean detached worktree): PASS(2026-10-09, 수정된 script로 처음 end-to-end 실행: frozen install·같은 volume의runtime:export·release:build뒤 pin·manifest·세 artifact·Builder digest·npm tgz byte 동일. 같은 Docker host·Windows만). - npm: @rgss23/arca@0.1.17 (Forgejo registry).
Downloads 9
-
release-manifest.json
1
2.1 KiB
2026-10-09 03:21:47 +09:00 -
release-manifest.sha256
0
88 B
2026-10-09 03:21:49 +09:00 -
release-pin.json
1
441 B
2026-10-09 03:21:49 +09:00 -
rgss23-arca-0.1.17.tgz
0
95 MiB
2026-10-09 03:22:39 +09:00 -
rgss23-builder-0.1.17.oci.tar
0
59 MiB
2026-10-09 03:22:44 +09:00 -
rgss23-contracts-0.1.17.tgz
1
35 KiB
2026-10-09 03:22:46 +09:00 -
rgss23-runtime-0.1.17.zip
1
43 MiB
2026-10-09 03:22:52 +09:00 -
Source code (zip)
0
2026-10-09 03:21:35 +09:00 -
Source code (tar.gz)
0
2026-10-09 03:21:35 +09:00
- 게임패드 배치(관측 동작 변경): SDK가 RetroArch user-1 joypad bind를 명시해 W3C standard 배치의 하단 버튼(A/×)=결정(RGSS C), 오른쪽(B/○)=취소(RGSS B), 왼쪽(X/□)=RGSS X, 상단(Y/△)=RGSS A, LB/RB=L/R, LT/RT=CTRL/SHIFT, Start=ALT, D-pad=방향으로 둔다. 0.1.16까지는 RetroArch 기본(오른쪽=결정)이었다. 왼쪽 스틱은 D-pad로 변환되고,
-
hanyul released this
2026-10-07 08:23:29 +09:00 ARCA 0.1.16 변경 사항
이전 버전: 0.1.15. 지원 native upstream·toolchain을 최신으로 올리고, JS 의존성(Nostalgist 0.22.0·
@noble/hashes2.4.0)과 TypeScript 7·pnpm 12 이행에 맞춰 player SDK의 private runtime 연결을 Emscripten 6 출력에 맞게 고친 release다. native runtime(mkxp-z core JS·WASM)이 0.1.13~0.1.15와 다르다. 새 공개 export·schema·오류 code·CLI 명령·Builder subcommand는 없고 삭제된 공개 API도 없다.rgss23-runtime-status-v1, 오류 code enum, inspection v1/fingerprint ABI, Builder 기본 출력·exit code는 그대로다.업그레이드 시 확인할 동작 변경
삭제된 공개 API는 없다. 다만 아래는 기존 host가 관찰하는 결과가 달라질 수 있으므로 pin 갱신 전에 확인한다.
- native runtime identity: runtime ZIP의
dist/rgss23-core.js(SHA-2562f71fcaa…, 250,836 B)·dist/rgss23-core.wasm(d527ce81…, 44,417,072 B)가 바뀌었다. mkxp-z libretro Emscripten wrapperf0a1ff80, mkxp-z5cd32036, RetroArcha7054054, Emscripten 6.0.11(4.0.8에서), WASI SDK 34(30에서), binaryen 133, CMake 4.4.4, Meson 1.12.1, sandbox CRuby 3.3.12(3.3.10에서), host CRuby 4.0.7, WABT 1.0.42, zlib 1.3.2, Boost 1.92.0으로 고정했다. sandbox CRuby는 upstream syntax-transform이 3.1/3.3 계열만 지원하므로 3.3 최신 patch를 유지한다. host는 새 release pin·Builder digest를 함께 적용하며 runtime artifact를 release 간에 섞지 않는다. - runtime license inventory: runtime ZIP 파일 수가 53개에서 67개로 늘었다. license exporter가 Stage 1 component(CRuby·libyaml·zlib·WABT)와 toolchain runtime component(wasi-libc), 전이 dependency(GCEM 등)의 원문 license를 source commit·hash로 검증해 runtime ZIP
LICENSES/에 함께 넣는다. runtime ZIP의 파일 수와THIRD_PARTY_NOTICES.json구성 요소가 0.1.15와 다르다.verifyArcaRuntimeDirectory()는 ZIP의SHA256SUMS를 따르므로 host 코드 변경은 없다. - player SDK private runtime 연결(관측 동작 동일, 공개 API 불변): Emscripten 6 출력에는
Module.calledRun이 없으므로 SDK는 같은 private factory 반환에서 실제runtimeInitialized·ABORT를 읽어 초기화·abort를 관찰한다. Worker 생성 adapter는 Emscripten 4/6 두 source 형태를 받고 그 밖의 형태는 거부한다. canvas resize 별칭은 기존 export를 보존한다. Nostalgist 0.22.0의 keyboard cache가retroarch.cfg의 mtime을Date로 기대하므로 해당 instance의 private filesystem wrapper에서만 숫자 초를Date로 변환한다(nativeModule.FS·다른 경로·공개 filesystem 의미 불변). 지원하지 않는 runtime 출력 형태는 준비 단계에서 실패한다. - Builder OCI: base image
node:24.21.0-alpine(digest 고정)·Dockerfile frontend 1.27.1로 올리고 frozen install context에apps/web/package.json을 포함한다. Builder subcommand·flag·exit code·오류 code는 그대로이며 digest만 바뀐다. - artifact identity: contracts tgz는
dist/builder.*의 producer version과package.json만 0.1.15와 다르다. runtime ZIP은 native JS/WASM·provenance·license inventory·SDK module·SHA256SUMS가 다르다.
추가된 API·계약
없다. 공개 export·schema·오류 code·CLI 명령·Builder subcommand와 flag를 추가하거나 삭제하지 않았다.
저장소·도구 정리
- runtime build script: 고정 URL(
ftp.gnu.org)에 접근할 수 없을 때 operator가 GNU mirror에서 받은 libiconv·libidn archive를 named volume의/build/archive-seeds/<sourceFilename>에 두면 lock SHA-256이 같을 때만 network 없이 재사용한다(hash 불일치·symlink는 실패, seed 없으면 기존 download). seed 복사본은 download와 같은 mode 0644로 정규화한다. 이 변경으로 core stamp의coreRecipeSha256가 바뀌며 lock·URL·patch는 그대로다. - runtime 재현성:
mkxp-z-stage1-determinismpatch와SOURCE_DATE_EPOCH(고정 wrapper commit 시각)·LC_ALL=C·TZ=UTC로 Stage 1·core·frontend clean rebuild의 산출물·stamp를 결정적으로 만들었다. 재현 판정은 아래 검증 범위를 따른다. - native build helper: core dependency helper가 보존된 core source를 검증하고 syntax-transform smoke가 cleanup 증거를 남긴다.
runtime:test:patches와test:browser-tools에 page·VX save 입력 회귀를 추가했다. - smoke 도구: runtime·package identity를
tools/browser-smoke/artifact-identity.mjs가 소유하고 관측 report와 독립된 고정값을 쓴다. native VX save read entrypoint 두 형태를 모두 받는다. - JS 의존성: pnpm 12.8.1, TypeScript 7.0.2, Vite 8, Vitest 5, puppeteer-core 25.12.0,
@types/node24.19.1. SDK 검증 container image·RTP Docker base image도 함께 올렸다. - reference app: OPFS directory iteration이 표준
entries()타입을 사용한다(동작 동일).
검증 범위와 알려진 제한
합성·단위 검증, 제공 fixture 자동화와 사람의 입력·실제 청취·완전 종료 저장 acceptance는 별도 판정한다. 이번 release는 새 사용자 acceptance를 포함하지 않으며 사람 검토, 실제 청취, LINKS 통합과 장시간 검증은
NOT RUN이다.- 제공 VX·VX Ace 자동 smoke: 2026-10-04
0296cf5(release source와 native JS·WASM·SDK source 동일)에서 Edge 154·Chrome 154·Firefox 153의 gold 시나리오 22개(이전 무관한 6개 통과 재사용 + 16개 직렬 실행)가 자동PASS다. 새 사람 acceptance는NOT RUN이다. - native runtime clean rebuild 재현:
PASS(처음 게시하는 결정적 runtime). 2026-10-07 새 runtime image와 새 named volume에서runtime:image·preflight·checkout·Stage 1 clean·core clean·frontend를 다시 실행한 export가 검증된 export와 JS·WASM byte 동일하고 provenance stamp도 archive seed 재사용 변경에 따른coreRecipeSha256(와 frontend stamp의 core stamp hash)만 다르다. 같은 Docker host·Windows에서의 재현이며 다른 CPU 수·host·Linux는NOT RUN이다. - 다른 CPU 수·host·Linux에서의 runtime·release 재현은
NOT RUN이다. - LINKS형 기본 저장소 경로는 package를 WASM heap에 복사한다. 큰 게임에서는 메모리 여유를 확인한다.
- UTF-8 BOM이 있는
Game.ini는 지원하지 않는다(형식 오류로 처리).
게시 identity와 registry 검증은 현재 상태, 상세 값은 해당 release manifest/pin을 따른다.
배포 검증
- release source:
d4b864bc57(버전 커밋9759559뒤에 release 생성 BLOCKED 기록452e19a와 runtime build script의 archive seed 재사용d4b864b를 포함) - manifest SHA-256: 3ea1e1945ce6136b446b54ca8fba356175891011c6c0c4b440349e18aa1fc804
- Builder digest: sha256:8a1ce16a6f19e1d8a3d263e67627b1c0bbc01549ddf9e873d7fb92c1b3e70548
- native runtime:
rgss23-core.js2f71fcaa…(250,836 B),rgss23-core.wasmd527ce81…(44,417,072 B). 0.1.15와 다르다. - 단위 테스트 426개, 타입 검사, release 회귀 33개, runtime lock·native 진단 lock·native 준비 recipe 검증,
git diff --check: PASS(2026-10-07, host Node 24.18.0·pnpm 12.8.1). - release build·verify, npm 생성, source-free SDK/types/contracts/runtime 결속/Builder/CLI 소비(
release:build·release:verify·release:npm:test): PASS(2026-10-07, source commitd4b864b). - release 재현(별도 clean detached worktree, frozen install, 같은 volume의
runtime:export,release:build): PASS(2026-10-07, 같은 Docker host·buildx cache, Windows만: pin·manifest·세 artifact·Builder digest·npm tgz byte 동일. Linux 재현은NOT RUN) release:reproducescript 자체는 pnpm 12의 corepack native 실행 파일(pnpm-native.exe)을 node로 실행하려다ERR_UNKNOWN_FILE_EXTENSION으로 실패했다(도구 결함, 재현성 판정 아님). 수동 절차로 대신했고 수정은 다음 release 작업이다.- npm: @rgss23/arca@0.1.16 (Forgejo registry).
Downloads 9
-
release-manifest.json
1
2.1 KiB
2026-10-07 08:23:59 +09:00 -
release-manifest.sha256
0
88 B
2026-10-07 08:23:59 +09:00 -
release-pin.json
1
441 B
2026-10-07 08:24:00 +09:00 -
rgss23-arca-0.1.16.tgz
0
95 MiB
2026-10-07 08:24:02 +09:00 -
rgss23-builder-0.1.16.oci.tar
0
59 MiB
2026-10-07 08:24:02 +09:00 -
rgss23-contracts-0.1.16.tgz
1
35 KiB
2026-10-07 08:24:03 +09:00 -
rgss23-runtime-0.1.16.zip
1
43 MiB
2026-10-07 08:24:04 +09:00 -
Source code (zip)
0
2026-10-07 08:23:29 +09:00 -
Source code (tar.gz)
0
2026-10-07 08:23:29 +09:00
- native runtime identity: runtime ZIP의
-
hanyul released this
2026-10-03 10:53:07 +09:00 ARCA 0.1.15 변경 사항
이전 버전: 0.1.14. Builder 입력 오류 code와 player SDK 실패 분류를 바로잡고, 공식 RTP 다운로드를 무수신 timeout·재시도·이어받기로 바꾸고, release 출력 덮어쓰기 방지와 smoke 도구를 정리한 release다. native runtime(mkxp-z core JS·WASM)은 0.1.13·0.1.14와 같다. 새 공개 export·schema·오류 code·CLI 명령·Builder subcommand는 없고 삭제된 공개 API도 없다.
rgss23-runtime-status-v1, 오류 code enum, inspection v1/fingerprint ABI, Builder 기본 출력·exit code는 그대로다.업그레이드 시 확인할 동작 변경
삭제된 공개 API는 없다. 다만 아래는 기존 host가 관찰하는 결과가 달라질 수 있으므로 pin 갱신 전에 확인한다.
- Builder 입력 오류 code: 0.1.14가
BUILDER_INTERNAL로 보고하던 입력 오류를BUILDER_SOURCE_INVALID(gamemkxp.json의 JSON parse 오류·object 아님·기존fontSub·preloadScript·postloadScript형식 오류,sanitizeInvalidPngTrns가 고른tRNSPNG의 구조 오류)와BUILDER_CONFIG_INVALID(build.jsonfontSubstitutions값 형식 오류. source를 읽기 전 config 단계에서 거부)로 보고한다. 새 code는 없고 새 message는mkxp.json must be valid UTF-8.하나다.--failure-reportcode에서BUILDER_INTERNAL만 가정한 host 분기는 확인이 필요하다. - Builder 입력 수용 범위: 비 UTF-8 game
mkxp.json은U+FFFD로 바뀐 채 성공하던 것이BUILDER_SOURCE_INVALID로 거부된다.sanitizeInvalidPngTrns: true는 inspect와 같은 chunk-header 판정으로 gray+alpha·RGBA인데tRNS가 있는 PNG만 읽어 고치므로,tRNS없는 손상 PNG 때문에 실패하던 입력은 그 PNG를 그대로 담아 성공한다. inspector는 64 MiB를 넘는 Scripts를 읽지 않고 같은 finding을 낸다(출력 불변). 제공 VX·VX Ace의 package SHA-256과 inspect v1·v2 출력은 0.1.14와 같다. UTF-8 BOMGame.ini미지원은 유지한다. - player SDK launch abort 분류: runtime 준비·mount·시작 중 launch
signal이 abort되면MOUNT_FAILED(runtime-prepare-failed·runtime-mount-failed)나RUNTIME_ABORTED/runtime-start-failed대신RUNTIME_ABORTED/aborted로 보고한다. 같은 시점에 native fatal이 먼저 났으면runtime-fatal이 우선한다. runtime factory가 abort를 무시하고 반환해도 runtime을 시작하지 않는다. 이때 2단계prepareRgss23Player()는prepared로 resolve한 뒤failed로 바뀌는 대신 같은 오류로 reject한다. - save commit 충돌:
SAVE_COMMIT_FAILED의 revision 충돌은retryable: false다(0.1.14는 true). 같은 player가 다시 시도해도 같은expectedRevision을 보내므로 최신 save를 restore하는 relaunch가 필요하다. restore(SAVE_RESTORE_FAILED) 충돌은 그대로 true다. - 공식 RTP 다운로드: 재시도 없는 300초 전체 timeout 대신 60초 동안 데이터를 받지 못하면 그 시도를 끝내고 전체는 1시간까지 허용한다. 한
prepareArcaRtp()호출 안에서 네트워크 전송 오류·HTTP 5xx·429·무수신을 최대 3회 다시 시도하고(약 2·8·30초 backoff와 jitter, 5xx·429의Retry-After보다 짧게 기다리지 않으며 5분을 넘는Retry-After면 중단), 서버가 받은 위치·전체 크기가 맞는206·Content-Range로 응답할 때만 이어 받는다. 계속 멈추는 서버는 약 4~5분 뒤 실패로 보고된다. host 자체 timeout·재시도와 겹치는지 확인한다. - RTP timeout 오류 분류: ARCA 내부 무수신·전체 시간 초과는 0.1.14의
TimeoutError대신ARCA_RTP_DOWNLOAD_FAILED이고error.cause.name이TimeoutError다. 호출자signal의AbortError·TimeoutError는 그대로다. - contracts fixture 값:
@rgss23/contracts/builder의createRgss23BuilderInspectionV2Fixture().scripts가 0.1.14에서는 escape 누락으로DataScripts.rvdata였고Data\Scripts.rvdata로 고쳤다.Rgss23BuilderFindingSeverity는 이름·구조가 같고 d.ts에서Rgss23FindingSeverityalias로 표기된다. - artifact identity: runtime ZIP은 SDK module(
dist/rgss23-player.mjs)·provenance.json·SHA256SUMS만, contracts tgz는dist/builder.*3개와package.json만 0.1.14와 다르다. inspector·packager 변경으로 Builder OCI digest가 바뀌었다. host는 새 release pin·Builder digest를 함께 적용한다.
추가된 API·계약
없다. 공개 export·schema·오류 code·CLI 명령·Builder subcommand와 flag를 추가하거나 삭제하지 않았다. packager README에 Builder가 이미 적용하던
build.json규칙을 Builder 설정 계약으로 문서화했다(contracts schema·parser는 아니다).성능
getArcaRelease():integrity.json이 이미 hash한 release artifact를 다시 읽지 않고 그 digest와 파일 크기를 manifest·pin과 대조한다. 0.1.14 package 사본의 로컬 측정에서 호출당 읽기가 250.9 MiB에서 149.5 MiB로 줄었다. 오류 code·message는 같다. 성능 보장이 아니다.- player SDK의 runtime JS/WASM staging chunk 복사를 1회 줄였다(관측 동작 동일).
저장소·도구 정리
- release 출력 덮어쓰기 방지:
release:build·release:builder·release:npm은 같은 version 출력이 있으면 아무것도 지우거나 쓰기 전에 거부한다(--replace-unpublished만 예외).release:build와 standalonerelease:npm은 tracked 변경(staged 포함)과packages/·tools/release/의 비추적 파일을 생성 전에 거부한다(--allow-dirty만 예외, 그 출력은 게시하지 않는다). - release script가 Windows에서
%SystemRoot%\System32\tar.exe(bsdtar)를 직접 사용해release:test·release:verify·release:npm:test가 Git Bash에서도 실행된다. release 단계 contracts tarball 검증은 npm/deploy와 같은 내부 reader로 unsafe 경로·header 손상을ARCA_CONTRACTS_*code로 거부한다.typecheck가 package를 먼저 build한다. - 참조 없는 script(
release:archives, rawpackage:vx-ace), 비공개 packager barrel의 소비자 없는 export(packagePortableRpgVxRtp·packageFixtureRgssProjectWithInspection)와 호출자 없는verifyPortableRgssOverlay,pnpm-workspace.yaml의onlyBuiltDependencies(pnpm 11.9.0 미사용)를 지웠다. player SDK 오류 판정 helper를 내부 모듈로 모았다. - reference app은 restore한 save와 같은 bytes를 OPFS에 다시 쓰지 않는다.
- smoke 도구: VX Ace RTP를 쓰는 runtime·browser smoke가 검증된 로컬 pin cache(
rtp:vx-ace:acquire)를 공유하고,package:rpgvx-rtp는 lock과 일치하는 기존 출력을 재사용한다. 실패 run의 report·PNG와failure-evidence.json을 보존하고, build를 엔진당 한 번만 실행하는browser:smoke:batch를 추가했다. Edge no-input 관찰 창이 timer 조기 기상 때 계약 하한보다 1 ms 짧게 기록되던 간헐 실패를 고쳤다. 계약 판정 기준·gold·report 형식은 그대로다. - 문서: README를 프로젝트 소개 중심으로 다시 구성하고 출하 README(packager·npm)의 0.1.15 변경·RTP 재시도 서술을 코드와 맞췄다.
검증 범위와 알려진 제한
합성·단위 검증, 제공 fixture 자동화와 사람의 입력·실제 청취·완전 종료 저장 acceptance는 별도 판정한다. 이번 release는 새 사용자 acceptance를 포함하지 않으며 사람 검토, 실제 청취, LINKS 통합과 장시간 검증은
NOT RUN이다.- 공식 RTP 다운로드의 재시도·Range 이어받기·무수신 경로는 loopback mock server로만 검증했다. 실제 공식 서버 다운로드는 1회
PASS였고 그 실행에서 재시도 경로는 확인하지 않았다. - browser·runtime smoke는 0.1.14 이후 정리 통합 tree에서 대표 시나리오(Edge VX Ace
save-load·movement-cancel, Firefox VX Aceaction-event, Edge VXaction-event·cancel-menu,runtime:smoke:isolated-player·restart)만 자동PASS다. gold가 있는 22개 전체 재실행은 이번 release에서 하지 않았다. - native runtime clean rebuild 재현:
FAIL(0.1.14와 같은 상태). 같은 lock·recipe·patch로 다시 빌드한 WASM이 0.1.13과 다르다(CRuby/WASI Stage 1 산출물 비결정). 0.1.15는 0.1.13·0.1.14와 같은 runtime export를 사용하므로 배포 runtime에는 영향이 없다. - LINKS형 기본 저장소 경로는 package를 WASM heap에 복사한다. 로컬 측정에서 WASM memory는 VX Ace 597 MiB, 제공 VX 1,045 MiB(2 GiB 한도의 51%)였다. 큰 게임에서는 메모리 여유를 확인한다.
- UTF-8 BOM이 있는
Game.ini는 지원하지 않는다(형식 오류로 처리). - Linux release 재현은
NOT RUN이다.
게시 identity와 registry 검증은 현재 상태, 상세 값은 해당 release manifest/pin을 따른다.
배포 검증
- release source:
ea001ce2b3 - manifest SHA-256: 8edfa50823ae3bd5f633671b31c500649da985dd2b2dcfdae177f37929bdf826
- Builder digest: sha256:8c258f8a30b6af3d0c9f4237ef4871505f6625ab4e7e5cad91bbffb7120646e1
- native runtime:
rgss23-core.js1e9d9349…,rgss23-core.wasm5e0e8586…, core·frontend provenance, configuration, license 45개가 0.1.14 runtime ZIP과 byte 단위로 같다. - 단위 테스트 376개, 타입 검사, release 회귀 33개(PowerShell·Git Bash), browser 도구 회귀 36개, native patch 정적 검사 6개, native lock·recipe 검증: PASS.
- release build·verify, npm 생성, source-free SDK/types/contracts/runtime 결속/Builder/CLI 소비: PASS. release Builder gate와 consumer gate는 공개 helper
arcaBuilderRunArguments()의 격리 인자로 실행된다. - 0.1.15 Builder OCI에서 v2 inspect·진행 파일·failure report 실행(생성된 npm package helper 사용): PASS. 제공 VX Ace archive는 browser fixture package와 hash가 같다.
verifyArcaRuntimeDirectory()(53개 파일)·verifyArcaContracts()(45개 파일)·arca-release verify-contracts: PASS.- 공식 RTP Windows 다운로드·추출·cache: PASS.
- 별도 clean worktree에서 runtime export를 입력으로 고정한 release pin·artifact·Builder digest·npm bytes 재현: PASS.
- npm: @rgss23/arca@0.1.15 (Forgejo registry).
Downloads 9
-
release-manifest.json
2
2.1 KiB
2026-10-03 10:53:51 +09:00 -
release-manifest.sha256
1
88 B
2026-10-03 10:53:52 +09:00 -
release-pin.json
2
441 B
2026-10-03 10:53:53 +09:00 -
rgss23-arca-0.1.15.tgz
0
92 MiB
2026-10-03 10:53:56 +09:00 -
rgss23-builder-0.1.15.oci.tar
0
56 MiB
2026-10-03 10:53:58 +09:00 -
rgss23-contracts-0.1.15.tgz
2
34 KiB
2026-10-03 10:53:59 +09:00 -
rgss23-runtime-0.1.15.zip
1
46 MiB
2026-10-03 10:54:01 +09:00 -
Source code (zip)
0
2026-10-03 10:53:07 +09:00 -
Source code (tar.gz)
0
2026-10-03 10:53:07 +09:00
- Builder 입력 오류 code: 0.1.14가
-
hanyul released this
2026-10-03 02:06:55 +09:00 ARCA 0.1.14 변경 사항
이전 버전: 0.1.13. host 통합 helper·launch lifecycle·Builder 계약을 더하고 packager 성능과 release 재현성을 고친 release다. native runtime(mkxp-z core JS·WASM)은 0.1.13과 같다. 게시된 0.1.x 공개 API·
rgss23-runtime-status-v1·오류 code enum·inspection v1/fingerprint ABI·Builder subcommand는 바꾸지 않았고, 새 정보는 opt-in 옵션·새 export·새 schema로만 추가했다.업그레이드 시 확인할 동작 변경
삭제된 공개 API는 없다. 다만 아래는 기존 host가 관찰하는 결과가 달라질 수 있으므로 pin 갱신 전에 확인한다.
- player SDK 실패 분류: 일부 launch 실패의
code·retryable이 바뀐다. 다운로드 stream 실패·조기 종료는ARTIFACT_INVALID(retryable), cache writer·조회 실패는CACHE_UNAVAILABLE(quota는 retryable false),prepareLayout중 abort는RUNTIME_ABORTED, 빈 save 적용 실패는SAVE_RESTORE_FAILED. 이전에는 주로LAUNCH_INVALID(재시도 불가)였다.LAUNCH_INVALID만 가정한 host 분기는 갱신이 필요하다. - 손상 cache 자가 복구: 기본 저장소 cache의 크기·hash 불일치 때 artifact별 1회 source에서 다시 받는다(
cacheRecovery: "fail"로 끌 수 있다). 기본 저장소artifactCache.put실패는 기본 best-effort다(artifactCacheWrite: "required"면 기존처럼 실패). - 입력 해제: 창 blur·hidden·
pagehide·canvas focus 이탈·pointer lock 해제 때 눌린 키와 mouse button을 놓는다. - save key: 기본 저장소가 Windows device name segment(
CON,aux.rvdata2,com1.dat등)를 그대로 key로 써SAVE_COMMIT_FAILED가 나던 결함을 고쳤다. 그런 경로만arca-path-v1/로 escape하며 기존 key는 byte 단위로 같다. - Builder 사전 거부:
package는 VX config의syntaxTransform이2가 아니거나rtpManifest가 game engine·Game.iniRTP와 맞지 않으면 거부한다.inspect는 path·classic ZIP 한계·대소문자 충돌을blockedfinding으로 먼저 보고하고, script masking이 불확실하면scripts:lexer-uncertain으로 보고한다(이때 package-bound report의staticInspection이partial). 엔진 data가 섞인 source는Scripts확장자로 판정하고 warning을 남긴다(이전에는 실패). - Builder 입력 계약:
Game.iniroot 탐색·[Game]parse·Library·Scripts·RTP대조 규칙을 공개 입력 계약으로 명시했다. 동작 변경은 대소문자만 다른 복수Game.ini중inspect가 읽을 파일을 UTF-8 byte 순으로 정한 것뿐이다(Node 24 기존 결과와 같다). - RTP 오류 code:
getArcaRtp()·prepareArcaRtp()실패에 실패 단계의ARCA_RTP_*code가 붙는다(새ARCA_RTP_OUTPUT_FAILED). message는 0.1.13과 같고, 하위 오류는 같은 message의 새 Error로 감싸질 수 있다(원래 오류는cause). arca-release실패 출력: stack trace 대신 stderrCODE: message한 줄로 출력한다. exit 1은 같다.- artifact identity: contracts·npm tgz의 gzip header OS byte를 build OS와 무관하게
0x03으로 고정했다(0.1.13은0x0a). Builder·inspector·packager 변경으로 Builder OCI digest가 바뀌었다. host는 새 release pin·Builder digest를 함께 적용한다.
추가된 API·계약
@rgss23/arca/deploy:verifyArcaRuntimeDirectory()(해제한 runtime 디렉터리를 release manifest의 runtime ZIP과 1:1 대조,ARCA_RUNTIME_*),verifyArcaContracts()(packagecontracts/가 pin된 contracts tarball과 같은지 검증,ARCA_CONTRACTS_*), Builder 실행 helpergetArcaBuilderIsolation()·arcaBuilderRunArguments()·loadArcaBuilder()(ARCA_BUILDER_*),getArcaRelease()·stageArcaRelease()의ARCA_RELEASE_*code. CLIverify-contracts·builder-isolation·builder-load·--help.- player SDK:
prepareRgss23Player()(준비와 사용자 클릭 시작 분리),onLaunchProgress(rgss23-launch-progress-v1),onLaunchMetrics(rgss23-launch-metrics-v1),Rgss23PlayerError.reason·artifactRole,Rgss23CacheIntegrityError,cacheRecovery,artifactCacheWrite, host cacheget요청의onProgress,keyboard.passthrough. @rgss23/contracts:/launch-lifecycle(실패 reason·진행률·계측 schema·parser·fixture),/builder(rgss23-builder-failure-v1,rgss23-builder-inspection-v2,rgss23-builder-progress-v1).- Builder OCI: 세 subcommand의 opt-in
--failure-report /output/<name>.json,--progress stderr|/output/<name>.ndjson,inspect --format rgss23-builder-inspection-v2(검토용 권장 build 설정이며 자동 적용하지 않는다). libraryonProgress.
성능
- packager: CRC32를
node:zlib로 바꾸고 archive hash를 쓰기 중 계산하며, verifier를 1 MiB 단일 순차 pass·상수 메모리로 바꿨다. 출력 bytes는 같다. 로컬 측정(Node 24, Windows): 300 MiB 단일 파일 Builder package 5.3 s/400 MiB RSS → 2.4 s/82 MiB, locked Ace RTP cache 검증 약 2 s → 0.25 s, 공식 RTP 최초 준비 peak 약 617 MiB → 168 MiB. 성능 보장이 아니다.
저장소·도구 정리
- 제공 VX overlay와
native-vx-compatible.lock.json의 source fingerprint를 inspector의 UTF-8 byte 정렬 기준으로 갱신했다. 2026-08-09 정렬 고정 이후package:vx:browser:compatible·browser:prepare:vx가 fingerprint 불일치로 실패하던 저장소 결함이다. 원본과 compatible archive hash는 같다. - 더 이상 쓰지 않는 VX Ace native 진단 chain(
tools/native-vx-ace/,native:vx-ace:*script, builder·runner·baseline lock)을 삭제했다. 0.1.12·0.1.13 release note의 VX Ace native baseline verifier 실패는 이 chain과 함께 사라졌다. VX Ace legacy RTP cache 취득은rtp:vx-ace:acquire로 옮겼다. - 비공개
manifestpackage를 inspector에 병합하고 비공개 package의 미사용 bin·subpath·script를 제거했다. browser·runtime smoke 공통 모듈을 정리했다. - browser smoke gold를 decoded RGBA SHA-256으로 비교하고 browser version 불일치는 실패와 구분된 drift로 보고한다. VX·VX Ace save-load smoke의 입력·캡처 timing flaky를 결정적으로 고쳤다.
- 문서를 현재 계약 중심으로 통합·축소하고 README를 프로젝트 소개로 다시 썼다.
검증 범위와 알려진 제한
합성·단위 검증, 제공 fixture 자동화와 사람의 입력·실제 청취·완전 종료 저장 acceptance는 별도 판정한다. 갱신된 smoke gold의 사람 검토, 실제 청취, LINKS 통합과 장시간 검증은
NOT RUN이다.- native runtime clean rebuild 재현:
FAIL. 같은 lock·recipe·patch로 다시 빌드한 WASM이 0.1.13과 다르다(CRuby/WASI Stage 1 산출물 비결정, 0.1.0/0.1.3·0.1.6/0.1.8에서도 있던 성질). 0.1.14는 0.1.13 runtime export를 그대로 사용하므로 배포 runtime에는 영향이 없다. - LINKS형 기본 저장소 경로는 package를 WASM heap에 복사한다. 로컬 측정에서 WASM memory는 VX Ace 597 MiB, 제공 VX 1,045 MiB(2 GiB 한도의 51%)였다. 큰 게임에서는 메모리 여유를 확인한다.
- UTF-8 BOM이 있는
Game.ini는 지원하지 않는다(형식 오류로 처리). - Linux release 재현은
NOT RUN이다.
게시 identity와 registry 검증은 현재 상태, 상세 값은 해당 release manifest/pin을 따른다.
배포 검증
- release source:
33eb223935 - manifest SHA-256: d79c78ea1d44e04787ed13d06960218ef4f0d691e7b9650e3541d957e116b81d
- Builder digest: sha256:d53f140824c038bd32dbacd4a39e97b767e5c78afb858a9e95edbb4bdf21c332
- native runtime:
rgss23-core.js1e9d9349…,rgss23-core.wasm5e0e8586…, core·frontend provenance, configuration, license 45개가 0.1.13 runtime ZIP과 byte 단위로 같다. - 단위 테스트 352개, 타입 검사, release 회귀 24개, native lock·recipe 검증: PASS.
- release build·verify, npm 생성, source-free SDK/types/contracts/runtime 결속/Builder/CLI 소비: PASS.
- release Builder gate가 공개 helper와 같은 격리(user
10001:10001, init, read-only rootfs, network none, cap_drop ALL, no-new-privileges, tmpfs, memory 1 GiB)로 실행됨을 확인: PASS. 0.1.14 Builder OCI에서 v2 inspect·진행 파일·failure report 실행: PASS. - 공식 RTP Windows 다운로드·추출·cache: PASS.
- 별도 clean worktree에서 runtime export를 입력으로 고정한 release pin·artifact·Builder digest·npm bytes 재현: PASS.
- browser smoke(0.1.13 runtime, Edge 154·Chrome 154·Firefox 153): gold가 있는 22개 자동 PASS.
- npm: @rgss23/arca@0.1.14 (Forgejo registry).
Downloads 9
-
release-manifest.json
1
2.1 KiB
2026-10-03 02:07:39 +09:00 -
release-manifest.sha256
0
88 B
2026-10-03 02:07:40 +09:00 -
release-pin.json
0
441 B
2026-10-03 02:07:40 +09:00 -
rgss23-arca-0.1.14.tgz
1
92 MiB
2026-10-03 02:07:41 +09:00 -
rgss23-builder-0.1.14.oci.tar
0
56 MiB
2026-10-03 02:07:43 +09:00 -
rgss23-contracts-0.1.14.tgz
0
34 KiB
2026-10-03 02:07:44 +09:00 -
rgss23-runtime-0.1.14.zip
0
46 MiB
2026-10-03 02:07:45 +09:00 -
Source code (zip)
0
2026-10-03 02:06:55 +09:00 -
Source code (tar.gz)
0
2026-10-03 02:06:55 +09:00
- player SDK 실패 분류: 일부 launch 실패의
-
hanyul released this
2026-09-27 11:54:36 +09:00 ARCA 0.1.13 변경 사항
이전 버전: 0.1.12. 같은 실행의 자산과 native runtime을 유지하는 공개 재시작 API를 추가한다.
변경 사항
PlayerHandle.restartSupported와restart({ signal, onProgress }), 결과·오류 타입을 공개한다. 자산 다운로드·검증·마운트와 WASM·Worker·canvas 재생성을 생략한다.- native 일시정지 응답 → 저장 flush·host commit revision 확인 → Ruby sandbox 초기화 → 실행 재개 순서를 보장한다. 저장하지 않은 진행은 사라지고 저장 파일·음량·음소거 설정은 유지한다.
- 저장 실패·초기화 전 취소는 기존 실행으로 복귀한다. 초기화 이후 실패는 마지막 확인된 revision과
relaunch-required를 반환하고 자동 저장을 차단한다. 자동 전체 재기동은 하지 않는다. - 중복 호출은 같은 작업에 합류하며 수동 flush·종료와 직렬화한다. F12도 같은 트랜잭션을 사용하고, 재시작 중 입력을 해제·차단한다.
- 정상 종료는 native frame 경계의 일시정지 응답 후 자원을 해제한다. 실행 중인 Worker와 sandbox destructor가 겹치던 전체 재기동 경합을 보완한다.
- CRuby·core clean build와 새 frontend를 생성하고 patch·recipe·provenance 및 재배포 정책의 lock 연결을 갱신한다. 외부 dependency pin·라이선스·글꼴 구성은 유지한다.
사용과 검증 범위
같은 0.1.13 release의 SDK·runtime·Builder 전체 pin을 사용한다. SDK 사용 예시와 재시작 계약·측정 근거를 따른다. API 완료는
native-resumed이며 게임별 타이틀 화면 도달 시간 보장이 아니다.합성 검증, 제공 fixture 자동화와 사람의 입력·실제 청취·완전 종료 저장 acceptance는 별도 판정한다. LINKS 서버·opaque iframe 통합, 632MiB 실게임과 장시간 메모리 검증은 이번 독립 회귀 결과를 상속하지 않는다.
VX Ace native baseline verifier의 기존
browserCompatible package original source drifted실패는 남아 있다. 원본 fixture·기대값을 수정하지 않았으며 해당 진단 baseline과 새 release artifact 검증은 별도로 관리한다.게시 identity와 registry 검증은 현재 상태, 상세 값은 해당 release manifest/pin을 따른다.
배포 검증
- release source:
ba91d1a1c1 - manifest SHA-256: 48d936099973db9020181bed18f3deffa4eec25b50edcdec19698e1de0895db6
- Builder digest: sha256:4820afc715bae0862d3ae89a93421e42f52a9e0ea4e0150531d5daf37d6e80e5
- SDK 회귀·타입 검사, release 회귀 12개, native patch/recipe lock, CRuby·core clean build·frontend export: PASS.
- Chrome·Firefox 합성 입력/오디오/저장/실패 복구, 제공 VX Ace 반복 재시작과 전체 재기동: PASS. Firefox 제공 게임의 저장 후 재시작·불러오기: PASS.
- 제공 game+RTP 약 228MiB: 빠른 재시작 API 102–128ms, 전체 재기동 API 6.7–7.9초. 타이틀 표시 시간·LINKS 632MiB 게임의 성능 보장이 아니다.
- source-free SDK/types/runtime/Builder/npm 소비 및 별도 clean checkout의 release pin·Builder digest·npm bytes 재현: PASS.
- npm: @rgss23/arca@0.1.13 (Forgejo registry).
- 실제 청취·브라우저 완전 종료 사용자 acceptance·LINKS 통합·장시간 누수 검증: NOT RUN.
Downloads 9
-
release-manifest.json
1
2.1 KiB
2026-09-27 11:54:39 +09:00 -
release-manifest.sha256
1
88 B
2026-09-27 11:54:41 +09:00 -
release-pin.json
1
441 B
2026-09-27 11:54:40 +09:00 -
rgss23-arca-0.1.13.tgz
1
92 MiB
2026-09-27 11:54:42 +09:00 -
rgss23-builder-0.1.13.oci.tar
1
56 MiB
2026-09-27 11:54:37 +09:00 -
rgss23-contracts-0.1.13.tgz
1
22 KiB
2026-09-27 11:54:38 +09:00 -
rgss23-runtime-0.1.13.zip
1
46 MiB
2026-09-27 11:54:38 +09:00 -
Source code (zip)
0
2026-09-27 11:54:36 +09:00 -
Source code (tar.gz)
0
2026-09-27 11:54:36 +09:00
-
hanyul released this
2026-09-27 10:49:38 +09:00 ARCA 0.1.12 변경 사항
이전 버전: 0.1.11. 공개 API와 runtime 동작을 유지하는 도구 안정화·리팩토링 release다.
변경 사항
- cross-browser smoke에서 browser 종료 실패와 무관하게 server 정리를 시도하고 최초 실행 오류를 보존한다.
- 성공한 실행의 새 임시 profile만 정리한다. 실패 진단 profile, 명시적으로 보존한 profile과 기존 저장 검증 profile은 유지한다.
- smoke의 PNG 판독, release의 canonical JSON·명령 실행, native 준비 도구의 directory 게시·rollback을 공통화했다. native 준비 recipe의 hash 검증을 추가했다.
- 큰 browser smoke를 연결·옵션·시나리오·보고서 모듈로 분리하고 packager의 ZIP·호환 변환·directory 게시 책임을 나눴다. 기존 공개 export와 archive·sidecar 계약은 유지한다.
- 저장 테스트의 전체 바이트 비교 비용과 종료 테스트의 폴링 대기를 줄였다. native mouse/cursor patch 정적 검사는
runtime:test:patches로 분리해 변경 범위에 맞게 실행한다. - 완료 기능과 LINKS 적용 미검증 상태를 구분하고 현재 상태·로드맵·검증 지침을 정리했다.
검증 범위와 알려진 제한
리팩토링 단위 회귀, 공개 export·archive 동등성, 대표 Edge VX Ace 실행과 Chrome 종료 lifecycle을 확인했다. 이번 변경은 새 엔진 지원 또는 새 사용자 acceptance를 뜻하지 않는다. 실제 LINKS 적용·전체 플레이·실제 청취·새 save/load acceptance는
NOT RUN이다.VX Ace native baseline 전체 verifier의 기존
browserCompatible package original source drifted실패는 남아 있다. 변경 전후 동일한 sidecar original source provenance 불일치이며 fixture 기대값을 수정해 숨기지 않았다. release artifact·consumer 검증과 이 native 진단 baseline 검증은 별도로 판정한다.게시 결과와 재현 identity는 해당 release의 manifest/pin 및 현재 상태에서 확인한다.
배포 검증
- release source:
7689e27c05 - release manifest SHA-256: b3c6b5ad4a957e6d76f7677f5e91d22d5c5bae8a162bacb6980a44269a8f694a
- Builder digest: sha256:b9edeb263a0094aa05d5209b2bae384ca37611308ebb584f0447029d342ae8ea
- 타입 검사, release 회귀 12개, packager 회귀 69개, source-free SDK/types/Builder/npm 소비 및 별도 clean checkout의 release/npm hash 재현: PASS.
- native JS/WASM 및 라이선스는 게시된 0.1.11에서 현재 runtime lock·원본 바이트 일치를 검증해 재사용했다. 이번 release에서 native 재컴파일은 수행하지 않았다.
- npm: @rgss23/arca@0.1.12 (Forgejo registry).
Downloads 9
-
release-manifest.json
1
2.1 KiB
2026-09-27 10:49:41 +09:00 -
release-manifest.sha256
1
88 B
2026-09-27 10:49:43 +09:00 -
release-pin.json
1
441 B
2026-09-27 10:49:42 +09:00 -
rgss23-arca-0.1.12.tgz
1
92 MiB
2026-09-27 10:49:44 +09:00 -
rgss23-builder-0.1.12.oci.tar
1
56 MiB
2026-09-27 10:49:39 +09:00 -
rgss23-contracts-0.1.12.tgz
1
22 KiB
2026-09-27 10:49:40 +09:00 -
rgss23-runtime-0.1.12.zip
1
46 MiB
2026-09-27 10:49:41 +09:00 -
Source code (zip)
0
2026-09-27 10:49:38 +09:00 -
Source code (tar.gz)
0
2026-09-27 10:49:38 +09:00