Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,9 @@ export default defineConfig({
{ label: 'Auth', slug: 'packages/native-auth' },
{ label: 'Background Transfer', slug: 'packages/native-background-transfer' },
{ label: 'Bluetooth', slug: 'packages/native-bluetooth' },
{ label: 'Camera', slug: 'packages/native-camera' },
{ label: 'Canvas', slug: 'packages/native-canvas' },
{ label: '3D', slug: 'packages/native-3d' },
{ label: 'DevTools package', slug: 'packages/native-devtools' },
{ label: 'Feature Flags', slug: 'packages/native-feature-flags' },
{ label: 'Firebase', slug: 'packages/native-firebase' },
Expand All @@ -233,6 +236,7 @@ export default defineConfig({
{ label: 'Live Activities', slug: 'packages/native-live-activities' },
{ label: 'Maps', slug: 'packages/native-maps' },
{ label: 'Media & Camera', slug: 'packages/native-media' },
{ label: 'Media Editor', slug: 'packages/native-media-editor' },
{ label: 'NFC', slug: 'packages/native-nfc' },
{ label: 'Observability', slug: 'packages/native-observability' },
{ label: 'Payments', slug: 'packages/native-payments' },
Expand All @@ -244,6 +248,7 @@ export default defineConfig({
{ label: 'Sync', slug: 'packages/native-sync' },
{ label: 'Testing', slug: 'packages/native-testing' },
{ label: 'Video', slug: 'packages/native-video' },
{ label: 'GPU', slug: 'packages/native-gpu' },
{ label: 'Widgets', slug: 'packages/native-widgets' },
],
},
Expand Down
5 changes: 5 additions & 0 deletions scripts/check-repository-coverage.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ const requiredRepositories = [
'pam-native-auth',
'pam-native-background-transfer',
'pam-native-bluetooth',
'pam-native-camera',
'pam-native-canvas',
'pam-native-3d',
'pam-native-devtools',
'pam-native-feature-flags',
'pam-native-firebase',
Expand All @@ -25,6 +28,7 @@ const requiredRepositories = [
'pam-native-live-activities',
'pam-native-maps',
'pam-native-media',
'pam-native-media-editor',
'pam-native-nfc',
'pam-native-nitro',
'pam-native-observability',
Expand All @@ -38,6 +42,7 @@ const requiredRepositories = [
'pam-native-sync',
'pam-native-testing',
'pam-native-video',
'pam-native-gpu',
'pam-native-widgets',
'pam-http-psr',
'pam-http-testing',
Expand Down
7 changes: 6 additions & 1 deletion src/components/PamEcosystem.astro
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ const capabilities = [
['auth', 'Identity & security', 'Encrypted credentials and OAuth 2.1/PKCE primitives.', 'pam-native-auth'],
['background-transfer', 'Files & background', 'Durable uploads and downloads outside the PHP lifecycle.', 'pam-native-background-transfer'],
['bluetooth', 'Hardware', 'BLE discovery, GATT operations, and bounded native events.', 'pam-native-bluetooth'],
['camera', 'Media', 'Low-latency photo and video capture with device, format, focus, zoom, torch, and frame-processor contracts.', 'pam-native-camera'],
['canvas', 'Graphics', 'Retained native 2D drawing with paths, transforms, text, images, and pointer events.', 'pam-native-canvas'],
['3d', 'Graphics', 'Sandboxed GLB and USDZ scenes through Filament and RealityKit.', 'pam-native-3d'],
['devtools', 'Developer experience', 'Timeline, state snapshots, network inspection, and performance marks.', 'pam-native-devtools'],
['feature-flags', 'Delivery', 'Typed targeting, deterministic rollout, and offline snapshots.', 'pam-native-feature-flags'],
['firebase', 'Platform services', 'Analytics, Crashlytics, Remote Config, Messaging, and Installations.', 'pam-native-firebase'],
Expand All @@ -12,6 +15,7 @@ const capabilities = [
['live-activities', 'Platform integration', 'ActivityKit Live Activities and Android ongoing notifications.', 'pam-native-live-activities'],
['maps', 'Location', 'Declarative Google Maps and MapKit cameras, markers, and overlays.', 'pam-native-maps'],
['media', 'Media', 'Native media inspection, thumbnails, and embedded camera capture.', 'pam-native-media'],
['media-editor', 'Media', 'Native timeline composition, trimming, filters, audio mixing, HDR, and bounded export.', 'pam-native-media-editor'],
['mobile-ui', 'Interface', 'Retained Material Design 3 components for Android and iOS.', 'pam-native-ui'],
['nfc', 'Hardware', 'Lifecycle-safe NDEF reading and writing on Android and iOS.', 'pam-native-nfc'],
['nitro', 'Data & offline', 'Typed, reactive, offline-first data built for native workloads.', 'pam-native-nitro'],
Expand All @@ -25,6 +29,7 @@ const capabilities = [
['sync', 'Data & offline', 'Idempotent outbox, cursors, conflicts, and incremental synchronization.', 'pam-native-sync'],
['testing', 'Developer experience', 'Deterministic bridge fakes and strict native assertions.', 'pam-native-testing'],
['video', 'Media', 'Adaptive HLS/DASH playback through Media3 and AVPlayer.', 'pam-native-video'],
['gpu', 'Graphics', 'Typed scalar uniforms and programmable OpenGL ES 3/Metal fragment rendering.', 'pam-native-gpu'],
['widgets', 'Platform integration', 'Android App Widgets and iOS WidgetKit timelines.', 'pam-native-widgets'],
['native', 'Foundation', 'The PAM Native SDK, component runtime, and renderer contracts.', 'pam-native'],
] as const;
Expand All @@ -36,7 +41,7 @@ const categories = [...new Map(

<div class="pam-catalog-intro">
<div class="pam-catalog-copy">
<p class="pam-home-kicker">27 official capabilities · one workflow</p>
<p class="pam-home-kicker">32 official capabilities · one workflow</p>
<h2>One command between idea and native capability.</h2>
<p>Choose what the product needs. PAM resolves compatibility, updates the project, and refreshes native integration through one predictable workflow.</p>
</div>
Expand Down
20 changes: 20 additions & 0 deletions src/content/docs/packages/native-3d.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: PAM Native 3D
description: Render GLB and USDZ scenes through Filament and RealityKit from PHP 8.5.
---

## Start here

```bash
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-3d
pam doctor --fix
```

Declare sandboxed Android GLB and iOS USDZ assets, transforms, animation,
background and orbit controls. Android renders with Google Filament; iOS uses
RealityKit. Validate asset budgets, memory pressure, thermal behavior and
fallback UX on representative physical devices.

24 changes: 24 additions & 0 deletions src/content/docs/packages/native-camera.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: PAM Native Camera
description: Professional low-latency camera capture for PAM Native on Android and iOS.
---

## Start here

Every PAM Native product runs on PAM. Install the runtime, create the app, then add only the camera capability:

```bash
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-camera
pam doctor --fix
```

The package exposes device and format discovery, photo/video capture, focus,
zoom, torch, orientation, frame-rate and frame-processor contracts. Camera is
independent: applications do not install a feed or product bundle.

Use explicit permissions, test interruptions/background transitions, and run
capture and thermal tests on every physical device class you support.

20 changes: 20 additions & 0 deletions src/content/docs/packages/native-canvas.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: PAM Native Canvas
description: Retained-mode native 2D graphics controlled by bounded PHP scene contracts.
---

## Start here

```bash
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-canvas
pam doctor --fix
```

Canvas provides paths, fills, strokes, transforms, clipping, text, sandboxed
images and pointer events through Android Canvas and iOS Core Graphics. Scenes
are retained, revisioned, capped at 10,000 commands and validate balanced state
stacks before reaching native code.

20 changes: 20 additions & 0 deletions src/content/docs/packages/native-gpu.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: PAM Native GPU
description: Programmable OpenGL ES 3 and Metal fragment rendering without a JavaScript bridge.
---

## Start here

```bash
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-gpu
pam doctor --fix
```

Provide bounded GLSL and Metal fragment programs plus typed scalar uniforms.
The native view supplies resolution and time and supports on-demand or
continuous rendering. Treat shader input as trusted application code, cap work
per frame, and profile real GPUs before release.

20 changes: 20 additions & 0 deletions src/content/docs/packages/native-media-editor.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: PAM Native Media Editor
description: Compose and export native photo and video timelines from typed PHP 8.5 contracts.
---

## Start here

```bash
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-media-editor
pam doctor --fix
```

Build immutable timelines with trim, concatenation, crop, rotation, speed,
filters, soundtrack mixing, output size, FPS, bitrate, H.264/HEVC and HDR
policy. Android uses Media3 Transformer; iOS uses AVFoundation and Core Image.
Exports expose progress and cancellation and accept only sandboxed file paths.

5 changes: 5 additions & 0 deletions src/content/docs/project/repository-map.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ destination.
| `pam-native-auth` | Encrypted credential vault and PKCE | [Auth](/packages/native-auth/) |
| `pam-native-background-transfer` | Durable uploads and downloads | [Background Transfer](/packages/native-background-transfer/) |
| `pam-native-bluetooth` | BLE scan, connection and GATT | [Bluetooth](/packages/native-bluetooth/) |
| `pam-native-camera` | Professional native photo/video capture | [Camera](/packages/native-camera/) |
| `pam-native-canvas` | Retained native 2D graphics | [Canvas](/packages/native-canvas/) |
| `pam-native-3d` | Filament and RealityKit scenes | [3D](/packages/native-3d/) |
| `pam-native-devtools` | Development inspection integration | [DevTools package](/packages/native-devtools/) |
| `pam-native-feature-flags` | Typed flags, snapshots and rollout evaluation | [Feature Flags](/packages/native-feature-flags/) |
| `pam-native-firebase` | Firebase services and messaging bridge | [Firebase](/packages/native-firebase/) |
Expand All @@ -48,6 +51,7 @@ destination.
| `pam-native-live-activities` | iOS Live Activities | [Live Activities](/packages/native-live-activities/) |
| `pam-native-maps` | Native maps, markers and camera control | [Maps](/packages/native-maps/) |
| `pam-native-media` | Camera, picker and media processing | [Media](/packages/native-media/) |
| `pam-native-media-editor` | Native timeline composition and export | [Media Editor](/packages/native-media-editor/) |
| `pam-native-nfc` | NFC sessions and records | [NFC](/packages/native-nfc/) |
| `pam-native-observability` | Vendor-neutral telemetry and crash context | [Observability](/packages/native-observability/) |
| `pam-native-payments` | Platform payment sheets | [Payments](/packages/native-payments/) |
Expand All @@ -59,6 +63,7 @@ destination.
| `pam-native-sync` | Offline mutation and synchronization primitives | [Sync](/packages/native-sync/) |
| `pam-native-testing` | Native integration testing utilities | [Native Testing](/packages/native-testing/) |
| `pam-native-video` | Native video playback | [Video](/packages/native-video/) |
| `pam-native-gpu` | Programmable OpenGL ES and Metal rendering | [GPU](/packages/native-gpu/) |
| `pam-native-widgets` | Android/iOS home-screen widgets | [Widgets](/packages/native-widgets/) |

## Installation rule
Expand Down