diff --git a/site/id/index.html b/site/id/index.html index 5721fba..a740120 100644 --- a/site/id/index.html +++ b/site/id/index.html @@ -138,7 +138,7 @@

Suara lebih berisi, jernih, dan berdimensi—tanpa rangkaian plug-in yang rumit.

ArSonKuPik membantu kreator membentuk body, fokus vokal, kedalaman stereo, dan polished air melalui satu Mas Ari Signature engine, enam kontrol intuitif, serta preset profesional yang praktis.

Musikal, tidak rumit13 preset profesionalVST3 + StandaloneProcessing lokal
-
Unduh gratis untuk WindowsJelajahi Mas Ari Signature
+
Unduh gratis untuk WindowsUnduh gratis untuk MacJelajahi Mas Ari Signature
v0.5.26Windows 10/11 x64 · macOS 11+ UniversalVST3 + StandalonePekerjaan audio personal & komersial

Tanpa akun atau kartu · Tanpa langganan · Tanpa tagihan otomatis · Aktivasi hanya bersifat opsional

@@ -209,12 +209,15 @@

Suara lebih berisi, jernih, dan berdimensi—tanpa rangkaian plug-in yang ru
Mengapa Windows atau macOS dapat menampilkan peringatan keamanan?

Paket Windows belum ditandatangani secara komersial dan paket macOS belum dinotarization. Unduh hanya dari rilis resmi, verifikasi SHA-256, dan biarkan proteksi normal sistem operasi aktif.

-
-
Bukti, metode, dan transparansi

Pelajari cara produk diuji dan dinilai.

Halaman ini memisahkan klaim produk, metode pengukuran, prosedur A/B, dan konteks pengembang agar pengguna dapat menilai ArSonKuPik secara lebih objektif.

+
Workflow, bukti, dan transparansi

Mulai dari kebutuhan audio, lalu verifikasi hasilnya.

Pilih workflow yang sesuai tujuan Anda, kemudian gunakan sumber pengukuran, A/B, dan konteks proyek untuk menilai ArSonKuPik secara lebih objektif.

+ Stereo enhancer VST3Width, depth, fokus centre, dan translasi mono. + Vocal enhancer VST3Clarity, presence, air, dan batas enhancement praktis. + Mix bus enhancerBody, separation, cohesion, dan penilaian level-matched. + Mastering audio enhancerFinishing polish, headroom, metering, dan batas delivery. Metode pengukuranLevel, peak safety, sample rate, dan batas interpretasi. Perbandingan audioCara melakukan A/B yang tidak bias loudness. Audio WindowsWorkflow YouTube dan Spotify melalui VB-CABLE. @@ -231,9 +234,9 @@

Suara lebih berisi, jernih, dan berdimensi—tanpa rangkaian plug-in yang ru - + - + \ No newline at end of file diff --git a/site/index.html b/site/index.html index 8a80467..4221bf8 100644 --- a/site/index.html +++ b/site/index.html @@ -150,7 +150,7 @@

Fuller, clearer and more dimensional sound—without a complex plug-in chain.

ArSonKuPik helps creators shape body, vocal focus, stereo depth and polished air through one Mas Ari Signature engine, six intuitive controls and practical professional presets.

Musical, not complicated13 professional presetsVST3 + StandaloneLocal processing
- +
v0.5.26Windows 10/11 x64 · macOS 11+ UniversalVST3 + StandalonePersonal & commercial audio work

No account or card · No subscription · No automatic charge · Optional activation only

@@ -221,12 +221,15 @@

Fuller, clearer and more dimensional sound—without a complex plug-in chain
Why can Windows or macOS show a security warning?

Windows packages are unsigned and macOS packages are not notarized. Download only from the official release, verify SHA-256 and keep normal operating-system security enabled.

-
-
Evidence, method and transparency

See how the product is tested and judged.

These resources separate product claims, measurement method, listening comparison and developer context so ArSonKuPik can be evaluated more objectively.

+
Workflows, evidence and transparency

Explore the audio problem, then verify the result.

Start with the workflow that matches your goal, then use the measurement, A/B and project resources to judge ArSonKuPik more objectively.

+ Stereo enhancer VST3Width, depth, centre focus and mono translation. + Vocal enhancer VST3Clarity, presence, air and practical enhancement limits. + Mix bus enhancerBody, separation, cohesion and level-matched judgement. + Mastering audio enhancerFinishing polish, headroom, metering and delivery boundaries. Measurement methodLevel, peak safety, sample rate and interpretation limits. Audio comparisonsHow to run an A/B test without loudness bias. Windows system audioYouTube and Spotify routing through VB-CABLE. @@ -243,9 +246,9 @@

Fuller, clearer and more dimensional sound—without a complex plug-in chain - + - + \ No newline at end of file diff --git a/site/site-v6.js b/site/site-v6.js index 8b17ddc..cfc9c6e 100644 --- a/site/site-v6.js +++ b/site/site-v6.js @@ -23,26 +23,6 @@ }); } - // Keep both primary platform CTAs visible immediately. The Mac CTA uses a - // safe #download fallback first; the idle release runtime upgrades it to the - // exact reviewed DMG URL from release.json when that manifest is available. - const ensureHeroMacCta = () => { - if (document.getElementById('mac-dmg-link-hero')) return; - const actions = document.querySelector('.landing-hero .hero-copy .actions'); - if (!actions) return; - - const link = document.createElement('a'); - link.id = 'mac-dmg-link-hero'; - link.className = 'button secondary hero-mac-download'; - link.href = '#download'; - link.innerHTML = `${isIndonesian ? 'Unduh gratis untuk Mac' : 'Download free for Mac'}`; - - const explore = actions.querySelector('a[href^="#"]'); - actions.insertBefore(link, explore || null); - }; - - ensureHeroMacCta(); - const source = currentScript?.src || new URL(`${root.dataset.siteBase || '.'}/site-v6.js`, location.href).href; @@ -56,9 +36,9 @@ document.head.appendChild(core); }; - // Release enrichment is useful but not required for the first paint. The - // reviewed static HTML already routes users to the official GitHub Release, - // so let LCP/rendering finish before parsing the larger enhancement runtime. + // Platform CTAs and their safe fallbacks are already present in static HTML. + // Release enrichment is useful but not required for first paint, so let + // rendering finish before loading the larger manifest/runtime layer. if ('requestIdleCallback' in window) { window.requestIdleCallback(loadCore, { timeout: 1400 }); } else { diff --git a/tools/validate-p0-release-boundary.py b/tools/validate-p0-release-boundary.py index 62fff0d..a0d2945 100644 --- a/tools/validate-p0-release-boundary.py +++ b/tools/validate-p0-release-boundary.py @@ -247,20 +247,49 @@ def validate_platform_cta_contract() -> None: 'id="installer-link-bottom"' in landing_id and "Unduh gratis untuk Windows" in landing_id, "Indonesian Windows hero CTA is missing.", ) - require("ensureHeroMacCta" in loader, "Mac hero CTA bootstrap is missing from the lightweight loader.") - require("mac-dmg-link-hero" in loader, "Mac hero CTA stable id is missing from the lightweight loader.") - require("Download free for Mac" in loader, "English Mac hero CTA label is missing.") - require("Unduh gratis untuk Mac" in loader, "Indonesian Mac hero CTA label is missing.") - require("link.hidden" not in loader, "Mac hero CTA must not be hidden by the bootstrap loader.") + + require( + 'id="mac-dmg-link-hero"' in landing_en + and 'href="#download"' in landing_en + and "Download free for Mac" in landing_en, + "English Mac hero CTA must exist in static HTML with a safe fallback.", + ) + require( + 'id="mac-dmg-link-hero"' in landing_id + and 'href="#download"' in landing_id + and "Unduh gratis untuk Mac" in landing_id, + "Indonesian Mac hero CTA must exist in static HTML with a safe fallback.", + ) + require( + "ensureHeroMacCta" not in loader and "mac-dmg-link-hero" not in loader, + "Mac hero CTA must not depend on runtime DOM creation.", + ) + require( "document.getElementById('mac-dmg-link-hero')" in core and "setLink(heroMac, state.macDmgUrl, true)" in core, - "Release runtime does not upgrade the Mac hero CTA to the reviewed DMG URL.", + "Release runtime does not upgrade the static Mac hero CTA to the reviewed DMG URL.", ) require("heroMac.href = '#download'" in core, "Mac hero CTA has no resilient download-section fallback.") require(".button.secondary.hero-mac-download" in css, "Mac hero CTA visual treatment is missing.") require('"macos-universal"' in manifest and '"macDmgUrl"' in manifest, "macOS release manifest contract is missing.") + mobile_en = section(landing_en, '
\n