Skip to content

iOS: FindTheWay Runtime and Windows .ext publishing - #100

Merged
defisym merged 5 commits into
masterfrom
codex/findtheway-ios-arm64-core
Nov 4, 2026
Merged

defisym merged 5 commits into
masterfrom
codex/findtheway-ios-arm64-core

Conversation

@defisym

@defisym defisym commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

FindTheWay reuses the existing Windows C++ algorithms on iOS through a precompiled arm64 core and a thin Runtime adapter. Windows Run_Only Unicode / Win32 builds package and install the iOS extension for Fusion export; Mac builds the native core and exported application.

Review order

  1. 60598387 — C++ core: ABI 2 C interface, ownership/callback handling, CMake/XCFramework build entry and direct Windows behavior tests. Shared algorithm headers and Windows implementation are unchanged.
  2. 3fd3aa84 — Generic iOS object helpers and FindTheWay adapters. Independent ObjectBase, ObjectSelection and ObjectCreation classes provide Runtime fundamentals; FTW supplies only plugin-specific predicates and ACE behavior. Includes CPU image maps, nested events and the backdrop hotspot correction.
  3. 23a9ee13 — Mac/Windows build and publishing, author-built archives, strict artifact verification, independent .ext codec and idempotent export configurator. Removes obsolete SDK application scaffolding.
  4. c279db13 — English usage documentation and common/platform porting rules.

Temporary patches, exported application projects, investigation output and build directories are excluded. Native archives and their verification metadata are retained for Windows packaging.

Generic object helpers

Extensions/iOS/Helpers/ObjectBase.h, ObjectSelection.h and ObjectCreation.h are plugin-independent C++11 Objective-C++ headers in namespace FusionIOS. Selection and creation are separate classes deriving from ObjectBase. Their portable capabilities follow the current Windows and Android helpers; those implementations remain unchanged.

The helpers cover OI lookup, qualifiers, filtering, counts/type checks, selection snapshots/scopes, nested-event action restoration, position decoding and object creation with iOS physics/visibility setup. Inline definitions support multiple translation units without a helper library or duplicate strong symbols. Generic headers are exported under Helpers/ and included by explicit relative paths, keeping the SDK's ObjectSelection.h separate. Package metadata uses extension-scoped PBX IDs. Consumers package one consistent helper revision.

Behavior and workflow

  • Device and simulator slices are arm64 only. Runtime/helper edits do not require rebuilding the native core.
  • Image maps read CPU pixels through Fusion's resource loader. Grid drawing converts Windows surface origins into each iOS frame's hotspot anchor.
  • Condition 27 remains Windows-only because it accepts a cSurface*; iOS supports picture and Active-image imports.
  • After Fusion exports, run python3 configure_findtheway_export.py . in the exported folder, then build in Xcode. See Extensions/iOS/FindTheWay/README.md and Extensions/iOS/Helpers/README.md.

Validation and remaining limits

Host ABI/shared-C++ oracle tests and FTW Runtime/Foundation fixtures pass. Generic helper fixtures compile and link two translation units without FTW sources, headers or a core library, covering sparse OI handles, slot zero, qualifiers, filters, scope/Objective-C exception restoration, slot reuse, nested creation and layer sentinels. The C++ exception check is Apple-only because the Linux fixture uses a legacy Objective-C runtime.

All 23 Python build/codec/publisher/configurator tests pass, including extension-specific PBX IDs for shared headers. The existing Mac archives verify and package with the generic headers. The grid regression passes with the correction and detects the old double-hotspot subtraction.

The author has exercised Windows publishing/Fusion export and launched the exported application using an iOS 18 SDK. Missing hover preview was confirmed as touch interaction behavior. The newer SDK launch failure requiring UIScene lifecycle adoption remains a Fusion Runtime compatibility issue; this change does not migrate the application lifecycle.

The generic refactor still needs Apple SDK compilation and Runtime validation. Keep the PR draft pending remaining platform checks.

@defisym defisym changed the title Draft: add FindTheWay arm64 iOS core build and artifact handoff Draft: add FindTheWay arm64 iOS core, Runtime adapter and Windows CLI packaging Oct 30, 2026
@defisym defisym changed the title Draft: add FindTheWay arm64 iOS core, Runtime adapter and Windows CLI packaging Draft: port FindTheWay iOS Runtime and automate Windows .ext publishing Oct 31, 2026
@defisym defisym changed the title Draft: port FindTheWay iOS Runtime and automate Windows .ext publishing iOS: FindTheWay Runtime and Windows .ext publishing Oct 31, 2026
Expose the existing Windows C++ algorithms through the iOS ABI 2 C boundary, with owned handles and callback-safe lifetimes. Include CMake/arm64 XCFramework orchestration and direct ABI/Windows behavior tests; shared algorithm headers remain unchanged.
@defisym
defisym force-pushed the codex/findtheway-ios-arm64-core branch 2 times, most recently from 183ce1e to 2d3d2b8 Compare November 1, 2026 14:38
Provide separate ObjectBase.h, ObjectSelection.h and ObjectCreation.h helpers matching Windows filenames and portable Windows/Android capabilities. Keep their inline iOS implementations independent of FindTheWay, test them without a plugin core, and connect the FTW Runtime adapter.
Build and transfer separate arm64 device/simulator archives, then publish/install the current Runtime .ext from Windows Run_Only builds. Export generic headers under Helpers/ and use explicit relative includes so the SDK's ObjectSelection.h remains separate. Include strict artifact verification, the independent codec, export configurator and packaging regressions.
@defisym
defisym force-pushed the codex/findtheway-ios-arm64-core branch from 2d3d2b8 to 6d83468 Compare November 1, 2026 14:46
Document generic helper APIs and standard filenames, SDK header isolation, direct Xcode export patches, SDK/input diagnosis and layered completion evidence. Record review order and required publishing artifacts in the common porting skill. Keep skills and usage documentation in English.
@defisym
defisym force-pushed the codex/findtheway-ios-arm64-core branch from 6d83468 to c279db1 Compare November 4, 2026 09:30
@defisym
defisym marked this pull request as ready for review November 4, 2026 09:52
@defisym
defisym merged commit c48efa3 into master Nov 4, 2026
@defisym
defisym deleted the codex/findtheway-ios-arm64-core branch November 4, 2026 09:52
defisym added a commit that referenced this pull request Nov 4, 2026
Add the common/iOS skill layers, retain the approved shared encryption contract, and generalize FTW-specific architecture and adapter rules.

Reuse the verified legacy .ext codec, add idempotent export linking and common-framework embedding, harden Mac/Windows text and binary verification, and keep Runtime sources out of legacy SDK scaffolding.
defisym added a commit that referenced this pull request Nov 4, 2026
Preserve FTW's iOS implementation and publishing artifacts while retaining generalized iOS guidance and Fini's approved shared encryption contract. Verify both iOS publishers and Android publishing with 57 Python tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant