81 lines
2.9 KiB
PowerShell
81 lines
2.9 KiB
PowerShell
$base = "g:\.vibe\SciFiSS\SciFiAmbientDisplay_v3co.html"
|
|
$dest = "g:\.vibe\SciFiSS\SciFi-XZBT"
|
|
$lines = [System.IO.File]::ReadAllLines($base)
|
|
|
|
# 1. CSS: lines 19 to 2335 (0-based)
|
|
[System.IO.File]::WriteAllLines("$dest\css\style.css", $lines[19..2335])
|
|
|
|
# 2. HTML: Head (0..18), link css, Body (2338..2676), script tags, Tail (13628..13629)
|
|
$html = [System.Collections.Generic.List[string]]::new()
|
|
for ($i = 0; $i -le 17; $i++) { $html.Add($lines[$i]) }
|
|
$html.Add(' <link rel="stylesheet" href="css/style.css">')
|
|
$html.Add('</head>')
|
|
for ($i = 2338; $i -le 2676; $i++) { $html.Add($lines[$i]) }
|
|
|
|
$scripts = @(
|
|
'js/audio.js',
|
|
'js/config.js',
|
|
'js/visualizer.js',
|
|
'js/observation-bezels.js',
|
|
'js/observation-engine.js',
|
|
'js/app.js'
|
|
)
|
|
foreach ($s in $scripts) {
|
|
$html.Add(" <script src=`"$s`"></script>")
|
|
}
|
|
$html.Add($lines[13628])
|
|
$html.Add($lines[13629])
|
|
[System.IO.File]::WriteAllLines("$dest\index.html", $html)
|
|
|
|
# 3. js/audio.js: 2683 to 4940
|
|
[System.IO.File]::WriteAllLines("$dest\js\audio.js", $lines[2683..4940])
|
|
|
|
# 4. js/config.js: 4941 to 5979
|
|
[System.IO.File]::WriteAllLines("$dest\js\config.js", $lines[4941..5979])
|
|
|
|
# 5. js/visualizer.js: 5980 to 6622
|
|
[System.IO.File]::WriteAllLines("$dest\js\visualizer.js", $lines[5980..6622])
|
|
|
|
# 6. Viewport bezels extracted into js/observation-bezels.js
|
|
# In lines 9397..9661: getViewportFrameSvg
|
|
$bezels = [System.Collections.Generic.List[string]]::new()
|
|
$bezels.Add('/**')
|
|
$bezels.Add(' * Procedural SVG Viewport Frames & Bezels for Observation Mode')
|
|
$bezels.Add(' */')
|
|
$bezels.Add('window.ObservationBezels = {')
|
|
$bezels.Add(' getViewportFrameSvg(universeId, presetId, engine) {')
|
|
for ($i = 9398; $i -le 9660; $i++) {
|
|
$l = $lines[$i]
|
|
# replace "this.showPillars" with "(engine ? engine.showPillars : false)"
|
|
$l = $l -replace 'this\.showPillars', '(engine ? engine.showPillars : false)'
|
|
$bezels.Add(' ' + $l)
|
|
}
|
|
$bezels.Add(' }')
|
|
$bezels.Add('};')
|
|
[System.IO.File]::WriteAllLines("$dest\js\observation-bezels.js", $bezels)
|
|
|
|
# 7. js/observation-engine.js: 6623 to 9396, delegate getViewportFrameSvg, then lines 9662..9664
|
|
$obs = [System.Collections.Generic.List[string]]::new()
|
|
for ($i = 6623; $i -le 9396; $i++) {
|
|
$obs.Add($lines[$i])
|
|
}
|
|
$obs.Add(' getViewportFrameSvg(universeId, presetId) {')
|
|
$obs.Add(' if (window.ObservationBezels && typeof window.ObservationBezels.getViewportFrameSvg === "function") {')
|
|
$obs.Add(' return window.ObservationBezels.getViewportFrameSvg(universeId, presetId, this);')
|
|
$obs.Add(' }')
|
|
$obs.Add(' return "";')
|
|
$obs.Add(' }')
|
|
for ($i = 9662; $i -le 9664; $i++) {
|
|
$obs.Add($lines[$i])
|
|
}
|
|
[System.IO.File]::WriteAllLines("$dest\js\observation-engine.js", $obs)
|
|
|
|
# 8. js/app.js: 9666 to 13626
|
|
$app = [System.Collections.Generic.List[string]]::new()
|
|
for ($i = 9666; $i -le 13626; $i++) {
|
|
$app.Add($lines[$i])
|
|
}
|
|
[System.IO.File]::WriteAllLines("$dest\js\app.js", $app)
|
|
|
|
Write-Output "Extraction complete!"
|