# [Full “Shape Up” booklet on Basecamp](https://basecamp.com/shapeup) --- ## **Problem** _Clearly define the core issue or challenge you’re tackling. Explain why it matters, what’s at stake, and who is impacted. This section should set the context and make the reader care about finding a solution._ Trying to find an easy way inject anysurface into any app. When a user is setting up an anysurface compatible app, they need to have access to the various parts of set up. Choosing a camera, aligning the camera in projector view, triggering a gray code scan, and calibrating the dark settings for laser tracking. ## **Appetite** _Describe the amount of time, resources, and energy you’re willing to invest in solving this problem. This is about setting boundaries and expectations so the scope fits the commitment._ My goal is to have something easy to work with before Sept 1 when Josh + Steve leave for OceanX. ## **Solution** _Lay out your proposed approach to addressing the problem. Focus on the big idea and how it meets the appetite, without going too deep into implementation details._ Right now, the app using anysurface needs to call new Surface() and pass four canvases. My UI will take those four canvases, trigger the various steps needed to set the camera/projector settings to set up the app. It will mutate the Surface object directly, then emit a surfaceChanged event. Switch laser calibrator component to use anysurface laser tracking instead of current data processing on offscreen canvas brightShutter + brightGain (grayscan calibration tab) Work with windows/facecam DIY table to work out bugs before OceanX Possibly create a chrome plug in that instantiates the Surface class and overlays the four canvases over Chrome? Could be a way interact with any website via laser pointer..need to explore this. ## **Rabbit Holes** _Identify potential uncertainties, complexities, or areas that could consume more time than expected. By calling these out early, you can plan to avoid them or decide how to handle them if they arise._ This first version will work well for someone who already understands how anysurface works. I don't want to make it a walk through wizard. That will come next. ## **No-Gos** _List the things you will not do, explore, or include in the project. These constraints protect the scope from creeping and keep everyone aligned on the boundaries._ The app consuming the set up UI is responsible for persisting values set in the UI.