configdeploy
This commit is contained in:
68
.config/GetStructDir.ps1
Normal file
68
.config/GetStructDir.ps1
Normal 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
7
.config/config.json
Normal 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
112
.gitattributes
vendored
Normal 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
126
.gitignore
vendored
Normal 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
128
.specstory/.gitignore
vendored
@@ -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
6
.specstory/.project.json
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user