configdeploy

This commit is contained in:
2025-12-20 23:11:29 -07:00
parent 99fb327dcc
commit 9f2fff92d5
6 changed files with 445 additions and 2 deletions

68
.config/GetStructDir.ps1 Normal file
View File

@@ -0,0 +1,68 @@
# Simple helper script to get structDir from project config.json
# Reads config.json from .config folder in project root
param(
[string]$ProjectRoot
)
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
if ([string]::IsNullOrWhiteSpace($ProjectRoot)) {
# Try to determine project root from script location
if ($PSScriptRoot) {
$ProjectRoot = Split-Path -Parent $PSScriptRoot
}
elseif ($MyInvocation.MyCommand.Path) {
$ProjectRoot = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path)
}
else {
Write-Error "Unable to determine project root. Please provide -ProjectRoot parameter."
exit 1
}
}
$configPath = Join-Path -Path $ProjectRoot -ChildPath '.config\config.json'
if (-not (Test-Path -LiteralPath $configPath -PathType Leaf)) {
Write-Error "config.json not found at: $configPath"
exit 1
}
try {
$config = Get-Content -LiteralPath $configPath -Raw -ErrorAction Stop | ConvertFrom-Json
if ($config.PSObject.Properties.Name -contains 'structDir') {
$structDir = $config.structDir
if ($null -ne $structDir -and ($structDir -isnot [string] -or $structDir.Trim().Length -gt 0)) {
# If it's an absolute path, resolve it
if ([System.IO.Path]::IsPathRooted($structDir)) {
$resolved = Resolve-Path -LiteralPath $structDir -ErrorAction SilentlyContinue
if ($null -ne $resolved) {
Write-Output $resolved.Path
exit 0
}
Write-Output $structDir
exit 0
}
# Relative path - resolve relative to config location
$candidate = Join-Path -Path (Split-Path -Parent $configPath) -ChildPath $structDir
$resolvedCandidate = Resolve-Path -LiteralPath $candidate -ErrorAction SilentlyContinue
if ($null -ne $resolvedCandidate) {
Write-Output $resolvedCandidate.Path
exit 0
}
Write-Output $candidate
exit 0
}
}
# Default: return the directory containing config.json (project root)
Write-Output $ProjectRoot
exit 0
}
catch {
Write-Error "Failed to read or parse config.json: $($_.Exception.Message)"
exit 1
}

7
.config/config.json Normal file
View File

@@ -0,0 +1,7 @@
{
"dailyFormat": "YYYY-MM-DD",
"structDir": "R:\\Creative\\artsy\\maya\\0 ProjectStructure",
"zipper": "7z",
"compression": 0,
"Max7zInst": 0
}

112
.gitattributes vendored Normal file
View File

@@ -0,0 +1,112 @@
# Git LFS attributes configuration
# All listed file types will be tracked by Git LFS
# Video files
*.avi filter=lfs diff=lfs merge=lfs -text
*.mkv filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.MOV filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.webm filter=lfs diff=lfs merge=lfs -text
# Image files
*.bmp filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.tiff filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
# 3D/CG files
*.3ds filter=lfs diff=lfs merge=lfs -text
*.abc filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.blend1 filter=lfs diff=lfs merge=lfs -text
*.blend2 filter=lfs diff=lfs merge=lfs -text
*.bvh filter=lfs diff=lfs merge=lfs -text
*.bvh.gz filter=lfs diff=lfs merge=lfs -text
*.c4d filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.fbxkey filter=lfs diff=lfs merge=lfs -text
*.ma filter=lfs diff=lfs merge=lfs -text
*.max filter=lfs diff=lfs merge=lfs -text
*.mb filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.usd filter=lfs diff=lfs merge=lfs -text
*.usdz filter=lfs diff=lfs merge=lfs -text
*.vdb filter=lfs diff=lfs merge=lfs -text
*.bphys filter=lfs diff=lfs merge=lfs -text
*.bobj filter=lfs diff=lfs merge=lfs -text
*.bvel filter=lfs diff=lfs merge=lfs -text
*.bpointcache filter=lfs diff=lfs merge=lfs -text
*.blob filter=lfs diff=lfs merge=lfs -text
*.unitypackage filter=lfs diff=lfs merge=lfs -text
# Houdini files
*.hiplc filter=lfs diff=lfs merge=lfs -text
*.bgeo filter=lfs diff=lfs merge=lfs -text
*.bgeo.sc filter=lfs diff=lfs merge=lfs -text
# Flip Fluids cache files
*.data filter=lfs diff=lfs merge=lfs -text
*.sqlite3 filter=lfs diff=lfs merge=lfs -text
*.ffp3 filter=lfs diff=lfs merge=lfs -text
# Substance files
*.sbs filter=lfs diff=lfs merge=lfs -text
*.sbsar filter=lfs diff=lfs merge=lfs -text
*.spp filter=lfs diff=lfs merge=lfs -text
# Audio files
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
# Archive/Compression files
*.7z filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
# Documents
*.docx filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.eps filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
# Adobe files
*.aegraphic filter=lfs diff=lfs merge=lfs -text
*.aep filter=lfs diff=lfs merge=lfs -text
*.prel filter=lfs diff=lfs merge=lfs -text
*.prin filter=lfs diff=lfs merge=lfs -text
*.prmf filter=lfs diff=lfs merge=lfs -text
*.prproj filter=lfs diff=lfs merge=lfs -text
*.ai filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
# Davinci Resolve files
*.dpx filter=lfs diff=lfs merge=lfs -text
*.drp filter=lfs diff=lfs merge=lfs -text
# Data files
*.h5 filter=lfs diff=lfs merge=lfs -text
*.hdf5 filter=lfs diff=lfs merge=lfs -text
# Other
*.uni filter=lfs diff=lfs merge=lfs -text
*.pdn filter=lfs diff=lfs merge=lfs -text
*.pur filter=lfs diff=lfs merge=lfs -text
# Python files
*.npz filter=lfs diff=lfs merge=lfs -text
# Adobe Alternatives
*.xcf filter=lfs diff=lfs merge=lfs -text
*.af filter=lfs diff=lfs merge=lfs -text

