pocketjs
Compact JavaScript runtime family for building user interfaces, games, 3D experiences, and AI-native applications across radically different devices.
File Explorer
Download Latest Version (.zip)- deploy.yml
- esp32p4.yml
- macos.yml
- release.yml
- app.tsx
- main.tsx
- pocket.json
- app.tsx
- backend.ts
- main.tsx
- pocket.json
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- main.octane.tsx
- main.tsx
- pocket.json
- app.tsx
- main.tsx
- pocket.json
- app.tsx
- main.tsx
- pocket.json
- w95fa-19.bin
- w95fa-19@2x.bin
- w95fa-20.bin
- w95fa-20@2x.bin
- w95fa-21.bin
- w95fa-21@2x.bin
- cap-close.svg
- cap-max.svg
- cap-min.svg
- cap-restore.svg
- cdrom-16.svg
- check-16.svg
- computer-16.svg
- computer.svg
- documents.svg
- drive-16.svg
- file-16.svg
- find-16.svg
- flag.svg
- folder-16.svg
- grip.svg
- help-16.svg
- menu-arrow.svg
- mine.svg
- mines-16.svg
- mines.svg
- notepad-16.svg
- notepad.svg
- recycle-16.svg
- recycle.svg
- run-16.svg
- settings-16.svg
- shutdown-16.svg
- shutdown.svg
- smile-cool.svg
- smile-dead.svg
- smile-ooh.svg
- smile.svg
- start-logo.svg
- app.tsx
- chrome.tsx
- gen-assets.ts
- gen-icons.ts
- main.tsx
- mines.ts
- notepad.ts
- pak.json
- pocket.config.ts
- pocket.json
- programs.tsx
- screenshot.png
- state.ts
- svc.ts
- theme.ts
- wm.ts
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- gen-assets.ts
- main.octane.tsx
- main.tsx
- pocket.json
- shaders.ts
- sprites.json
- tile-00.png
- tile-01.png
- tile-02.png
- tile-03.png
- tile-04.png
- tile-05.png
- tile-06.png
- tile-07.png
- tile-08.png
- tile-09.png
- tile-10.png
- tile-11.png
- tile-12.png
- tile-13.png
- tile-14.png
- tile-15.png
- tile-16.png
- tile-17.png
- tile-18.png
- tile-19.png
- tile-20.png
- tile-21.png
- tile-22.png
- tile-23.png
- tiles.ts
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- main.octane.tsx
- main.tsx
- pocket.json
- sprites.json
- app.vue
- main.ts
- pocket.json
- app.tsx
- main.tsx
- pocket.json
- gen-cover.ts
- icon0.png
- pic1.png
- Psp.toml
- app.tsx
- backend.ts
- data.ts
- main.tsx
- pocket.json
- store.ts
- thread.tsx
- wrap.ts
- app.tsx
- main.tsx
- pocket.json
- app.tsx
- main.tsx
- pocket.json
- app.tsx
- main.tsx
- pocket.json
- app.tsx
- main.tsx
- pocket.json
- state.ts
- svc.ts
- tracks.ts
- app.tsx
- channel.ts
- main.tsx
- pocket.json
- icon0.png
- pic1.png
- Psp.toml
- app.tsx
- images.json
- main.tsx
- pocket.json
- registry.generated.ts
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- main.octane.tsx
- main.tsx
- pocket.json
- sprites.json
- app.tsx
- icon80.png
- main.tsx
- pocket.json
- app.tsx
- ATTRIBUTION.md
- icon-arrow-down.svg
- icon-arrow-left.svg
- icon-arrow-right.svg
- icon-arrow-up.svg
- icon-base-down.svg
- icon-base-left.svg
- icon-base-right.svg
- icon-base-up.svg
- icon-bold.svg
- icon-chevron.svg
- icon-italic.svg
- icon-reload.svg
- icon-text.svg
- icon-x.svg
- icon-youtube.svg
- letter-a.svg
- letter-b.svg
- main.tsx
- pocket.config.ts
- pocket.json
- glass-horizon.wav
- midnight-replay.wav
- static-bloom.wav
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- gen-assets.ts
- main.octane.tsx
- main.tsx
- pak.json
- pocket.config.ts
- pocket.json
- app.tsx
- editor.ts
- icon-edit-dark.svg
- icon-edit-light.svg
- icon-eye-dark.svg
- icon-eye-light.svg
- layout.ts
- main.tsx
- markdown.ts
- pocket.config.ts
- pocket.json
- sample.ts
- select.ts
- svc.ts
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- main.octane.tsx
- main.tsx
- pocket.json
- app.tsx
- channel.ts
- main.tsx
- pocket.json
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- main.octane.tsx
- main.tsx
- pocket.json
- icon0.png
- pic1.png
- Psp.toml
- icon0.png
- pic1.png
- Psp.toml
- app.octane.tsx
- app.tsx
- app.vue-vapor.tsx
- main.octane.tsx
- main.tsx
- pocket.json
- app.vue
- FeatureCard.vue
- FeatureToggle.vue
- main.ts
- ModelButton.vue
- pocket.json
- cells.0.bin
- cells.1.bin
- cells.2.bin
- poster.0.bin
- poster.1.bin
- poster.2.bin
- poster.3.bin
- app.tsx
- gen-assets.ts
- main.tsx
- pak.json
- pocket.json
- tiles.ts
- pocketjs-avatar-white-minimal.png
- pocketjs-avatar-white-minimal.svg
- pocketjs-avatar-white-plate.png
- pocketjs-avatar-white-plate.svg
- pocketjs-avatar-white-polished.png
- pocketjs-avatar-white-polished.svg
- README.md
- Inter-Bold.ttf
- Inter-Regular.ttf
- InterDisplay-Bold.ttf
- InterDisplay-Regular.ttf
- JetBrainsMono-Regular.ttf
- LICENSE-JetBrainsMono.txt
- LICENSE-W95FA.txt
- LICENSE.txt
- W95FA.otf
- logo.png
- spinner-00.svg
- spinner-01.svg
- spinner-02.svg
- spinner-03.svg
- spinner-04.svg
- spinner-05.svg
- spinner-06.svg
- spinner-07.svg
- spinner-atlas.svg
- gallery.png
- motions-3d.gif
- motions-53.gif
- settings.png
- pocket-2.json
- audio.ts
- db.ts
- fs.ts
- gen-c.ts
- gen-rust.ts
- net.ts
- platforms.ts
- pocket-manifest.ts
- pocket-package.ts
- spec.ts
- gpui-vs-tauri-electron-2026-08-18.json
- gpui-vs-tauri-electron-2026-08-18.md
- three-frameworks-ppsspp-2026-07-29.json
- three-frameworks-ppsspp-2026-07-29.md
- three-frameworks-ppsspp-2026-07-29.png
- three-frameworks-ppsspp-2026-07-29.svg
- three-frameworks-ppsspp-2026-07-30.json
- three-frameworks-ppsspp-2026-07-30.md
- three-frameworks-ppsspp-2026-07-30.png
- three-frameworks-ppsspp-2026-07-30.svg
- APPLE.md
- AUDIO.md
- BACKENDS.md
- BLACKBERRY_CLASSIC.md
- DB.md
- DESIGN.md
- DETERMINISM.md
- DEVTOOLS.md
- FS.md
- IPHONE2G.md
- IPHONE4S.md
- IPODTOUCH.md
- LAUNCHER.md
- MEIZU_M8.md
- NET.md
- PLATFORM.md
- RUNTIMES.md
- STRUCTURE.md
- SVC-VITA.md
- SYMBIAN_E7.md
- TOUCH.md
- WIDGET.md
- PocketSurfaceView.h
- PocketSurfaceView.m
- render_hero.rs
- pocket_apple.h
- core_host.rs
- lib.rs
- build-xcframework.sh
- Cargo.toml
- esp_idf.rs
- lib.rs
- strip_parity.rs
- Cargo.lock
- Cargo.toml
- README.md
- fonts.rs
- lib.rs
- render.rs
- Cargo.lock
- Cargo.toml
- anim.rs
- codec.rs
- damage.rs
- draw.rs
- layout.rs
- lib.rs
- package.rs
- pak.rs
- raster.rs
- spec.rs
- stream.rs
- stream_rx.rs
- style.rs
- tests.rs
- text.rs
- touch.rs
- tree.rs
- wire.rs
- Cargo.lock
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- dbg.rs
- lib.rs
- pak.rs
- surface.rs
- Cargo.toml
- ui.wgsl
- blit.rs
- lib.rs
- render.rs
- Cargo.toml
- dump.rs
- .gitignore
- README.md
- glb.rs
- lib.rs
- lookat.rs
- parse.rs
- spring.rs
- vrma.rs
- fixtures.rs
- Cargo.toml
- embed.rs
- lib.rs
- parts.rs
- pick.rs
- shell.rs
- Cargo.toml
- main.rs
- build.rs
- Cargo.lock
- Cargo.toml
- hud.wgsl
- model.wgsl
- sprite.wgsl
- world.wgsl
- anim.rs
- app.rs
- camera.rs
- collide.rs
- gpu.rs
- hud.rs
- input.rs
- lib.rs
- model.rs
- renderer.rs
- scene.rs
- texture.rs
- time.rs
- world.rs
- Cargo.toml
- collide.rs
- cook.rs
- cooked.rs
- entities.rs
- lib.rs
- lightmap.rs
- mesh.rs
- raw.rs
- trace.rs
- types.rs
- vis.rs
- wad.rs
- real_maps.rs
- Cargo.toml
- main.rs
- Cargo.toml
- camera.rs
- gl.rs
- lib.rs
- mesh.rs
- texture.rs
- world.rs
- Cargo.lock
- Cargo.toml
- camera.rs
- lib.rs
- mesh.rs
- pool.rs
- sky.rs
- texture.rs
- world.rs
- Cargo.toml
- fullscreen_sky.rs
- color_f.gxp
- color_v.gxp
- LICENSE.libvita2d
- README.md
- texture_f.gxp
- texture_tint_f.gxp
- texture_v.gxp
- camera.rs
- gxm.rs
- lib.rs
- mesh.rs
- pool.rs
- sky.rs
- texture.rs
- world.rs
- Cargo.lock
- Cargo.toml
- lib.rs
- rng.rs
- types.rs
- world.rs
- Cargo.toml
- README.md
- ATTRIBUTION.md
- profile.json
- psp_lod2_interactive.glb
- psp_lod3_eco.glb
- neon-boardwalk.wav
- night-bus-loop.wav
- silver-static.wav
- build_ipod.py
- ipod.blend
- ATTRIBUTION.md
- AUDIO.md
- BFONT-LICENSE.txt
- export_runtime.py
- generate_media.ts
- ipod-nano-2.glb
- profile.json
- SOURCE.json
- device.rs
- main.rs
- media.rs
- Cargo.toml
- cjk.rs
- main.rs
- Cargo.toml
- main.rs
- Cargo.toml
- .gitignore
- PSP.md
- README.md
- es1.rs
- es2.rs
- mod.rs
- extension.rs
- lib.rs
- armv6-symbian-eabi.json
- Cargo.lock
- Cargo.toml
- rust-toolchain.toml
- lib.rs
- Cargo.lock
- Cargo.toml
- Cargo.lock
- Cargo.toml
- ambient.d.ts
- animation.ts
- app-check.ts
- bake-font.ts
- bake-svg.ts
- jsx-plugin.ts
- pak.ts
- raster-assets.ts
- subpaths.ts
- tailwind.ts
- vue-sfc-compile.ts
- host-build-inputs.ts
- index.ts
- plan.ts
- resolve.ts
- validate.ts
- vita-package.ts
- analog.ts
- anim.ts
- animation.ts
- audio-api.ts
- bytes.ts
- clock.ts
- components-octane.tsx
- components-vue-vapor.ts
- components.ts
- config.ts
- db-api.ts
- deepzoom.ts
- devtools.ts
- effects.ts
- frame-octane.tsx
- frame-vue-vapor.ts
- frame.ts
- fs-api.ts
- gesture.ts
- host.ts
- hot.ts
- index-octane.ts
- index-vue-vapor.ts
- index.ts
- input-api.ts
- input.ts
- jsx.d.ts
- kinetics.ts
- launcher.ts
- lifecycle-octane.ts
- lifecycle-vue-vapor.ts
- lifecycle.ts
- native-tree.ts
- net-api.ts
- octane-profiling-stub.ts
- osk-controller.ts
- osk-layout.ts
- osk.tsx
- overlay.ts
- pak.ts
- platform.ts
- prelude.ts
- primitives.ts
- renderer-octane.ts
- renderer-solid.ts
- renderer-vue-vapor.ts
- renderer.ts
- scheduler-polyfill.ts
- services.ts
- styles.ts
- tiles.ts
- touch-activation.ts
- touch.ts
- virtual-list.ts
- vue-sfc.d.ts
- vue-vapor-dom.ts
- build.xcconfig
- Info.plist
- LaunchScreen.storyboard
- app.ts
- nativescript.config.ts
- package.json
- references.d.ts
- tsconfig.json
- webpack.config.js
- runtime.c
- strings.xml
- PocketActivity.java
- AndroidManifest.xml
- armv7-qnx-eabi.json
- bar-descriptor.xml
- main.c
- pocketjs_ppa.h
- pocketjs_ppa.c
- CMakeLists.txt
- idf_component.yml
- README.md
- config.toml
- ioctl.h
- main.rs
- data-smoke-ar
- data-smoke-cc
- .gitignore
- build.rs
- Cargo.toml
- components_esp32p4.lock
- partitions.csv
- README.md
- rust-toolchain.toml
- sdkconfig.defaults
- CMakeLists.txt
- main.c
- .gitignore
- CMakeLists.txt
- README.md
- armv6-apple-ios.json
- compat.c
- crt_globals.c
- device_tool.c
- Icon.png
- Info.plist
- PkgInfo
- pocket_core.h
- pocket_input.c
- pocket_input.h
- pocket_runtime.c
- pocket_runtime.h
- pocket_spec.h
- README.md
- runtime.c
- rust_eh_personality.c
- armv7-apple-ios.json
- Icon.svg
- Info.plist
- PkgInfo
- README.md
- runtime.c
- Icon.svg
- Info.plist
- PkgInfo
- README.md
- runtime.m
- main.rs
- Cargo.lock
- Cargo.toml
- armv6-wince-asm.json
- compat.c
- runtime.c
- stop-old.c
- IMPLEMENTATION.md
- INTEGRATION.md
- compat.c
- framebuffer.rs
- input.rs
- main.rs
- refresh.rs
- build.rs
- Cargo.lock
- Cargo.toml
- deploy.ts
- README.md
- alloc.rs
- arena.rs
- audio.rs
- audio_mod.rs
- c_heap.rs
- dbg.rs
- ffi.rs
- ge.rs
- host.rs
- lib.rs
- main.rs
- pak.rs
- qjs_alloc.rs
- stats.rs
- svc.rs
- switch.rs
- veil.rs
- vid.rs
- mipsel-sony-psp.json
- build.rs
- Cargo.lock
- Cargo.toml
- audio.ts
- db.ts
- fs.ts
- launcher.ts
- net.ts
- shot.ts
- sim.ts
- main.cpp
- pocketjs-e7-probe.pro
- catalog.bin
- catalog.tsv
- main.cpp
- pocketjs-e7-runtime.pro
- pocketjs-runtime.qrc
- pocketjs_symbian_core.h
- pocketjs_symbian_extension.h
- pocketjs_symbian_keys.h
- config.toml
- bg.png
- startup.png
- template.xml
- icon0.png
- pad.rs
- touch.rs
- audio.rs
- dbg.rs
- ffi.rs
- graphics.rs
- input.rs
- lib.rs
- main.rs
- net.rs
- pak.rs
- stats.rs
- svc.rs
- switch.rs
- vid.rs
- build.rs
- Cargo.lock
- Cargo.toml
- README.md
- rust-toolchain.toml
- audio-worklet.js
- audio.js
- devtools.html
- devtools.js
- engine.js
- hud.js
- index.html
- net.js
- serve.ts
- server.ts
- wasm-ops.d.ts
- wasm-ops.js
- blackberry-classic-hero-720.png
- cafe-phases.png
- devtools-highlight-glide.gif
- devtools-panel-device.png
- devtools-tape-frame.png
- dpad.gif
- figma-instance-pair.png
- figma-psp-components-fit.png
- figma-psp-components-zoom.png
- figma-psp-fit.png
- figma-psp-xmb.png
- figma-sim-calendar.png
- figma-tile-grid.png
- figma-welcome-page.png
- iphone2g-device-gl-frame.png
- iphone2g-gl-parity.png
- iphone2g-hero-320.png
- iphone2g-icon-4x.png
- meizu-m8-first-frame-320.png
- meizu-m8-icon-player.png
- meizu-m8-icon-pocketjs.png
- meizu-m8-native-dialog.png
- meizu-m8-native-frame-480.png
- meizu-m8-readable-frame-480.png
- meizu-m8-sync-shell.png
- menu.gif
- octane-hero-jsx-60fps.png
- octane-music-leaf-state.png
- octane-stats-mission-control.png
- openstrike-psp-crates.png
- openstrike-psp-dust2.png
- openstrike-psp-fire.png
- page-3d.gif
- pocket-character-activity.jpg
- pocket-character-airi-cpu.jpg
- pocket-character-airi-memory.jpg
- pocket-character-blink-strip.png
- pocket-pi-agentos-robinhood-refresh-action.png
- pocket-pi-esp32-hero.png
- pocket-pi-hotplug-install-flow.png
- pocket-vapor-promo-poster.jpg
- pocket-youtube-journey.gif
- pocket-youtube-osk.png
- pocket-youtube-paused.png
- pocket-youtube-pillarbox-bug.png
- pocket-youtube-results.png
- reload.gif
- reveal.gif
- room.gif
- share.gif
- spin.gif
- strip-2hz.png
- symbian-e7-figma-components.png
- symbian-e7-figma-fit.png
- symbian-e7-figma-zoom.png
- symbian-e7-hero-landscape.png
- symbian-e7-hero-portrait.png
- symbian-e7-launcher-portrait.png
- symbian-e7-launcher.png
- vapor-gb-added.png
- vapor-gb-boot.png
- vapor-gb-edit.png
- vapor-gba-added.png
- vapor-gba-boot.png
- vapor-gba-edit.png
- vapor-nes-added.png
- vapor-nes-boot.png
- vapor-nes-edit.png
- vita-density-compare.png
- vita-gallery-960.png
- vita-pocket-talk-960.png
- voxel-psp-bedroom.png
- voxel-psp-pallet-town.png
- voxel-psp-route-1.png
- CoderSerio.png
- EYHN.png
- Hengyu.png
- jackeydou.png
- lawvs.png
- LlamaGenAI.png
- pengx17.png
- ThaddeusJiang.png
- wey-gu.png
- Wh1isper.png
- wong2.png
- ZephyrCloudIO.png
- card-im.jpg
- card-openstrike.jpg
- card-voxel.jpg
- openstrike-psp-menu.png
- favicon.svg
- home.css
- landing.css
- landing.js
- og-image.png
- og-image.svg
- os-dust2.jpg
- pocket-stage-web.js
- pocket-vapor-promo.mp4
- pocketjs-demo-wall.jpg
- pocketjs-demo-wall.mp4
- pocketjs-hardware-demo.mp4
- tailwind.css
- agent-native-runtime-embedded-systems.md
- baking-motion.md
- blackberry-classic.md
- introducing-pocketjs.md
- octane-on-psp.md
- pocket-character.md
- pocket-figma.md
- pocket-pi-agent-native-runtime.md
- pocket-pi-on-esp32-p4.md
- pocket-vapor.md
- pocket-voxel.md
- pocket-youtube.md
- pocketjs-on-ps-vita.md
- pocketjs-on-symbian.md
- pocketjs-on-the-first-iphone.md
- pocketjs-on-windows-ce.md
- shipping-openstrike.md
- time-travel-devtools.md
- ui-runtime-that-cant-flake.md
- animation.md
- api.md
- app-shell.md
- architecture.md
- build-pipeline.md
- components.md
- concepts.md
- devtools.md
- frameworks.md
- getting-started.md
- input-focus.md
- native-contract.md
- net.md
- overview.md
- platform-contracts.md
- reactivity.md
- styling.md
- tailwind.md
- changelog.md
- agents.html
- games.html
- interfaces.html
- shell.html
- worlds.html
- assert.js
- empty.js
- path.js
- compiler-entry.ts
- host.d.ts
- host.js
- page.html
- playground.js
- runtime-entry.ts
- runtime-octane-entry.ts
- runtime-vue-vapor-entry.ts
- vue-vapor-wasi.ts
- bake-demo-wall.ts
- build.ts
- home.html
- motion-credit.ts
- nav.ts
- record-sim-clips.ts
- serve.ts
- sponsors.json
- stage-package.ts
- stamp-motion-credits.ts
- templates.ts
- verify-playground-stage.ts
- verify-playground-vue-vapor.ts
- verify-playground.ts
- verify.ts
- wrangler.jsonc
- SKILL.md
- SKILL.md
- openai.yaml
- metrics.md
- SKILL.md
- SKILL.md
- SKILL.md
- outro.html
- make-outro.ts
- SKILL.md
- launcher-ppsspp.ts
- launcher-vita3k.ts
- ppsspp.ts
- vita3k.ts
- controls.ts.txt
- main.ts.txt
- unrelated-broken.ts.txt
- main.ts.txt
- main.ts.txt
- App.vue.txt
- main.ts.txt
- invalid-extra-field.json
- portable-psp.json
- requires-touch.json
- synthetic.pocket
- portable-psp.plan.json
- portable-vita.plan.json
- coda-usb-protocol-test.c
- pocket-input-test.c
- symbian-key-normalization-test.c
- youtube-golden.pkst
- cards.detail.png
- cards.focused.png
- cards.layout.png
- cards.opening.png
- chrome.focused.png
- chrome.pressed.png
- chrome.released.png
- cursor.boot.png
- cursor.clicked-2.png
- cursor.clicked.png
- cursor.hover.png
- cursor.pressed.png
- hero.boot.png
- hero.focused.png
- hero.pressed.png
- library.detail.png
- library.focused.png
- library.grid.png
- library.loading.png
- music.paused.png
- music.playing.png
- music.skipped.png
- notifications.boot.png
- notifications.dismissing.png
- notifications.settled.png
- PPSSPP-COMMIT.txt
- settings.boot.png
- settings.themed.png
- settings.toggled.png
- stats.midcount.png
- stats.overview.png
- stats.systems.png
- cards.detail.png
- cards.focused.png
- cards.layout.png
- cards.opening.png
- hero.boot.png
- hero.focused.png
- hero.pressed.png
- library.detail.png
- library.focused.png
- library.grid.png
- library.loading.png
- music.paused.png
- music.playing.png
- music.skipped.png
- notifications.boot.png
- notifications.dismissing.png
- notifications.settled.png
- PPSSPP-COMMIT.txt
- settings.boot.png
- settings.themed.png
- settings.toggled.png
- stats.midcount.png
- stats.overview.png
- stats.systems.png
- cards.detail.png
- cards.focused.png
- cards.layout.png
- cards.opening.png
- hero.boot.png
- hero.focused.png
- hero.pressed.png
- library.detail.png
- library.focused.png
- library.grid.png
- library.loading.png
- music.paused.png
- music.playing.png
- music.skipped.png
- notifications.boot.png
- notifications.dismissing.png
- notifications.settled.png
- PPSSPP-COMMIT.txt
- settings.boot.png
- settings.themed.png
- settings.toggled.png
- stats.midcount.png
- stats.overview.png
- stats.systems.png
- cards-main.12.png
- cards-main.2.png
- cards-main.24.png
- cards-main.78.png
- chrome-main.12.png
- chrome-main.18.png
- chrome-main.2.png
- chrome-main.26.png
- cursor-main.16.png
- cursor-main.2.png
- cursor-main.22.png
- cursor-main.64.png
- cursor-main.80.png
- gallery-main.132.png
- gallery-main.178.png
- gallery-main.200.png
- gallery-main.226.png
- gallery-main.42.png
- gallery-main.82.png
- hero-main.10.png
- hero-main.2.png
- hero-main.80.png
- im-main.160.png
- im-main.280.png
- im-main.370.png
- im-main.40.png
- im-main.80.png
- im-rowtap.40.png
- im-rowtap.90.png
- im-touch.124.png
- im-touch.180.png
- im-touch.300.png
- library-main.105.png
- library-main.150.png
- library-main.2.png
- library-main.30.png
- motions-main.120.png
- motions-main.170.png
- motions-main.236.png
- motions-main.60.png
- motions-main.8.png
- motions-swipe.100.png
- motions-swipe.40.png
- music-main.2.png
- music-main.20.png
- music-main.60.png
- music-main.90.png
- notifications-main.2.png
- notifications-main.34.png
- notifications-main.60.png
- README.md
- settings-main.2.png
- settings-main.26.png
- settings-main.90.png
- stats-main.2.png
- stats-main.20.png
- stats-main.85.png
- VITA3K-BUILD.txt
- cards-main.12.png
- cards-main.2.png
- cards-main.24.png
- cards-main.78.png
- chrome-main.12.png
- chrome-main.18.png
- chrome-main.2.png
- chrome-main.26.png
- cursor-main.16.png
- cursor-main.2.png
- cursor-main.22.png
- cursor-main.64.png
- cursor-main.80.png
- gallery-main.132.png
- gallery-main.178.png
- gallery-main.200.png
- gallery-main.226.png
- gallery-main.42.png
- gallery-main.82.png
- hero-main.10.png
- hero-main.2.png
- hero-main.80.png
- im-main.160.png
- im-main.280.png
- im-main.370.png
- im-main.40.png
- im-main.80.png
- im-rowtap.40.png
- im-rowtap.90.png
- im-touch.124.png
- im-touch.180.png
- im-touch.300.png
- library-main.105.png
- library-main.150.png
- library-main.2.png
- library-main.30.png
- motions-main.120.png
- motions-main.170.png
- motions-main.236.png
- motions-main.60.png
- motions-main.8.png
- music-main.2.png
- music-main.20.png
- music-main.60.png
- music-main.90.png
- notifications-main.2.png
- notifications-main.34.png
- notifications-main.60.png
- settings-main.2.png
- settings-main.26.png
- settings-main.90.png
- stats-main.2.png
- stats-main.20.png
- stats-main.85.png
- hero-main.hashes.json
- hero-main.tape.json
- action-handler-vue-vapor.test.ts
- app-check.test.ts
- audio-sim.test.ts
- audio.test.ts
- blackberry-classic.test.ts
- cli.test.ts
- clock.test.ts
- contract.ts
- cursor.test.ts
- db.test.ts
- deepzoom-sim.test.ts
- desk98-sim.test.ts
- desk98.test.ts
- devtools.test.ts
- font-bake.test.ts
- fs.test.ts
- gesture.test.ts
- golden-specs.ts
- golden.ts
- host-build-inputs.test.ts
- hot.test.ts
- im-sim.test.ts
- ios-profile.test.ts
- iphone2g-device-contract.test.ts
- iphone2g-device-transaction.test.ts
- iphone2g-profile.test.ts
- iphone2g-toolchain.test.ts
- iphone4s-profile.test.ts
- ipod-nano.test.ts
- ipodtouch-profile.test.ts
- kinetics.test.ts
- launcher-sim.test.ts
- meizu-m8-profile.test.ts
- motions-attribution.test.ts
- net-web.test.js
- net.test.ts
- note.test.ts
- npm-package.test.ts
- octane-smoke.test.ts
- osk-controller.test.ts
- osk-layout.test.ts
- osk-script.ts
- platform-contracts.test.ts
- platform-runtime.test.ts
- png.ts
- pocket-input.test.ts
- pocket-package.test.ts
- portal-hit.test.ts
- psp-toolchain.test.ts
- release-check.test.ts
- release-notes.test.ts
- renderer.test.ts
- sim.test.ts
- site-stage.test.ts
- svg-bake.test.ts
- symbian-data.test.ts
- symbian-device.test.ts
- symbian-package.test.ts
- symbian-runtime.test.ts
- symbian-toolchain.test.ts
- tailwind.test.ts
- test-suite.test.ts
- tiles.test.ts
- touch-activation.test.ts
- touch.test.ts
- video-outro.test.ts
- virtual-list.test.ts
- vita-package.test.ts
- vue-sfc-lab.test.ts
- vue-sfc.test.ts
- vue-vapor-dom.test.ts
- vue-vapor-pak.test.ts
- vue-vapor-test-runtime.ts
- widget-args.test.ts
- wrap-op.test.ts
- main.cjs
- package.json
- editor.html
- default.json
- icon.png
- main.rs
- build.rs
- Cargo.lock
- Cargo.toml
- tauri.conf.json
- README.md
- build.sh
- quickjs-qnx.patch
- bin.mjs
- blackberry-android-toolchain.json
- blackberry-qnx-toolchain.json
- iphone2g-toolchain.json
- iphone4s-toolchain.json
- meizu-m8-toolchain.json
- package.json
- psp-toolchain.json
- README.md
- symbian-toolchain.json
- build-wince.sh
- quickjs-wince.patch
- setup-synce-macos.sh
- start-session-macos.sh
- synce-macos.patch
- usb-serial.c
- validation.ts
- makesis-openssl-1.1-pem-eof.patch
- makesis-openssl-1.1.patch
- quickjs-symbian-gcce.patch
- pocketjs-symbian-build-app
- pocketjs-symbian-build-probe
- pocketjs-symbian-doctor
- pocketjs-symbian-setup
- symbian-gcce-link
- coda-usb-probe.c
- Dockerfile
- Dockerfile.dockerignore
- bench-chart.ts
- bench-desktop.ts
- bench-ppsspp.ts
- blackberry-android.ts
- blackberry-classic-profile.ts
- blackberry-qnx.ts
- bootstrap.ts
- build.ts
- bundle-hash.ts
- demo-identity.ts
- dev.ts
- devtools-bridge.ts
- devtools-psp.ts
- devtools.ts
- flake-lab.ts
- gba-imagegen.ts
- gen-demo-covers.ts
- gen-exports.ts
- generate-vita-livearea.ts
- gu-demo.ts
- hw.ts
- imagegen
- ios-profile.ts
- ios.ts
- iphone-classic-icon.ts
- iphone2g-profile.ts
- iphone2g-toolchain.ts
- iphone2g.ts
- iphone4s-profile.ts
- iphone4s-toolchain.ts
- iphone4s.ts
- ipodtouch-icon.ts
- ipodtouch-profile.ts
- ipodtouch.ts
- launcher.ts
- macos.ts
- meizu-m8-profile.ts
- meizu-m8.ts
- native-host-build.ts
- note.ts
- play.ts
- pocket-pack.ts
- pocket.ts
- psp-all.ts
- psp-toolchain.ts
- psp.ts
- psplink
- psplink.ts
- release-check.ts
- release-notes.ts
- site-build.ts
- sponsors.ts
- symbian-bootstrap.ts
- symbian-data.ts
- symbian-device.ts
- symbian-package.ts
- symbian-profile.ts
- symbian-toolchain.ts
- symbian.ts
- tape.ts
- test.ts
- vita-package.ts
- vita.ts
- wasm.ts
- widget.ts
- meowbit.json
- boards.ts
- cli.ts
- compile.ts
- esp32.ts
- font.gen.ts
- playdate.ts
- rom.ts
- sccp.ts
- styles.ts
- todo-active.png
- todo-boot.png
- todo-edit.png
- todo-gb.png
- todo-nes.png
- playdate-six-button.tsx
- todo.playdate.tsx
- todo.tsx
- input.ts
- screen.ts
- boot.ts
- dom.ts
- entry-playdate.ts
- entry.ts
- paint.ts
- README.md
- sdkconfig.defaults
- vapor_esp32.c
- crt0.s
- vapor_gb.c
- crt0.s
- gba.ld
- vapor_gba.c
- crt0.s
- vapor_nes.c
- CMakeLists.txt
- framebuffer.c
- framebuffer.h
- pdxinfo.in
- README.md
- vapor_playdate.c
- vapor.h
- vapor_core.c
- blog-shots.ts
- dev.ts
- esp32.ts
- esp32_serial.py
- play.ts
- shot.ts
- pd_api.h
- build.ts
- mgba_runner.c
- nes_runner.ts
- playdate_framebuffer_test.c
- playdate_runtime_test.c
- boards.test.ts
- compiler.test.ts
- oracle.test.ts
- overlay.test.ts
- parity.test.ts
- playdate.test.ts
- sccp.test.ts
- styles.test.ts
- todo-tape.ts
- jsx.d.ts
- .gitignore
- BOARDS.md
- DESIGN.md
- README.md
- tsconfig.json
- .gitattributes
- .gitignore
- AGENTS.md
- bun.lock
- CLAUDE.md
- LICENSE
- package.json
- pocket.config.ts
- pocket.json
- README.md
- tsconfig.json
# Installation Guide
git clone https://github.com/pocket-stack/pocketjs
Downloads the entire project code from GitHub to your computer.
cd pocketjs
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Node.js Node.js must be installed to use npm.
npm install -g @pocketjs/cli
Installs the package published on the npm registry globally โ no need to clone the source.
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -f tools/symbian/Dockerfile -t pocketjs .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 pocketjs
Runs the built image as an actual container.
4. CMake
Mediumcd hosts/esp32p4/components/pocketjs_ppa
This project's files live in a subfolder, so move into it first.
mkdir build && cd build
Creates a folder to hold the build output and moves into it.
cmake ..
Analyzes the source code and generates build configuration files (must be run inside the build folder).
make
Compiles the code based on the generated build configuration to produce an executable.
5. Node.js
Easynpm install -g @pocketjs/cli
Installs the package published on the npm registry globally โ no need to clone the source.
Pulled directly from this repo's README.
6. Rust
Medium- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
cd engine
This project's files live in a subfolder, so move into it first.
cargo build --release
Compiles the Rust project.
cargo run
Builds and then immediately runs the program.
