Skip to content

Commit 8578e26

Browse files
docs: host demo videos outside the source tree
1 parent 92e7c37 commit 8578e26

7 files changed

Lines changed: 34 additions & 15 deletions

File tree

‎.github/workflows/docs.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@ jobs:
4343
run: pnpm install --frozen-lockfile
4444
- name: Build documentation
4545
run: pnpm run docs:build
46+
- name: Download demo videos
47+
run: |
48+
mkdir -p website/build/demo
49+
for video in fold-showcase.mp4 fold-showcase-v2.mp4 fold-showcase-v3.mp4; do
50+
curl --fail --location --retry 3 \
51+
--output "website/build/demo/$video" \
52+
"https://github.com/appandflow/react-native-hinges/releases/download/demo-2026-09-21/$video"
53+
done
4654
- name: Configure Pages
4755
uses: actions/configure-pages@v5
4856
with:

‎.gitignore‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,7 @@ nitrogen/
8989
website/build/
9090
website/.docusaurus/
9191
artifacts/
92+
93+
*.mp4
94+
*.webm
95+
*.mov

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ multiple-hinge hardware have not yet been validated.
158158

159159
## Example
160160

161-
[Watch the folding Field Notes demo](https://appandflow.github.io/react-native-hinges/demo/fold-showcase-v2.mp4): native Android emulator footage mapped onto a Galaxy Z Fold 3 model. Hinge angles drive fades and slides; reserved regions keep the pages and toolbar clear of the fold and cutout. The example includes the Worklets patch described above.
161+
[Watch the folding Field Notes demo](https://appandflow.github.io/react-native-hinges/demo/fold-showcase-v3.mp4): native Android emulator footage mapped onto a Galaxy Z Fold 3 model. Hinge angles turn daylight into sunset and drive fades and slides; reserved regions keep the pages and toolbar clear of the fold and cutout. The example includes the Worklets patch described above.
162162

163163
## Development
164164

‎docs/launch.md‎

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dist-tags before posting. This document does not authorize posting to X.
1313
> Here they are together in Field Notes. New Architecture, Reanimated support,
1414
> and alpha releases available now.
1515
16-
Attach the [folding Field Notes demo](https://appandflow.github.io/react-native-hinges/demo/fold-showcase-v2.mp4).
16+
Attach the [folding Field Notes demo](https://appandflow.github.io/react-native-hinges/demo/fold-showcase-v3.mp4).
1717

1818
Suggested reply:
1919

@@ -45,32 +45,34 @@ the native angle readout extracted from the app recording.
4545
The app runs on the owned API 34 emulator `emulator-5590`, with React Native
4646
`0.88.0-rc.1`, Reanimated `4.7.0`, Worklets `0.13.0` plus the example FIFO patch,
4747
and npm-installed reserved regions `0.1.0-alpha.2`. Hinges and the example use
48-
local repository source. The stronger motion and mirrored landscape are example
48+
local repository source. The recording uses the native Fabric observer implementation and example
4949
changes made after the alpha.2 library release.
5050

51-
- Native angle sweeps from 180° through 120°, 90°, and 60°, then back to 180°.
51+
- Native angle sweeps from 180° through 120° to 90°, then back to 180°.
5252
The journal number, headline, body, and footer fade and slide toward the outer
53-
edge. The sun stays away from the fold.
53+
edge. The sun stays away from the fold, and the landscape colors shift into
54+
sunset as it lowers.
5455
- The emulator remains in half-open posture so the measured division stays
55-
present throughout. The fold close-up holds a recorded frame.
56+
present throughout. A continuous camera move brings the fold into view, then
57+
moves toward the camera cutout as the phone opens.
5658
- Journal, Map, and Moments switch in the camera close-up. The toolbar uses the
57-
clear spans around native occlusion bounds, adding 12 dp of clearance.
59+
clear spans around native occlusion bounds, adding 12 dp of clearance. Its
60+
selection slides and resizes, clipped out of the cutout gap.
5861

5962
The emulator console supplies hinge-angle input. Native Android display-feature
6063
and cutout overrides supply the fixture geometry. The app reads those native
6164
APIs; the video does not use the app's simulated preview. The regions API reports
6265
occlusion geometry and does not identify a camera.
6366

64-
The host recording is cropped to remove letterboxing and the Android taskbar,
65-
restored to the app viewport's aspect ratio, and converted to 24 fps for the
66-
render. Output frame rate is not native event frequency. The video is edited into
67+
The scrcpy recording is cropped to remove the Android taskbar and converted to
68+
24 fps for the render using the source timing, with the final static frame held. Output frame rate is not native event frequency. The camera moves through
6769
a fold sequence and two close-ups; it does not establish hardware performance or
6870
continuous iOS hinge-angle delivery.
6971

7072
## Retained evidence
7173

72-
The task's `fold-showcase-v2/` artifact directory retains the source capture,
73-
input and tab logs, corrected texture, OCR angle readings, rendering scripts,
74+
The task's `fold-showcase-v3/` artifact directory retains the source capture,
75+
input and tab logs, audited texture, OCR angle readings, rendering scripts,
7476
final video, poster, and provenance. The original alpha.2 capture remains under
7577
`alpha2-demo/android/`; it is superseded for the launch video.
7678

@@ -82,7 +84,8 @@ has not yet been verified.
8284
## Alt text
8385

8486
A 3D Galaxy Z Fold 3 displays the Field Notes travel journal. As the phone folds,
85-
the right page's large number and text fade and slide outward. The illustrated sun
87+
the right page's large number and text fade and slide outward while the landscape
88+
turns from daylight green to a coral sunset. The illustrated sun
8689
sits near the left outer edge. A close-up highlights the gap between the pages.
8790
Another close-up shows Journal, Map, and Moments tabs switching while keeping a
8891
gap around the camera. The screen names react-native-hinges and

‎website/docs/example.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,14 @@ The example opens **Field Notes**, a two-page travel journal using both librarie
4747
- A full-screen provider splits the Journal / Map / Moments toolbar around native
4848
occlusion bounds, with a 12-point gap. The tabs use the clear spans on either
4949
side; amber outlines show measured rectangles. The API does not identify what
50-
causes an occlusion.
50+
causes an occlusion. The selection slides and resizes between measured tab
51+
bounds, clipped to the clear spans so it stays out of the camera gap. Reduced
52+
motion switches the selection immediately.
5153
- `useAnimatedHinges()` drives lighting and fades the journal number, headline,
5254
body, and footer while sliding them toward the outer edge between 160° and 80°.
5355
The mirrored landscape keeps the sun near the outer edge, clear of the fold.
56+
As it lowers, the sky, sun, mountains, and lake shift from daylight greens
57+
through a coral sunset into purple dusk.
5458
The pages stay geometrically flat; the physical screen
5559
supplies perspective. Reduced motion disables translation. When the angle is
5660
unavailable, the artwork appears open; the underlying reading remains `null`.
@@ -63,7 +67,7 @@ recording; tap it again to restore them. Hiding the controls also selects native
6367

6468
The example installs `react-native-reserved-regions@0.1.0-alpha.2` from npm.
6569

66-
[Watch the folding Field Notes demo](https://appandflow.github.io/react-native-hinges/demo/fold-showcase-v2.mp4). The 32-second video maps native Android emulator footage onto a [Galaxy Z Fold 3 model by RHModels](https://www.cgtrader.com/free-3d-models/electronics/phone/samsung-galaxy-z-fold-3-black-free-3d-model). The model follows the recorded native angle; close-ups highlight the fold region and show the toolbar switching tabs around camera clearance. The recording uses the example Worklets patch and npm-installed reserved regions alpha.2. The illustrated device is not a physical-device recording.
70+
[Watch the folding Field Notes demo](https://appandflow.github.io/react-native-hinges/demo/fold-showcase-v3.mp4). The 34-second video maps native Android emulator footage onto a [Galaxy Z Fold 3 model by RHModels](https://www.cgtrader.com/free-3d-models/electronics/phone/samsung-galaxy-z-fold-3-black-free-3d-model). The model follows the recorded native angle; continuous camera moves reveal the fold region and the toolbar switching tabs around camera clearance. Callouts fade in as each move settles. The video is stored as a release asset and included in the website deployment; video binaries stay outside the source tree. The recording uses local Hinges and example source after alpha.2, the example Worklets patch, and npm-installed reserved regions alpha.2. The illustrated device is not a physical-device recording.
6771

6872
## Sensor Lab
6973

-1.93 MB
Binary file not shown.
-1.87 MB
Binary file not shown.

0 commit comments

Comments
 (0)