dev.UsingDev - tixl3d/tixl GitHub Wiki
Running TiXL from an IDE
But why?
Although you can use most of TiXL's features in the standalone release versions, you might to run it from an IDE because:
- It allows to create your own C# ops, including hot code reloading and debugging.
- You can use and test the latest features on the Main Branch.
- Setting it up is easy
- In most scenarios, performances will be similar
- You can contribute your changes as Pull Requests (PR) back to the community.
- You can build your own release builds.
An overview
TiXL consists of a dazzling number of projects (csproj), of which you will only need very few:
- Editor/ - is the main user interface.
- Player/ -
- Core/ - Functionality shared between Editor and Player
- Operators/Lib/ - Primary operators
- Operators/TypeOperators/ - Examples
- Operators/Examples/ - Examples
To develop new operators you do not need to know any of these details, but you should read...
Working with git worktrees
Git Worktrees take some getting used to, but especially for sessions with agentic coding, it might be useful to run multiple sessions of TiXL in parallel. This is harder than you might expect, because TiXL stores its Settings and derived from that it's project folders at a shared location. Editing something in one worktree would automatically force a rebuild in all other running Editors.
With v4.2 we split settings and projects for "alpha" version to prevent automatically applying new features and file formats onto production project in earlier projects. If you start an alpha version (or a preview release), it will automatically start with fresh settings in AppData/Roaming/TiXL4.2-alpha/ and a fresh project folder in Documents/TiXL4.2-alpha.
We can use the some mechanism to separate different worktrees:
- In your git-client (e.g. Fork) create a new worktree. Fork creates it in the parent folder (e.g.
../tixl-worktrees/) - Open this folder and a worktree in it
- To build TiXL open a terminal window and type
dotnet build
- Change to the Editor output folder and start with the parameter
--override-version-id.
You might also copy the following line into a bat file (e.g. startSeparate.bat:
dotnet build
cd "Editor\bin\Debug\net10.0-windows\"
TiXL.exe --override-version-id "someWorkTree"
Also read:
- Operator Conventions for a checklist before contributing ops.
- Developing Advanced C# Operators
- CodingConventions
- Building an Image Mosaic Effect with TiXL