-
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로 변환되고,