# Project Titan

Index:

- [Getting Started](#getting-started)
- [Visual Studio Configuration](#configuring-visual-studio)

Links to Other Docs:

 - [Importing a Model](./Docs/model-import-process.md)

## Getting Started

Working on this project requires some things that you need to install. Those being
Visual Studio, S&box, Git (LFS enabled). Among that you will need access to the 
[Gitea](https://gitea.vps.collinssoft.com). You'll know who to reach out to
if you are lacking access. This will only target Windows development since
S&box only supports Windows, however, in the future they do plan to support
Linux.

#### 1.) Installing Git and Git LFS
	
This is realively simple to do, just go to [git's website](https://git-scm.com/)
and download the installer for Windows. All the default settings are acceptable,
but if you want to take a look at what they are and pick and choose feel free ;).

In order to enable Git LFS you will have to open the terminal and run:

```bash
git lfs install
```

#### 2.) Install S&Box

Right now S&Box is only available through building it ourselves and Steam. This will
go over how to gain access through Steam. To get access you will have to go through
[this url](https://sbox.game/give-me-that). Once you have completed that, you will
have it in your Steam library.

*NOTE: depending on how you chose to install S&Box will affect whether the S&Box
editor will work for you through Steam. If you try and it doesn't work, you can
access the locally installed files and `sbox-dev.exe` can be used.*

When it releases in Steam on April 28th, 2026 the project will provide the funds
for all developers to gain access, and this documentation will be updated.

#### 3.) Install Visual Studio

Installing Visual Studio is a similar process to installing Git but with some UI
elements added. To start download the installer from [Microslop](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=learn.microsoft.com&utm_campaign=inline+link&0utm_content=download+vs2026+desktopguide+winforms).

Once you run the installer, you should see something similar to this:

![microslop-feature-selection](./Docs/Img/windows-vs-feature-selection.png)

*NOTE: Do not feel the need to login or create an account, you can skip it*

The only thing that needs to be selected is the `.NET Multiplatform App UI development`.
Feel free to choose what optional things you want in addition, as you can notice the picture
depicts the Copilot options being disabled. This install will take a few minutes, but once
complete you now have an IDE to do development with.

#### 4.) Clone the Project

Cloning is the process of creating a replica of the Git repository on your local file system.
To do this we will be using the terminal, however, you can setup Visual Studio to do the
same thing. If you would rather go down that route, there are plenty of tutorials on the subject
so feel free.

Open a terminal and traverse to the directory that you wish the project to be cloned to. Once you
are there you can run the command:

```bash
git clone https://gitea.vps.collinssoft.com/Relic/Titan.git
```

This will create a titan folder and download all the contents of the repository to that folder.

#### 5.) Add the Project to S&Box

Opening up S&Box you should see the project selector pop up.

![sandbox-project-selector](./Docs/Img/sandbox-add-picture.png)

In the picutre you can see an arrow pointing to a button, clicking
that button will open up the explorer. Traverse to the project root
and click Open. After that you should have the project appear as a
selectable option afterwards. Click that and it will open the S&Box editor and
now you can start working on the project.

*NOTE: Make sure that you have started the project with S&Box it will
generate a slnx file that will be needed for Visual Studio in the next
step.*

#### 6.) Add the Project to Visual Studio

The last step is to configure Visual Studio.

![visual-studio-project-selector](./Docs/Img/visual-studio-project-selector.png)

Click on `Open a project or solution` will open the explorer window. Traversing
to the root of the project that was cloned and click the slnx file and it will
open the project. Next time you open Visual Studio it will be a selectable option.

## Configuring Visual Studio

Index:

- [Git](#visual-studio-git)

### Visual Studio Git

We will be using Git for working together on this project, and Visual Studio being
a fully fledge IDE has support for that workflow.

Up in the top left corner there is a Git tab, contained in that tab you should see
something similar to this ->

![git-tab](./Docs/Img/visual-studio-git-option.png)

As you can see we already have the local repository, the only other thing we need
to do is setup the remote.

![git-remote-config](./Docs/Img/visual-studio-remote-repo.png)

Once that is clicked you should see another window pop up.

![git-remote-config-options](./Docs/Img/visual-studio-git-options-window.png)

All that you need to confiure is the `User name` and the `Email` fields, these
should be the same as your Gitea user is configured with.

Lastly you need to configure your authentication, in the same window you were just in
click on `Git Global Config` and you should see this window.

![git-gcm](./Docs/Img/visual-studio-gcm.png)

Validate that the setting `Credential Helper` is set to GCM.

## Using Visual Studio to Push Code to Gitea

![git-visual-studio-tab](./Docs/Img/visual-studio-git-window.png)

Click the `Git Changes` tab in the bottom left will open the tab to a different window
where you can push your code. Contained in this Git window shows what branch you are
on, the changes that are present, a place to put commit messages and much more.