I need an iOS application made.
* Must use ARKit 2
* Must be coded in latest version of swift and latest version of XCode
* Every line must be commented. Every line. No exemption. To detail what the programmer is doing at each step
The application requires a first window where there is a tabeview of projects, and a logo at the top of the tableview that is always present (UIImage above the tableview). It should show a list of saved projects. There shall be a button to add a new project
The new project should have the ability to assign a new name of the project. After entering the project name an ARKit2 session shall be invoked and a new world created.
The use shall be able to firstly set an anchor point as a point of origin. The anchor point should be able to detect from a plane. The anchor point should be able to not only capture X,Y,Z but also an angle down (the origin might not be perpendicular to gravity, the origin might be angled down or up.
The user shall then be able to enter 4 points in a room. The application shall then create a virtual trapezoid shape bounded by the 4 points.
The screen shall then display the geometry from the origin to each of the 4 points in degrees vertical, degrees horizontal, and distance. This display shall be collapsible so as not to impose too much into the screen when not in use.
The user shall be able to then store the project and it shall show up in the initial tableview. The stored project shall save the project name, the origin point and the 4 stored points, the virtual AR world, and the calculated geometry.
The user shall be able to exit a project to return to the initial tableview at any point in time.
There shall also be a method to export and share with other people using the same application a project that has been saved.
This will be stage 1 of the project. The project shall continue to add additional features later.
The project is for a laser lighting product that the user can define the shape of a projected trapezoid by marking the 4 points of the projected rectangle shape in a room physically, and can see what shape it will be in a virtual world.