Repository navigation
feat: add Ren'Py runtime on current main - #273
Draft
akitaSummer wants to merge 334 commits into
Draft
akitaSummer wants to merge 334 commits into
akitaSummer wants to merge 334 commits into
Conversation
Collaborator
|
一直不是很清楚为什么要实现renpy,因为renpy本身就是跨平台的,而且只要原作者不对引擎魔改的话游戏跟开源没多大区别,解包/重新打包分发到其他平台非常容易,根本不需要套在模拟器里运行 还是说这是为了避免iOS这边ipa侧载安装麻烦?我猜的,毕竟多一个引擎多一份维护压力,还要随时同步上游release( |
Collaborator
Author
第一个是不是所有用户都会自签,理论上雀食需要一个可以直接导入使用的app |
added 30 commits
October 9, 2026 02:06
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The mobile provider previously returned NOT_SUPPORTED for Ren’Py. This PR builds the pinned CPython/SDL2/Ren’Py/greenlet runtime and connects it to Aether’s Android/iOS host for cooperative execution, native frames, touch, keys, committed UTF-8 text, pause/resume and normal exit.
PR #273 remains Draft at checked head 25e2782. Both current-head Android APKs and the complete iOS Simulator App built. Actual iOS App/runner installation passed, but XCTest exited 70 before foreground readiness. Android’s existing test installed its fixed older 0ff APK, but launch timed out. Full mobile gameplay has not passed on either platform. No merge or release is requested.
Implementation
Checked follow-ups
0ff10e30 places the emulator renderer override before the general Android override, following Godot’s actual first-match behavior. Owner/root/independent reviewer checked genuine original-preset PCK exports and project.binary readback. 9c901dd1 pins that APK’s exact producer/job/head/artifact/ZIP digest/certificate, without changing gameplay gates, timeouts or permissions.
bf22bdd8 permits only verified public GLib 2.84.2#2 regular libexec/gio-launch-desktop plus its necessary directory after the existing identity gates. TOP_LEVEL and all other member restrictions remain intact. Three fresh real vcpkg provider regressions passed cold compilation, identical-byte restore, ABI invalidation, successful archives surviving a later genuine build failure, 29 rejection controls and two ZIP64 positives. The unchanged pinned GLib helper compiled/executed before and after restore; this local test is a Linux helper-package check. Actual Apple producer and consumer reuse subsequently passed, as recorded below.
8be1181d recognizes canonical/versioned Simulator SDK basenames case-insensitively in Siglus and RFVP, preserving explicit target overrides. Three reviewers passed 19 genuine CMake/Ninja generated-command cases, seven other-platform controls and four genuine pre-fix negative cases. Siglus then actually compiled for aarch64-apple-ios-sim on the Apple runner. RFVP Apple Cargo execution was not observed.
0bc1af63 passes Minori’s existing Rust-target interface through scoped host integration. A typed empty cache entry protects automatic selection from the pinned child’s CMP0126 OLD policy; SDK/architecture changes recompute defaults, explicit targets remain supported, and Cargo rules/imported paths are unchanged. Owner/root/independent reviewer each passed 37 real CMake/Ninja configurations, 10 same-directory cache transitions and the genuine old-source negative against the complete unchanged pinned public Minori CMake. The current Apple runner actually compiled aarch64-apple-ios-sim and linked the complete App. Public Minori gitlink remains 7c56b2e7fbe5316d45aa30aedbd02fb5d9ba08c9.
a8b8cf48 adds fixed, versioned startup diagnostics to future actual app execution. Debug mobile requests with the exact acceptance script and run identity record 15 host phases; the iOS report exposes only validated phase fields, bounded counts/file metadata and process state captured before cleanup. Installation is recorded only after checked simctl success; XCTest readiness additionally binds the bundle ID. Missing or malformed diagnostics cannot change the original gameplay result. No raw log text is added to the public report, and the blocked previous artifact is not read or republished. Three reviewers passed genuine Godot 4.7.2 parsing and 51 production-helper checks; focused real filesystem/symlink/child-process regressions passed 12 tests, and existing evidence metrics passed 34 tests. These are host diagnostic checks, not mobile gameplay. The new actual iOS workflow and Android APK workflow were naturally triggered by this checked push.
25e27826 fixes a concrete staging handoff defect: the previous harness wrote the request before an ordinary test-without-building configuration that permitted artifact installation. It now uses documented UseDestinationArtifacts with the real built runner’s bundle identity and verified embedded .xctest destination path, excluding host installation paths. Checked App/runner installation precedes data-container selection and staging. After actual foreground readiness, another simctl query must match the staged canonical directory and dev/inode identity; mismatch fails without restaging. The original overall budget still covers the runner build, and gameplay gates, Swift code, workflows and permissions are unchanged. Owner/root/two independent reviews passed 11 production plist/real filesystem regressions, 12 startup-diagnostic regressions and 34 existing evidence checks. These local checks do not prove Apple execution or establish that the preceding timeout changed the container. New iOS run and new Android APK run were naturally triggered; both APKs and the complete App built, while real acceptance failed as recorded below.
Actual results and deliverables
Current-head results below refer to 25e2782. Packaging, configuration checks and component execution do not establish a playable game.
Current artifact ZIP SHA-256 values from normal GitHub metadata:
These are artifact ZIP metadata digests, not downloaded-byte checks or APK digests. The actually installed older Android APK SHA-256 is 5fa180ea0416bbc2ec4d8f87c58af4bdb1435e93f26917dd8a0021427745b35e. The current actual iOS executable SHA-256 recorded by the harness is e1fa7f205e335280bd72d99b95981c94d437979beadc38c9ddb07acab6cb5146.
Remaining blockers and limits
The user’s playable-mobile goal remains incomplete: neither platform has verified a Ren’Py scene followed by OS touch, software-keyboard text, Home pause/resume and normal Quit. Current XCTest failed before ready; the available terminal console has no specific underlying XCTest error. The source-reviewed destination configuration and actual runner installation passing do not make the mode’s test execution pass.
The new iOS evidence target 11628483408 received exactly one normal download API call and one returned-URL client fetch. The latter failed with URLError/OSError: Tunnel connection failed: 403 Forbidden, delivering no ZIP bytes. The exact target is stopped; actual xcuitest.log/xcresult cannot be read to diagnose exit 70. No retry, alternate endpoint/credentials/runner/Library route or raw-log republication was attempted. Older blocked iOS targets 11625878537/11622645453 and Android targets 11625750523/11613302785 remain stopped. Current Android evidence 11628211707 is metadata-only, not downloaded.
For context, preceding a8b8 acceptance installed the App and reached bound XCTest foreground readiness but timed out waiting for Ren’Py start_ready; both staged requests and all fixed journals were absent at the stored staged path. That observation did not prove container UUID replacement. Current 25e requests remain present, but XCTest exits before launching the observed flow, so it cannot prove the gameplay handoff is repaired.
Continuing iOS diagnosis requires normal authorized cloud access to the current XCTest evidence. Android cloud-target/KVM permissions remain pending; physical iPhone signing/provisioning/device remain unavailable. No paid runner, new fees, permission/security change, user computer, access-limit bypass or new SDK licence acceptance was used. Checked source is pushed, worktree is clean, and PR remains Draft without merge or release.