Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tabletop AR: scene placement #602

Open
wants to merge 24 commits into
base: feature-branches/tabletop-ar
Choose a base branch
from

Conversation

hud10837
Copy link
Collaborator

@hud10837 hud10837 commented Oct 8, 2024

Related to issue: https://devtopia.esri.com/runtime/kotlin/issues/4585

Description:

Implements behavior to place the scene when the user taps a plane on the camera feed

Summary of changes:

  • Update the microapp to display some minimal coaching overlay for each initialization state, as well as to display some more interesting data
  • Enhance TableTopSceneView with arcGISAnchorPoint, translationFactor, and clippingDistance parameters
  • Add behavior to the TableTopSceneView to respond to the first detected plane (to update the status), to respond to the first user tap (to place the scene), and to render the scene manually while updating the camera position
  • Add DetectingPlanes status to TableTopSceneViewStatus
  • Enhance ArCameraFeed and CameraFeedRenderer with callbacks for the new behavior of TableTopSceneView

Pre-merge Checklist

kaushikrw and others added 24 commits September 16, 2024 14:30
* `Forms`: Add `TextFormElement` (#542)

* `Forms`: Add `TextFormElement` tests (#551)

* add tests

* updated feature form doc

* bump sdk version

* `Forms` : Add SubTypeFeatureLayer support (#559)

* `Forms`: Fix stale `LaunchedEffect`s (#563)

* fix stale launched effects

* use rememberupdatedstate

* update feature form doc (#565)
* prototype design options

* prototype tabletopSceneView

* remove unused implementations

* create readme

* add tabletopsceneviewproxy

* update microapp to use tabletop proxy

* add TableTopSceneViewScope

* apply Compose gradle plugin

* fix warnings

* rename microapp

* delete tests for microapp

* add copyright

* fix since years

* use swift doc on tabletopsceneview

* add proxy doc

* add scope doc

* fix references in proxy doc

* fix references in scope doc

* fix references in scope doc

* newlines

* rm unit test

* fix doc and imports

* fix doc and imports

* revert authentication changes

---------

Co-authored-by: Gunther Heppner <[email protected]>
* import necessary files for rendering camera feed

* copyright

* rm obj dependency

* make kotlin classes internal

* make java classes non-public

* centralize logging and tag

* add doc links to hello ar

* make planerenderer companion internal

* Fix texture name

* add newline
* bring in existing implementation of ArSurfaceView

* bring in changes to TabletopSceneView and TableTopSceneViewState

* pare down changes to just implement ARSurfaceView and add lifecycle management wrappers for AR Session and GlSurfaceView

* rm camera controller line

* mv call to box

* mv ArSessionWrapper to internal

* fix since tags

* rename ARSurfaceView -> ArCameraFeed

* rename localLifecycleOwner -> lifecycleOwner

* mv initialization of sceneViewProxy to TableTopSceneViewProxy
* mv assets folder to correct location

* out of the box permissions request

* rename camera permission function

* make request permission optional

* add initialization status

* add availability check

* update microapp

* extract string resources

* rm unnecessary changes

* don't use stateflow for microapp

* rename string res

* rename string resource

* don't require camera permission before checking arcore visibility

* mv box call

* add local function for update status

* simplify availability check

* rename status

* make status constructors internal

* use updateState for initial status

* mv status doc to member objects

* add remaining param doc

* fix remaining param doc

* add parameter for callback to lambda

* revert whitespace in manifest

* remove debug delay

* add factory rememberTableTopSceneViewStatus

* add extension fun to mutable state

* add extension fun to mutable state

* rename camera feed file

* use launchedeffect to ensure initializing status is only sent once

* Don't send callback on first status

* use side effects for callback

* use collectAsStateWithLifecycle

* add doc to rememberTableTopSceneViewStatus()
@hud10837 hud10837 marked this pull request as ready for review October 8, 2024 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants