Runnable Samples And SDK Boundary
The runnable samples should be based on the tested reference package:
X-PLATFORM-CPUX_abacus/iscore-cpux-platform-reference
This package contains the public platform reference for:
- CPUX runtime binary builds
- browser interaction harness
- React GridLookout sample
- Android GridLookout surface module
- shared CPUX manifest
- smoke tests for CPUX/UI conventions
The book can document how to run and modify these samples without exposing proprietary CPUX engine internals.
Download Boundary
When the reference package is published, replace this placeholder with the real download link:
SDK/runtime download: ISCORE_CPUX_PLATFORM_REFERENCE_DOWNLOAD_URL
The published package should include:
- public SDK/bridge code
- runnable React sample
- Android GridLookout surface package or module
- shared sample manifests
- CPUX runtime binary or binary builder
- harness and smoke-test scripts
It should not expose private CPUX engine source beyond what is intentionally shipped in the reference package.
Local Reference Layout
The tested local reference currently has this shape:
iscore-cpux-platform-reference/
README.md
runtime/iscore-runner/
dist/iscore-cpux-server/
harness/
react-pulse-cpux-app-v0_3/
android/
platform/shared/cpux-app-manifest.json
scripts/
Important public surfaces:
harness/ browser/test harness
react-pulse-cpux-app-v0_3/ React GridLookout sample
android/ Android GridLookout material
platform/shared/cpux-app-manifest.json
scripts/03-smoke-test.sh semantic smoke test
Build Runtime Binaries
From the reference package root:
./scripts/01-build-runtimes.sh
For faster local testing on one platform:
TARGETS=darwin/arm64 ./scripts/01-build-runtimes.sh
The runtime binary is written under:
dist/iscore-cpux-server/<version>/<platform>/iscore-cpux-server
The binary is the runtime boundary for readers. They can run samples against it without needing to understand or modify the proprietary engine internals.
Run The Browser Harness
The harness makes CPUX interaction timing visible.
From the reference package root:
./scripts/02-run-harness.sh
Open:
http://127.0.0.1:5177
The harness demonstrates:
- runtime/session setup
- Signal in from UI
- same-request/direct IC result
- Field absorption
- Visitor pass
- reflected pulse updates
- cross-IC subscription
- polling delivery checks
Run The Semantic Smoke Test
From the reference package root:
./scripts/03-smoke-test.sh
The smoke test checks CPUX conventions, not just server startup.
It verifies:
/health/manifest/init-cpux/register-cells/cell-actioncpux:action-result- direct IC reflector feedback
/poll-updates- same-IC and cross-IC reflected pulse updates
This is the public confidence boundary for the runtime behaviour.
Run The React GridLookout Sample
The React sample lives at:
react-pulse-cpux-app-v0_3/
Bundled mode lets IS-Core serve both React static files and CPUX API endpoints:
cd react-pulse-cpux-app-v0_3
./build_for_iscore.sh
ISCORE_BIN=/path/to/iscore-cpux-server ./start_iscore_bundled.sh
Open:
http://127.0.0.1:3000
Dev mode uses Vite plus IS-Core:
./start_iscore_dev.sh
In another terminal:
npm install
npm run dev
Open the Vite URL, usually:
http://localhost:5173
Android GridLookout Reference
The Android material lives under:
android/
The Android surface module and manifests demonstrate how a native GridLookout platform can use the same CPUX contract.
The shared manifest source of truth is:
platform/shared/cpux-app-manifest.json
Platform copies include:
react-pulse-cpux-app-v0_3/public/cpux-app-manifest.json
android/todo-shared-manifest.json
The Android GridLookout implementation should remain native while obeying CPUX/UI conventions:
- Cell identity
- Pulse binding
- receptor IC binding
- action Signal construction
_perception_mode- direct result handling
- subscription filtering
- lifecycle flush hooks
- native rendering responsibilities
How Readers Can Modify Samples
Readers should modify:
platform/shared/cpux-app-manifest.json- React GridLookout components
- Android GridLookout surface behaviour
- manifest-declared DN adapter entries
- sample Pulse phrases
- sample Intention IDs
- response-level tests
Readers should not need to modify:
- private Visitor internals
- private FieldBoard runtime internals
- private Field absorption internals
- CPUX scheduling/concurrency implementation
The reference package should keep this boundary clear.
Development Loop
The platform reference already supports a cross-platform development loop:
scripts/dev-loop.sh test-iscore
scripts/dev-loop.sh test-react
scripts/dev-loop.sh test-android
When modifying the shared manifest:
scripts/dev-loop.sh sync
scripts/dev-loop.sh test-android
scripts/dev-loop.sh test-react
This expresses the key CPUX platform idea:
the same manifest and Signal contract can drive multiple native GridLookout surfaces.