-
hanyul released this
2026-10-16 23:03:54 +09:00 ARCA 0.1.21 변경 사항
이전 버전: 0.1.20. LINKS 요청 6건(2026-10-16) 대응 release다. native runtime(mkxp-z core JS·WASM)·SDK bundle·contracts tgz·Builder archive·npm tgz bytes가 바뀐다. 새 오류 code·schema는 없고 삭제된 export도 없다. 새 공개 값은 모두 가산이다(release pin
builderConfigDigest,getArcaRelease().builder.configDigest,loadArcaBuilder()결과configDigest, SDKpresentation옵션과onPresentation의filter·scaling).포함 변경 요약
runtime: 비율 맞춤 여백 잔상 수정
- canvas 비율과 게임 비율이 다를 때(
Graphics.resize_screen, 정수 배율, 17:13이 아닌 canvas) Emscripten WebGL 1 offscreen blit이 gl2의 letterbox viewport를 그대로 써서 frame이 그 안으로 눌리고 여백 바깥 줄에 이전 화면이 남았다. frontend patchretroarch-main-thread-webgl-proxy의 swap이 commit 전에 viewport를 drawing buffer 전체로 둔다(근거).
runtime: suspended AudioContext의 선부팅 지연 수정
- user gesture 전 suspended AudioContext에서 RetroArch AudioWorklet writer가 즉시 반환해 threaded core audio가 속도 제한 없이 decode하고 write마다 main thread에
resume()을 쌓았다(선부팅이 20 s 상한까지 대기). frontend patchretroarch-audio-continuity가 blocking writer를 버린 frame의 재생 시간만큼 기다리게 하고resume()요청을 1초에 한 번으로 줄인다(근거). runtimes/mkxp-z/dependencies.lock.json·build recipe와redistribution-policy.json의 lock hash를 갱신했다. 제3자 dependency·license 변경은 없다.- native runtime export(named volume clean build):
rgss23-core.jsd4884b14f717f5b2ac35ec8a53f6d4663d6b1c70e2f477682e93326ef6cd8bd2(256,567 B),rgss23-core.wasm39085f4e81f83ae1a7588849b4c696ea2fadf6d2a03f0c50954c44403c45c716(44,432,926 B).
SDK: 표시 품질 launch 옵션
presentation: { filter?: "nearest" | "bilinear", scaling?: "fit" | "integer" }(launch·prepare 전용, 시작 뒤 변경 없음). 기본값nearest·fit은 이전 release의 실제 동작과 같다(RetroArchvideo_smooth기본 off). 알 수 없는 값은 launch 전TypeError.onPresentation상태에 적용된filter·scaling을 보고한다.- presentation 통지가 정지·dispose 뒤 한 번 더 올 수 있던 RAF 경로를 막았다.
- browser compositor의 CSS 확대(부모
transform,scaled상태)는 host CSS 책임이며 SDK는 canvas style을 바꾸지 않는다(SDK 화면 표시).
release·deploy: Builder config digest
- release pin
builderConfigDigest(Builder archive의 OCI image config descriptor digest = Docker 24 graphdriver store의 load 뒤 image ID).getArcaRelease().builder.configDigest는 integrity로 결속된 archive를 Docker 없이 읽어 pin과 같을 때만 돌려준다(다르면ARCA_RELEASE_BUILDER_MISMATCH). release manifest schema는 그대로다.
smoke·문서
runtime:smoke:dpr: resize 뒤 640×480·544×480·544×416 여백 전체 검정·frame 무축소 단언,--worker-mode.runtime:smoke:presentation-quality신설.runtime:smoke:host-storage-metrics:--suspend-audio·--autoplay-policy.- LINKS 가이드 0.1.21 절(요청별 판정·검증 대응), 프로젝트 상태·호환성 매트릭스·로드맵(backing 재할당 보류, RTP pruning 미채택, iOS 초안 보류). release bytes에 들어가는
packages/contracts/README.md·tools/release/npm/README.md가 바뀌었다.
측정 요약
2026-10-16, 같은 PC, Chrome 155.0.8059.84·Firefox 153.0.1 headless, 자동화
PASS·사람 검토NOT RUN.- resize 여백:
runtime:smoke:dprChrome·Firefox × DPR 1·2·3 × 390×844·820×1180 × module·opaque-origin Worker 24셀PASS(수정 전 runtime은 같은 셀FAIL). - 표시 품질:
runtime:smoke:presentation-qualityChrome·Firefox × module·opaque-origin 80셀PASS(DPR 1의 2·3·2.3배, DPR 1.25·1.5; backing = CSS × DPR, nearest 경계 혼합 0, integer 여백 검정). - 선부팅(AudioContext 강제 suspended, prepare→paused): 제공 VX Ace Chrome lazy 4.6/3.8 s, opaque frame + opaque-origin Worker 3.4/4.1 s, heap 9.3 s, Firefox 4.1/3.2 s, 클릭 뒤 오디오 재개. WAV BGM 합성 게임 0.1.20 20.8 s → 0.1.21 3.7 s.
browser:smoke:chrome:vx-ace:titlePASS(title gold28353853…일치).
host 적용 순서
LINKS 적용 가이드 0.1.21 절을 따른다. 요약:
@rgss23/arca전체를 0.1.21 exact pin과 registry integrity로 올리고 release pin·runtime generation을 함께 적용한다(절차는 0.1.20과 같다).- Builder 실행 참조: load 뒤 daemon image ID가
getArcaRelease().builder.digest(containerd store) 또는configDigest(Docker 24 graphdriver store)와 같을 때만 그 ID로 실행한다. - 선명도가 필요하면 launch·prepare에
presentation을 전달한다. 부모 CSStransform확대는 browser가 bilinear로 리샘플링하므로 표시 크기 배치를 우선한다. - resize 여백 edge 단언과 suspended AudioContext 선부팅(force probe)을 host 경로에서 다시 측정한다.
NOT RUN
- LINKS opaque frame 적용·force probe·
run-player-dpr재측정, NAS 실환경, Docker 24.0.2 실제 daemon 재확인. - 실행 중 backing 재할당(보류), sharp 배율(미포함).
- 사람 화면·청취 확인, 새 사용자 acceptance(제공 VX/VX Ace acceptance 기준은 2026-08-05 그대로), 새 runtime의 나머지 browser smoke 행렬.
- 실기 모바일·Safari, Linux 재현.
배포 검증
- tag:
0.1.21(annotated, tag object07605b80a1) - release source:
07ade373fa(버전 커밋) - manifest SHA-256: 219cfa29635aeda918ab73c40b093f90bdd5a3bccdf090507e7e40855023a603
- Builder digest(pin): sha256:83adbc29a760db8f94cbbd331ba36028526067165b17d241a56fc8a13abe4d7b · Builder config digest(pin
builderConfigDigest): sha256:43bc702e27c753de3c61fa206624a30a321efd3c1348a556d1aaba3d5a8c8d7c - artifact SHA-256: builder e97830b7d7e657d722a970ca59a54309aa9adb440d880148951037f2c8160a07 · contracts 63ceb690cd532aaf955af23d5dfb2bece1c6c988f8b138ed7c454ad95a2d649d · runtime 376de5df60edf710520bdc2927729aa9fd88750263c9acfedbd363df2abd53d5
- npm: @rgss23/arca@0.1.21 (Forgejo registry),
rgss23-arca-0.1.21.tgzSHA-256 70eb2ed4e281c32ca3db4bea5032a5e2c344239b1a55b79ef3738f127dbf2c82, integritysha512-MA28KwXCDci8cpO6Twss9W3XFCbvudRNQpk+lyZXxB36DDyYRolNbscVMVXXAZ9vNiQb3GwgcU+cQIC4+CmiGg== - 단위 테스트 618개, 타입 검사, release 회귀 47개, native 준비 recipe 검증,
git diff --check: PASS(2026-10-16, 버전 커밋07ade37). runtime lock·native 진단 lock 검증과 browser 도구 회귀 125개: PASS(같은 code, 버전 커밋 직전). release:build(Builder gate·source-free consumer gate)·release:verify·release:npm:test·release:reproduce: PASS(2026-10-16, source07ade37). Windows·같은 Docker host만, Linux 재현NOT RUN.
asset 7개
파일 크기(B) SHA-256 release-manifest.json2,155 219cfa29635aeda918ab73c40b093f90bdd5a3bccdf090507e7e40855023a603release-manifest.sha25688 c619c86baa17c55c86eb1cc29a4b6011c489e9fa4880684aa21051d05a7d84c4release-pin.json537 3cb9a5821ddcc2f0a1f79ee220b22637d37d378feeade952a99c04f6fc581efcrgss23-arca-0.1.21.tgz99,986,173 70eb2ed4e281c32ca3db4bea5032a5e2c344239b1a55b79ef3738f127dbf2c82rgss23-builder-0.1.21.oci.tar61,884,928 e97830b7d7e657d722a970ca59a54309aa9adb440d880148951037f2c8160a07rgss23-contracts-0.1.21.tgz38,248 63ceb690cd532aaf955af23d5dfb2bece1c6c988f8b138ed7c454ad95a2d649drgss23-runtime-0.1.21.zip45,707,430 376de5df60edf710520bdc2927729aa9fd88750263c9acfedbd363df2abd53d5로컬 경로:
dist/release/0.1.21/,dist/npm/0.1.21/rgss23-arca-0.1.21.tgz.artifacts.json·npm-package.json은 업로드하지 않는다.Downloads 9
-
release-manifest.json
2
2.1 KiB
2026-10-16 23:05:36 +09:00 -
release-manifest.sha256
2
88 B
2026-10-16 23:05:38 +09:00 -
release-pin.json
2
537 B
2026-10-16 23:05:39 +09:00 -
rgss23-arca-0.1.21.tgz
2
95 MiB
2026-10-16 23:05:41 +09:00 -
rgss23-builder-0.1.21.oci.tar
2
59 MiB
2026-10-16 23:05:43 +09:00 -
rgss23-contracts-0.1.21.tgz
2
37 KiB
2026-10-16 23:05:45 +09:00 -
rgss23-runtime-0.1.21.zip
2
44 MiB
2026-10-16 23:05:46 +09:00 -
Source code (zip)
0
2026-10-16 23:03:54 +09:00 -
Source code (tar.gz)
0
2026-10-16 23:03:54 +09:00
- canvas 비율과 게임 비율이 다를 때(