126
.gitignore vendored Normal file
View File

@@ -0,0 +1,126 @@
# Blender Studio Git Management - .gitignore
# Blender auto-save files
*.blend1
*.blend2
*.blend3
*.blend4
*.blend5
*.blend6
*.blend7
*.blend8
*.blend9
*.blend10
*.blend11
*.blend12
*.blend13
*.blend14
*.blend15
*.blend16
*.blend17
*.blend18
*.blend19
*.blend20
*.blend21
*.blend22
*.blend23
*.blend24
*.blend25
*.blend26
*.blend27
*.blend28
*.blend29
*.blend30
*.blend31
*.blend32
# Blender cache and temporary files
*.swp
*.swo
*~
*.tmp
*.temp
# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini
# Editor files
.vscode/
.idea/
*.swp
*.swo
*~
# Large media files (uncomment if you want to exclude rendered outputs)
# *.mp4
# *.avi
# *.mov
# *.png
# *.jpg
# *.jpeg
# *.exr
# *.hdr
# *.tiff
# *.tga
# Audio files (uncomment if excluding)
# *.wav
# *.mp3
# *.aac
# *.ogg
# Log files
*.log
# Python cache
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
# Node modules (if using any web tools)
node_modules/
# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Backup files
*.bak
*.backup
*.old
# Temporary files
temp/
tmp/
cache/
Renders/**
!Renders/_zipped/
!Renders/_zipped/**
!Renders/**/
!Renders/**/*.bat
!Renders/**/*.log
seq/
# Premiere
*.prlock
Adobe Premiere Pro Video Previews/
Adobe Premiere Pro Audio Previews/
Adobe Premiere Pro (Beta) Video Previews/
Adobe Premiere Pro (Beta) Audio Previews/
footage/
plates/
Pr/RnR/

128
.specstory/.gitignore vendored
View File

@@ -1,4 +1,128 @@
# SpecStory project identity file
/.project.json
# Blender Studio Git Management - .gitignore
# Blender auto-save files
*.blend1
*.blend2
*.blend3
*.blend4
*.blend5
*.blend6
*.blend7
*.blend8
*.blend9
*.blend10
*.blend11
*.blend12
*.blend13
*.blend14
*.blend15
*.blend16
*.blend17
*.blend18
*.blend19
*.blend20
*.blend21
*.blend22
*.blend23
*.blend24
*.blend25
*.blend26
*.blend27
*.blend28
*.blend29
*.blend30
*.blend31
*.blend32
# Blender cache and temporary files
*.swp
*.swo
*~
*.tmp
*.temp
# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini
# Editor files
.vscode/
.idea/
*.swp
*.swo
*~
# Large media files (uncomment if you want to exclude rendered outputs)
# *.mp4
# *.avi
# *.mov
# *.png
# *.jpg
# *.jpeg
# *.exr
# *.hdr
# *.tiff
# *.tga
# Audio files (uncomment if excluding)
# *.wav
# *.mp3
# *.aac
# *.ogg
# Log files
*.log
# Python cache
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
# Node modules (if using any web tools)
node_modules/
# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Backup files
*.bak
*.backup
*.old
# Temporary files
temp/
tmp/
cache/
Renders/**
!Renders/_zipped/
!Renders/_zipped/**
!Renders/**/
!Renders/**/*.bat
!Renders/**/*.log
seq/
# Premiere
*.prlock
Adobe Premiere Pro Video Previews/
Adobe Premiere Pro Audio Previews/
Adobe Premiere Pro (Beta) Video Previews/
Adobe Premiere Pro (Beta) Audio Previews/
footage/
plates/
Pr/RnR/
# SpecStory explanation file
/.what-is-this.md

6
.specstory/.project.json Normal file
View File

@@ -0,0 +1,6 @@
{
"workspace_id": "8537-6a11-5cf1-ddb7",
"workspace_id_at": "2025-12-21T06:08:25.117Z",
"project_name": "Assets_OBS",
"cloud_sync": false
}