Step 1: the Salty project, two modules, tests and the gym

Salty.uproject (UE 5.8) from the Third Person template with class redirects, the SaltyCore and Salty modules,
the three build targets, USaltyAssetManager calling InitGlobalData, Config/Tags with the 23 root namespaces,
Scripts/run-tests.sh, build.sh and Authoring/create_gym.py, L_Gym, Git LFS attributes and the placeholder test.
Template variants kept as reference (D-41). The four Fab packs stay out of the repository for now (~10 GB).
The editor serves the engine MCP plugin on 127.0.0.1:8000 through DefaultEditorPerProjectUserSettings.ini.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Rainer Leit
2026-09-16 20:10:43 +03:00
co-authored by Claude Fable 5.1
parent 0e61a77346
commit 4f2c55cd2a
1434 changed files with 11358 additions and 27 deletions
+11
View File
@@ -0,0 +1,11 @@
# Binary assets go through Git LFS. Run `git lfs install` once per machine.
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
+9
View File
@@ -73,3 +73,12 @@ Plugins/**/Intermediate/*
# Cache files for the editor to use # Cache files for the editor to use
DerivedDataCache/* DerivedDataCache/*
# Unreal, project specific
.vscode/
*.code-workspace
Saved/
Intermediate/
Binaries/
DerivedDataCache/
Platforms/*/Binaries/
+9
View File
@@ -0,0 +1,9 @@
/.git
/.vscode
/Content
/DerivedDataCache
/Docs
/Intermediate
/ProjectSomething
/Saved
/Scripts
+8
View File
@@ -0,0 +1,8 @@
{
"mcpServers": {
"unreal-mcp": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
}
}
+21 -17
View File
@@ -1,9 +1,8 @@
# Unreal prototype # Unreal prototype
An Unreal Engine 5 project, C++ first, that builds and proves three things in order: a movement controller, An Unreal Engine 5 project, C++ first, that builds and proves three things in order: a movement controller,
fighting, and crafting. The engine version and the project name are open decisions (OD-01, OD-02 in fighting, and crafting. **Engine: Unreal Engine 5.8, launcher build at `D:\UE_5.8` (D-39). Project: `Salty`
[`Docs/Decisions.md`](Docs/Decisions.md)); pin both here in step 1. Until the `.uproject` exists, `<Project>` (D-40).** Where an older doc says `<Project>`, read `Salty`.
in the docs stands for its name.
## Before you start ## Before you start
@@ -22,28 +21,33 @@ are in [`Docs/Ideas.md`](Docs/Ideas.md); do not build one inside a step about so
## Where the project actually is ## Where the project actually is
Nothing is built. The repository holds the documentation set and a stock `.gitignore`. Step 1 (the project, two Step 1 is built (see `Docs/Worklog.md`): `Salty.uproject` at the root, the `SaltyCore` and `Salty` modules, the
modules, tests, a dedicated server in the editor) is next and waits on OD-01 and OD-02. Update this section when a placeholder test, the tag namespaces, LFS, the scripts and `L_Gym`. It was created from the engine's Third Person
step closes: what exists, what the next step is. template; the plain template classes are `ATemplate*` and are the placeholder body until step 3. The template's
`Variant_*` folders under `Source/Salty/` and `Content/` are reference only (D-41): do not add code there, do not
depend on them. Four Fab asset packs sit in `Content/` (`HouseForge_01`, `Medieval_Weapons`, `Elite_RockyMeadows`,
`RPGEnvironmentVFX`); none is referenced yet, and a pack is used only when a step's spec names the asset.
Next: step 2, the telemetry seam. Update this section when a step closes: what exists, what the next step is.
## Layout ## Layout
Planned; created by step 1. The `.uproject` sits at the repository root, which is what the `.gitignore` assumes. The `.uproject` sits at the repository root, which is what the `.gitignore` assumes.
| Path | What it is | | Path | What it is |
| --- | --- | | --- | --- |
| `<Project>.uproject`, `Source/<Project>.Target.cs`, `<Project>Editor.Target.cs`, `<Project>Server.Target.cs` | The project and its three build targets | | `Salty.uproject`, `Source/Salty.Target.cs`, `SaltyEditor.Target.cs`, `SaltyServer.Target.cs` | The project and its three build targets. The server target needs a source-built engine (OD-04) |
| `Source/<Project>Core/` | Rules, data types, tags, the telemetry contract. Knows no `AActor`. Tests in `Tests/` | | `Source/SaltyCore/` | Rules, data types, tags, the telemetry contract. Knows no `AActor`. Tests in `Tests/` |
| `Source/<Project>/` | Gameplay: `Core/`, `Stats/`, `Movement/`, `Interaction/`, `Combat/`, `Crafting/`, `UI/`, one folder per feature | | `Source/Salty/` | Gameplay: `Core/`, `Stats/`, `Movement/`, `Interaction/`, `Combat/`, `Crafting/`, `UI/`, one folder per feature. `Variant_*` is template reference (D-41) |
| `Content/<Feature>/` | Assets per feature: `Definitions/` for data assets, Blueprints, meshes, montages | | `Content/<Feature>/` | Assets per feature: `Definitions/` for data assets, Blueprints, meshes, montages |
| `Content/Maps/L_Gym` | The movement test level. Never leaves the project | | `Content/Maps/L_Gym` | The movement test level, authored by `Scripts/Authoring/create_gym.py`. Never leaves the project |
| `Content/Tests/` | Functional test maps | | `Content/Tests/` | Functional test maps |
| `Config/Tags/<Feature>.ini` | Gameplay tag source of truth, one file per top-level namespace | | `Config/Tags/<Feature>.ini` | Gameplay tag source of truth, one file per top-level namespace |
| `Scripts/` | `run-tests.sh`, `build.sh`, and `Authoring/` for editor Python scripts. Run by hand; there is no CI | | `Scripts/` | `run-tests.sh`, `build.sh`, and `Authoring/` for editor Python scripts. Run by hand; there is no CI. `UE_ROOT` overrides the engine path |
| `Docs/` | The documentation set. Update it when you change how something works | | `Docs/` | The documentation set. Update it when you change how something works |
| `Docs/Worklog.md` | One terse line per step closed or wall hit | | `Docs/Worklog.md` | One terse line per step closed or wall hit |
Module dependency is one way: `<Project>` depends on `<Project>Core`, never the reverse. If the core module seems Module dependency is one way: `Salty` depends on `SaltyCore`, never the reverse. If the core module seems
to need an actor, the thing it needs is data. to need an actor, the thing it needs is data.
## Conventions ## Conventions
@@ -83,12 +87,12 @@ to need an actor, the thing it needs is data.
## Commands ## Commands
Created in step 1; the shapes are fixed now so the docs can refer to them.
```bash ```bash
Scripts/run-tests.sh # headless: UnrealEditor-Cmd <Project>.uproject -ExecCmds="Automation RunTests <Project>; Quit" -unattended -nopause -NullRHI Scripts/run-tests.sh # headless: UnrealEditor-Cmd Salty.uproject -ExecCmds="Automation RunTests Salty; Quit" -unattended -nopause -NullRHI
Scripts/run-tests.sh Core # a filter: <Project>.Core.* Scripts/run-tests.sh Core # a filter: Salty.Core.*
Scripts/build.sh Win64 Development # UAT BuildCookRun for the game target; add -server for the server target once the engine is a source build Scripts/build.sh Win64 Development # UAT BuildCookRun for the game target; add -server for the server target once the engine is a source build
D:/UE_5.8/Engine/Build/BatchFiles/Build.bat SaltyEditor Win64 Development -Project="<abs>\Salty.uproject" -WaitMutex # compile the editor from a shell
UnrealEditor-Cmd.exe Salty.uproject -run=pythonscript -script=Scripts/Authoring/create_gym.py # rerun an authoring script
``` ```
There is no CI, deliberately, and there will not be until there is a reason. Run the tests yourself before saying There is no CI, deliberately, and there will not be until there is a reason. Run the tests yourself before saying
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
[ContentBrowser]
ContentBrowserTab1.SelectedPaths=/Game/ThirdPersonCPP
; The engine's experimental MCP plugin serves http://127.0.0.1:8000/mcp from inside the editor; .mcp.json points
; Claude Code at it. Without auto-start nothing listens and the client reports a refused connection.
[/Script/ModelContextProtocolEngine.ModelContextProtocolSettings]
bAutoStartServer=True
ServerPortNumber=8000
ServerUrlPath=/mcp
+102
View File
@@ -0,0 +1,102 @@
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Maps/L_Gym.L_Gym
EditorStartupMap=/Game/Maps/L_Gym.L_Gym
GlobalDefaultGameMode=/Game/ThirdPerson/Blueprints/BP_ThirdPersonGameMode.BP_ThirdPersonGameMode_C
bOffsetPlayerGamepadIds=False
[/Script/Engine.RendererSettings]
r.ReflectionMethod=1
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=1
r.Lumen.TraceMeshSDFs=0
r.Shadow.Virtual.Enable=1
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=true
r.AllowStaticLighting=False
r.SkinCache.CompileShaders=True
r.RayTracing=True
r.RayTracing.RayTracingProxies.ProjectEnabled=True
r.Substrate=True
r.Substrate.ProjectGBufferFormat=0
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
-D3D12TargetedShaderFormats=PCD3D_SM5
+D3D12TargetedShaderFormats=PCD3D_SM6
-D3D11TargetedShaderFormats=PCD3D_SM5
+D3D11TargetedShaderFormats=PCD3D_SM5
Compiler=Default
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
SourceDataOverridePlugin=
ReverbPlugin=
OcclusionPlugin=
CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0)
CacheSizeKB=65536
MaxChunkSizeOverrideKB=0
bResampleForDevice=False
MaxSampleRate=48000.000000
HighSampleRate=32000.000000
MedSampleRate=24000.000000
LowSampleRate=12000.000000
MinSampleRate=8000.000000
CompressionQualityModifier=1.000000
AutoStreamingThreshold=0.000000
SoundCueCookQualityIndex=-1
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
-TargetedRHIs=SF_VULKAN_SM5
+TargetedRHIs=SF_VULKAN_SM6
[/Script/MacTargetPlatform.MacTargetSettings]
-TargetedRHIs=SF_METAL_SM5
+TargetedRHIs=SF_METAL_SM6
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum
[/Script/Engine.Engine]
AssetManagerClassName=/Script/Salty.SaltyAssetManager
; Template redirects, chained: the template's TP_ThirdPerson names became ProjectSomething, which became Salty.
+ActiveGameNameRedirects=(OldGameName="TP_ThirdPerson",NewGameName="/Script/Salty")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPerson",NewGameName="/Script/Salty")
+ActiveGameNameRedirects=(OldGameName="ProjectSomething",NewGameName="/Script/Salty")
+ActiveGameNameRedirects=(OldGameName="/Script/ProjectSomething",NewGameName="/Script/Salty")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonPlayerController",NewClassName="TemplatePlayerController")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonGameMode",NewClassName="TemplateGameMode")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonCharacter",NewClassName="TemplateCharacter")
+ActiveClassRedirects=(OldClassName="ProjectSomethingPlayerController",NewClassName="TemplatePlayerController")
+ActiveClassRedirects=(OldClassName="ProjectSomethingGameMode",NewClassName="TemplateGameMode")
+ActiveClassRedirects=(OldClassName="ProjectSomethingCharacter",NewClassName="TemplateCharacter")
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=497A87974CF0126F6E4A59B18C9309B8
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
+13
View File
@@ -0,0 +1,13 @@
[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=68D4595C46A43E9D6CFD028658D9F9E9
ProjectName=Salty
[ConsoleVariables]
CommonUI.CheckKeyboardFocusAndParentage=1
CommonUI.DisallowUserFocusedWidgetForPendingFocusRecipient=1
CommonUI.FallbackToDesiredOnAutoRestoreFailure=1
[/Script/GameplayAbilities.AbilitySystemGlobals]
; Gameplay cue notifies live with the feature that owns them; scanning all of /Game would walk the asset packs.
+GameplayCueNotifyPaths=/Game/Combat
+GameplayCueNotifyPaths=/Game/Stats
+10
View File
@@ -0,0 +1,10 @@
[/Script/GameplayTags.GameplayTagsSettings]
ImportTagsFromConfig=True
WarnOnInvalidTags=True
ClearInvalidTags=False
AllowEditorTagUnloading=True
AllowGameTagUnloading=False
FastReplication=False
InvalidTagCharacters="\"\',"
NumBitsForContainerSize=6
NetIndexFirstBitSegment=16
+86
View File
@@ -0,0 +1,86 @@
[/Script/Engine.InputSettings]
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
bAltEnterTogglesFullscreen=True
bF11TogglesFullscreen=True
bUseMouseForTouch=False
bEnableMouseSmoothing=True
bEnableFOVScaling=True
bCaptureMouseOnLaunch=True
bEnableLegacyInputScales=True
bEnableMotionControls=True
bFilterInputByPlatformUser=False
bShouldFlushPressedKeysOnViewportFocusLost=True
bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
DefaultViewportMouseLockMode=LockOnCapture
FOVScale=0.011110
DoubleClickTime=0.200000
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
DefaultTouchInterface=None
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Ability.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Ability",DevComment="Asset tags on abilities: Ability.Melee, Ability.Dodge, Ability.Signature (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Activity.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Activity",DevComment="Heat, Strike, Assemble (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Class.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Class",DevComment="Player kits: Warrior, Ranger, Mage, Cleric, Rogue (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Cooldown.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Cooldown",DevComment="Granted by cooldown effects, one per ability (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Damage.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Damage",DevComment="Damage.Type.* and Damage.Source.* (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Data.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Data",DevComment="SetByCaller keys: Data.Damage, Data.Heal, Data.Impulse (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Domain.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Domain",DevComment="Forge, Wood, Enchant: what gates the work, never the worker (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Event.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Event",DevComment="Gameplay events between animation and abilities: Event.Montage.* (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Fault.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Fault",DevComment="Activity faults (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the GameplayCue.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="GameplayCue",DevComment="Presentation only: hit impacts, hit stop, outlines (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Immune.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Immune",DevComment="The counters a body carries: Immune.Status.*, Immune.Damage.* (Stats.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Input.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Input",DevComment="Input actions bound by tag: Input.Move, Input.Jump, Input.Sprint, Input.Interact ... (Movement.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Interact.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Interact",DevComment="Interact.Reason.* (why a verb is unavailable), Interact.Verb.* (Interaction.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Item.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Item",DevComment="Item.Family.*, Item.Part.*, Item.PieceType.*, Item.Substance.*, Item.Enchant.*, Item.Weapon.* (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Mark.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Mark",DevComment="Activity marks (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Piece.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Piece",DevComment="Piece.Layer.*: Characteristic, Substance, Enchantment (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the State.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="State",DevComment="What a body IS: Downed, Dead, Invulnerable, Sprinting, Carrying (Architecture.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Station.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Station",DevComment="Station.State.*, Station.Type.* (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Status.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Status",DevComment="An outside influence on a body: Status.Buff.*, Status.Debuff.* (Stats.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Substance.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Substance",DevComment="Substance.Class.*, Substance.Rarity.*, Substance.State.* (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Surface.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Surface",DevComment="On physical materials, applied by the ground trace: Mud, Ice, Hot (Stats.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Theme.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Theme",DevComment="Synergy vocabulary shared by characteristics and enchantments (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the UI.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="UI",DevComment="Theme roles (UI.md)")
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fdee63c4a4dc23076dda04b32eb8505bcd41fb791e574a264026c43e700bf923
size 308880
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c9daa694dda4639b106a29401712b03376344b301b6161955a92ba64ea60ae6d
size 308516
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dda4f9d6a4c8fc3bf79458d4d2f490965ff01401256e90fdf98a938a58c61986
size 314751
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bf3a411d465002756eb1a19cdb2bef63b75a57a9fab7ce121ee71941e010d2cc
size 277478
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:712a25024fe931bd518fff6c935b82bc0ee2070a77caef63edd0d6fc7ff66508
size 283231
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7968e7e1bc3d8e33c3f0d8479e6753d011ced0e05a831eb7f10e28ceb536b9a4
size 302339
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a4f2fca2458488be2d05cb2188bd641293d06bdcc4e598feee59ba1b23156c24
size 8824
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d7113f1799219db01d8394c2984d5afd2957de07d66cfa463c9c33822e11d89
size 2056489
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2898b38d8ef305d1d2e285f519be72cde7e2b0106bb85657fda47e35dc27b15d
size 170203
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5c5855b58743d51bf1abe11b470749f50ae6074fac734da446d1c4a9b076650
size 173260
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f93aacabf40a36d906896e5c5998e4a63445749efa25c973092b9ae82ef1477f
size 365135
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dc8a45c6259a8a51808ff3de4688302a65ce4988a05a5b0f70fbced01001ea6b
size 255387
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6f80eb946a12e3056a53d67b8134f5e9bd028eb66333a8a665c13d6cf14d1ee
size 255329
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:caba32a2584600031bca7cec76875e50eb80e4c1d6fea3e249f2532388d4f221
size 432796
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ed2295bbfbbe7800395b2fc2023e082f6c9b2b7127dd6ceb5c7ec055486c39b
size 309345
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d80c0c9bb0a8fae52095506f7f83c42bdd11b4d62ebfe57b1d9c7f40e8a9478a
size 309527
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d8fcf3a8b6e581f4d06bc4fe2b307e1dcdcc7432cc114173c201a0115cad2c9
size 310960
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:017f902b0a80b4fff2115c5c39f640b7622ad562a0ec137d25aae61d511d0b53
size 354844
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b01836fa36515fcb523644e82f2f130289a69a14314b6b939d5a580b3c5950e
size 255338
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e9935321b5ee3fe9445cfa2a6c9f0d0391d888fbb9db71b1eaf76b3bc5345d6d
size 268356
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58c1e69b2690611740c465f92e3763fd9747b9a6e75fe6a7629b16c5fcc37e7a
size 144542
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:766a02544f06604946d8c47c47c6bb877e14208904306188bc1f5b174fd7715b
size 2068319
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:64b3c6dc7357f8a1b380057ef76e1cbb984d69e7d0732eaefd70befe2be7b67f
size 250601
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f5a1ed2c1b72a9bb27b417cb0d5315440af2b22b7b846254fbce50e2fbb3d17
size 360966
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ebd8467dbb3de5ba0e1b2eac0092352e270b37e616bc443872341cde2f5c22d8
size 186765
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2eabacc1911be6c5b0dff7cf8a5c29c0506a25ffa6f3e7fa5946e76f992e38ee
size 10119
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a821a774302ce5121efff744620da09587752290e35e4413b8e40db8ad9c0391
size 479562
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:704dd7e116a755b086a8d685321f23e332bba6cb77dd6ae95542d38c462feb9b
size 545138
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fff084ed3ca270a8d926f810f078a69347507851744cf399f3142c97e36e2fa6
size 450957
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26a82255db90c0dc4e8c01d52a55f73b5f5a532ef161812faf63be65869f3504
size 451022
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ac6171e3b841b09fff67dc4162b0c70f99f3107f549a20a213d5e05405dc69e
size 474209
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bdd682c2a45cf6a73a34df6499f8bb4ccf8b68a42b8888c47b8532bfecb200d1
size 374604
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9b42e230d6fdf9f4f836592507c3f8a17dfd76d7b054b78b633a11722f94100
size 374748
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc5f5b9f355e755023d1aa153070a073156f6d902b08e7cf78463f5e0bc8f629
size 580040
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e72f68c9a306ec44f7bc4f37e3533f2918ee19d99a1d8e60986036f2a4405d68
size 498997
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3cfb9e380d881fa8561df0515f4ff24d96af4d3e1430df829c7ede641a12b1d
size 10402
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9521c1941980dc784cedb3df736d7c1edf56afaa0201f28b41c5ae9923e88bbb
size 94995
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09b2c98aa7778b6a970b0d90882555cf920c03d761f1e50bb3feaf0e3c9a6fef
size 94882
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:60969c39ff3c1bd1e30e7c728a9dbe49c236857659b1ae8d20ae7605d8152324
size 95154
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ecb41ae9339d797408a7b9c0270dc1f917b680a21f1c189ac0e3890f41185e0b
size 252342
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5caf5938c73d131c9254c1af09cb7fd4335516c9a406be77c17ad5e1f2cdebe
size 247961
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ae8728f698434dd1e63978d5d92c5984d086d7ee39ce618598122b6fa87dc820
size 224756
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dcb6c068d81d5be1d84c88895805eb29c2f3f345668a10884836f00759b0647b
size 238345
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3949df1228e6c14047477538424f9440216915a0637da33cf6c7298400128073
size 281622
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0ed26de9c333968631cc040e82aebac289a2fd655a1f348a3b09ce3b40f1ef5
size 318893
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cca3c893d68d8270a9eec9eb7572f7ed6bfcfdf6ce6345dc8b2860d6135dbe00
size 225043
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3acb6956f9eb6512e386b575c4c3e390f7d0280b037ca52e0eef813fb1f729d6
size 234402
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0fd489f5c8d4d63e84f8a25c2db46c3ae54eae828212b2a32622726e593b5d3c
size 582054
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c3939c4aa298e6be0834256ef6f642cff0465a40d676ec7e464aaf504b44f729
size 458365
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:907cb106c1c466aac0b38753b7551af73a09c082a652c82c43df5418eb33b089
size 458272
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:287d39883a65ccf6f89d91c7ca13b23184f04ae6eb5cc3867dd7ef7cfb35ec1c
size 516328
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4103ea6388d484e8f71cd30b955c3c954750d922a0c030bf3d902bdb3e02c13d
size 384314
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ca8d8ec88d086d4cb6027a2eefdde258142587bca40e98dee021abe9c8824f8
size 384322
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4feaf1bd5b370e28f5dce611b28d955bbf84bbeb72b7e22972a0e143022621a7
size 296415
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3c5cae5448dbb8c4e3bda5406202a8e55b08247695082270e1fef3dbdd6e533
size 420984
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39acbd6bcfc5ec2795ee2497bb353fbe954766bda545c3318c3cd6ee5f1ee008
size 228355
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce74e83b9b88fa3722951c1c6b2cc36ae7159b8141f5347e5b47d760cee41c42
size 179028
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d17c0a4fe1d9bb970b3208909e1c35b7183568c7968a0d6d0de391cca216b472
size 645680
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d663743ac0fd361303751c55688a34053fbed145aaa88a004abd7b02533d5e5
size 294517
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:925f27182be45054a1bbb5d458cb53d38773b356dd61e18b82fa9a72880dc8e7
size 146783
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c2da3d291df2070e1aaa62a45e445a7979948489b9e811e0d17f94b3e627d14e
size 441727
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cfa32b19207a25546bb5bc2dde8454dc633cc27c3de45747e941756e23da5d4d
size 1700234
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:131e01f0a31f999e7fd09ef190b314314c851f39101412161dabdb00d2dda801
size 249623
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:136b19498b8bac4119dde48236d22127e8463c0becff775069e0b6399b7939d6
size 416648
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c5b983bd6c09431c83866f772ccf13871ad9626426c86cc08a0c87c150555f7
size 184600
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac1e17d2acb7e3cea6e4c9ca967400dc3052d5ec6514e155b33d8e4701e80784
size 547351

Some files were not shown because too many files have changed in this diff Show More