npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

phantom-react

v0.1.4

Published

![Logo](/docs/_images/logo-full-transparent.png)

Downloads

164

Readme

Logo

Developed based on Viro-React (click for more information on Viro-React's GitHub page), Phantom-React is a platform for developers to rapidly build augmented reality (AR) and virtual reality (VR) experiences. Developers write in React Native, and Phantom-React runs their code natively across all mobile AR (iOS ARKit and Android ARCore) platforms and Android VR (including Google Daydream, Samsung Gear VR, and Google Cardboard) platform. Phantom-React has resolved previously existing issues in Viro-React due to compatibility with the latest versions of both React-Native (V0.63.4) and Apple App Store policy.

Warning: Due to removal of UIWebView, VR functions for iOS are currently unusable. Expect them to be implemented in the future.

Note: The improvement of ViroCore -- PhantomCore, is coming soon!

This project contains the full source code for Phantom-React, and various sample Phantom projects.

The platform is free to use with no limits on distribution.:clap:

:star2::star2::star2: Take a look at Phantom-React's official documentation page for detailed technical support! :star2::star2::star2:

To report bugs/issues regarding the Phantom platform, please file new issues under this repository.

Instructions for running sample projects using Testbed app:

  1. Follow directions in documenation to setup dependencies for trying these sample projects with the Phantom Media App.
  2. Clone the repo into your workspace with git: git clone https://github.com/TobyX-Corp/phantom-react.git.
  3. Go into the code-samples directory.
  4. Run npm install from the root of this project.
  5. Run npm start from the root of this project.
  6. Open the phantom Media App, slide out the left panel and select "Enter Testbed".
  7. Type the entire ngrok URL output (xxxxxx.ngrok.io) at the top of the terminal into the text field and hit 'GO'
  8. You should now be in the application! Enjoy!

Instructions for running sample code as a stand alone project (with no Testbed app):

Tried the samples through our Testbed app and now want to try deploying sample code to your device as standalone apps? These quick steps below should get you started:

  1. Follow steps 1 - 4 from above (instructions for using with Testbed app)
  2. For Android, make sure you have downloaded and installed Android Studio from here to get required SDK and platform-tools for building android apps Make sure you have the required enphantomnment variables set - $ANDROID_HOME, and added platform-tools to $PATH variable. If not,
    export ANDROID_HOME=/YOUR_PATH_TO/Android/sdk
    export PATH=$ANDROID_HOME/platform-tools:$PATH
    export PATH=$ANDROID_HOME/tools:$PATH
    Build and launch android app by executing the following from the root of the project
    react-native run-android --variant=gvrDebug
  3. For iOS, in Xcode open phantomSample.xcworkspace in ios/ directory. Select the right "Team" for phantomSample and phantomSampleTest target under General -> Signing Hit play to build and launch the app on your iOS device

Changing Between Samples

  1. Open App.js in a text editor.
  2. For AR, set showARScene=true at line 44.
  3. For VR, Modify line 61: scene: scenes['360 Photo Tour'], to a scene defined in the scenes dictionary on line 30.
  4. Reload/restart the application.

Instructions for using a CI-built phantom React platform from Mainline:

You can also try the latest mainline build containing bleeding edge features and fixes. Please keep in mind that mainline builds may not be as stable as release builds. To do so, simply:

  1. Go to the phantom Actions Workflows for this project.
  2. You should see a list of "phantom Bridge CI Pipeline" workflows.
  3. Click on the latest successfully built workflow pipeline (should be a checkmark next to it).
  4. Download the latest built phantomReact.tgz artiface.
  5. Clone this repo into your workspace with git: git clone https://github.com/TobyX-Corp/phantom-react.git.
  6. Go into the code-samples directory.
  7. Run npm install from the root of this project.
  8. Remove the phantomReact framework that was pulled down from the npm install (you are going to use the pre-built one).
  9. npm install ../path/to/your/downloadedArtifact.tgz

Instructions for manually building the phantom React platform:

Building iOS phantom React:

  1. Follow directions on our documentation to setup dependencies.
  2. Clone the repo into your workspace with git: git clone https://github.com/TobyX-Corp/phantom-react.git.
  3. Build our iOS renderer using build instructions outlined in our phantom-core repo.
  4. Verify you see new files created in ios/dist folder.
  5. Install pods in ios/ folder:
    $ cd ios
    $ pod install
  6. Open the .xcworkspace file in Xcode. (Make sure you open the .xcworkpace file, and not* the .xcodeproj file!)
  7. Select Product->Scheme. If you don't see a React scheme, hit Manage Schemes.... In the dialog box, add React scheme.
  8. Go through build configuration (Debug vs Release) for schemes React and PhantomReact and ensure they are all either Release or Debug, depending on what you are trying to build.
  9. That's it! Now build React scheme for Generic iOS Device, followed by phantomReact scheme for the same target. Note: If in your own app project setup, you prefer to include Phantom-React as a static library rather than relying on `use_frameworks!` - build scheme `PhantomReact_static_lib` instead of `PhantomReact` as mentioned above in step #9.
  10. You should see a new file libPhantomReact.a at ios/dist/lib/libPhantomReact.a.
  11. To run Phantom-React tests, run the following commands:
    $ cd test
    $ npm install
    $ cd ios/PhantomExample
    $ pod install
    Navigate to test/ios/PhantomExample/ folder. Open the .xcworkspace file and run the PhantomExample scheme on your plugged in iOS device.

Building Android phantom React:

  1. Under the phantom directory, run ./prepareRelase.sh.
  2. Your android bridge should now be built under release.
  3. You should see a new file created at android/react_phantom/react_phantom-release.aar
  4. To build android release tests:
    $ cd test/android
    $ ./gradlew assembleGvrRelease
  5. Install app-gvr-release.apk from test/android/app/build/output/gvr/app-gvr-release.apk onto your plugged in Android device.

Bundling and using built iOS and Android into a single npm tar package:

  1. The ./prepareRelease.sh you ran above builds android react bridge and bundles both iOS and Android bridge into a phantom-react-*.tgz file. * for current version from package.json file.