diff --git a/astro.config.mjs b/astro.config.mjs
index be74bb8..7d0f4c5 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -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' },
@@ -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' },
@@ -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' },
],
},
diff --git a/scripts/check-repository-coverage.mjs b/scripts/check-repository-coverage.mjs
index 026467b..3f4e434 100644
--- a/scripts/check-repository-coverage.mjs
+++ b/scripts/check-repository-coverage.mjs
@@ -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',
@@ -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',
@@ -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',
diff --git a/src/components/PamEcosystem.astro b/src/components/PamEcosystem.astro
index 60100ce..1dffa1d 100644
--- a/src/components/PamEcosystem.astro
+++ b/src/components/PamEcosystem.astro
@@ -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'],
@@ -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'],
@@ -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;
@@ -36,7 +41,7 @@ const categories = [...new Map(
-
27 official capabilities · one workflow
+
32 official capabilities · one workflow
One command between idea and native capability.
Choose what the product needs. PAM resolves compatibility, updates the project, and refreshes native integration through one predictable workflow.
diff --git a/src/content/docs/packages/native-3d.mdx b/src/content/docs/packages/native-3d.mdx
new file mode 100644
index 0000000..3a1d4a0
--- /dev/null
+++ b/src/content/docs/packages/native-3d.mdx
@@ -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.
+
diff --git a/src/content/docs/packages/native-camera.mdx b/src/content/docs/packages/native-camera.mdx
new file mode 100644
index 0000000..0b47cb3
--- /dev/null
+++ b/src/content/docs/packages/native-camera.mdx
@@ -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.
+
diff --git a/src/content/docs/packages/native-canvas.mdx b/src/content/docs/packages/native-canvas.mdx
new file mode 100644
index 0000000..a50c7ec
--- /dev/null
+++ b/src/content/docs/packages/native-canvas.mdx
@@ -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.
+
diff --git a/src/content/docs/packages/native-gpu.mdx b/src/content/docs/packages/native-gpu.mdx
new file mode 100644
index 0000000..ca4f197
--- /dev/null
+++ b/src/content/docs/packages/native-gpu.mdx
@@ -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.
+
diff --git a/src/content/docs/packages/native-media-editor.mdx b/src/content/docs/packages/native-media-editor.mdx
new file mode 100644
index 0000000..d9e65d1
--- /dev/null
+++ b/src/content/docs/packages/native-media-editor.mdx
@@ -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.
+
diff --git a/src/content/docs/project/repository-map.mdx b/src/content/docs/project/repository-map.mdx
index 09c305f..c6b40ff 100644
--- a/src/content/docs/project/repository-map.mdx
+++ b/src/content/docs/project/repository-map.mdx
@@ -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/) |
@@ -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/) |
@@ -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