Serialization for Unity.Mathematics:
- FlatBuffer through FlatSharp
- JSON serialization through System.Text.Json
Unity.Mathematics is referenced:
- as NuGet via Unity.Mathematics.NuGet.
- as Unity package via UPM.
A vector type, e.g. math.float3 can technically be serialized in 2 forms:
- object type, i.e.
{ "x" = 1, "y" = 2, "z" = 3} - array type, i.e.
[1, 2, 3]
Both serializers are implemented, but the default configuration is to use the array type.
Follow Conventional Commits
The most common ones are:
-
feature (tag): subject -
fix (tag): subject -
refactor (tag): subject -
doc (tag): subject -
repo: subjectrepresents changes on the repo level (e.g. submodule update, lfs attributes, etc). -
chore: subjectis reserved for whitespace and formatting changes (if and only if they could not be squashed into other commits). -
build: subjectis reserved for project and solution changes, e.g. adding/removing/updating a dependency.
Commit message yielded by the git-alias below:
hub-squash = "!f() { j=\"$(gh pr status --json title,number,headRefName,body)\"; num=$(jq -r .currentBranch.number <<< $j); title=\"$(jq -r .currentBranch.title <<< $j) ($(jq -r .currentBranch.headRefName <<< $j)) [#$num]\"; body=\"$(jq -r .currentBranch.body <<< $j)\n\n$(jq -r .currentBranch.body <<< $j)\"; gh pr merge -d --squash --subject \"$title\" --body \"$body\";}; f"
$titleis the PR title. It must follow Conventional Commits style.$bodyis the PR body. Ideally created automatically throughgh pr create --fill. It should contain a bullet point list of the squashed commits.
Squash-merges offer 2 non-negligeable benefits over regular merges:
- they are easy to rebase (regular merges get unrolled if not taken care)
- they hide a sometimes messy feature-branch
Squash-merges offer 2 non-negligeable benefits over regular rebase-merges:
- they hide a sometimes messy feature-branch
- they do not spam the repo history with detail commits
Further, they are similar to Perforce Submits, and as such offer a better understanding to Perforce users.