diff --git a/THIRD-PARTY-NOTICES.txt b/THIRD-PARTY-NOTICES.txt index 288d1670..fecd7fe9 100644 --- a/THIRD-PARTY-NOTICES.txt +++ b/THIRD-PARTY-NOTICES.txt @@ -1,7 +1,7 @@ THIRD-PARTY SOFTWARE NOTICES ============================================================================ -punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. +Punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. The binaries it ships statically/dynamically link the third-party Rust crates listed below. Each is distributed under its own permissive license; the full license texts follow the manifest. This file is generated by scripts/gen-third-party-notices.py diff --git a/about.hbs b/about.hbs index 2a69a049..598d07ed 100644 --- a/about.hbs +++ b/about.hbs @@ -1,7 +1,7 @@ THIRD-PARTY SOFTWARE NOTICES ============================================================================ -punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. +Punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. The binaries it ships statically/dynamically link the third-party Rust crates below. Each is distributed under its own permissive license; full texts follow. Generated by `cargo about generate about.hbs` (see about.toml) — do not edit by hand. diff --git a/clients/android/app/src/main/assets/THIRD-PARTY-NOTICES.txt b/clients/android/app/src/main/assets/THIRD-PARTY-NOTICES.txt index 288d1670..fecd7fe9 100644 --- a/clients/android/app/src/main/assets/THIRD-PARTY-NOTICES.txt +++ b/clients/android/app/src/main/assets/THIRD-PARTY-NOTICES.txt @@ -1,7 +1,7 @@ THIRD-PARTY SOFTWARE NOTICES ============================================================================ -punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. +Punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. The binaries it ships statically/dynamically link the third-party Rust crates listed below. Each is distributed under its own permissive license; the full license texts follow the manifest. This file is generated by scripts/gen-third-party-notices.py diff --git a/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectDialogs.kt b/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectDialogs.kt index 209b1d6e..35785456 100644 --- a/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectDialogs.kt +++ b/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectDialogs.kt @@ -168,9 +168,9 @@ internal fun LocalNetworkDialog(onAllow: () -> Unit, onSettings: () -> Unit, onD title = { Text("Allow local network access") }, text = { Text( - "Android blocks punktfunk from talking to devices on your network, so it can't " + + "Android blocks Punktfunk from talking to devices on your network, so it can't " + "find or reach any host until you allow it. If no prompt appears when you tap " + - "Allow, enable “Nearby devices” for punktfunk in system settings.", + "Allow, enable “Nearby devices” for Punktfunk in system settings.", ) }, confirmButton = { diff --git a/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectScreen.kt b/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectScreen.kt index 69dae7d1..bafadedb 100644 --- a/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectScreen.kt +++ b/clients/android/app/src/main/kotlin/io/unom/punktfunk/ConnectScreen.kt @@ -941,7 +941,7 @@ fun ConnectScreen( color = MaterialTheme.colorScheme.onErrorContainer, ) Text( - "Android blocks punktfunk from finding or reaching hosts until you allow it.", + "Android blocks Punktfunk from finding or reaching hosts until you allow it.", style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onErrorContainer, textAlign = TextAlign.Center, diff --git a/clients/android/app/src/main/kotlin/io/unom/punktfunk/ControllersScreen.kt b/clients/android/app/src/main/kotlin/io/unom/punktfunk/ControllersScreen.kt index 6c56bee5..c95a6e79 100644 --- a/clients/android/app/src/main/kotlin/io/unom/punktfunk/ControllersScreen.kt +++ b/clients/android/app/src/main/kotlin/io/unom/punktfunk/ControllersScreen.kt @@ -191,7 +191,7 @@ fun ControllersScreen(gamepadSetting: Int, onBack: () -> Unit) { dsUsb?.let { DsRow(it) } if (pads.isEmpty() && !sc2Present) { Text( - "No controller detected. punktfunk can only forward devices Android " + + "No controller detected. Punktfunk can only forward devices Android " + "classifies as a gamepad or joystick — a pad connected through an adapter " + "or hub may show up under \"Other input devices\" below with the adapter's " + "identity, or not at all.", diff --git a/clients/android/app/src/main/kotlin/io/unom/punktfunk/GamepadDialogs.kt b/clients/android/app/src/main/kotlin/io/unom/punktfunk/GamepadDialogs.kt index ecfdf1c6..4a2911e7 100644 --- a/clients/android/app/src/main/kotlin/io/unom/punktfunk/GamepadDialogs.kt +++ b/clients/android/app/src/main/kotlin/io/unom/punktfunk/GamepadDialogs.kt @@ -463,11 +463,11 @@ fun GamepadLocalNetworkDialog(onAllow: () -> Unit, onSettings: () -> Unit, onDis ), ) { DialogText( - "Android blocks punktfunk from talking to devices on your network, so it can't find " + + "Android blocks Punktfunk from talking to devices on your network, so it can't find " + "or reach any host until you allow it.", ) DialogText( - "If no prompt appears after Allow, enable “Nearby devices” for punktfunk in " + + "If no prompt appears after Allow, enable “Nearby devices” for Punktfunk in " + "system settings.", ) } diff --git a/clients/apple/Sources/PunktfunkClient/Home/HomeView.swift b/clients/apple/Sources/PunktfunkClient/Home/HomeView.swift index c0936b1e..917db98f 100644 --- a/clients/apple/Sources/PunktfunkClient/Home/HomeView.swift +++ b/clients/apple/Sources/PunktfunkClient/Home/HomeView.swift @@ -344,7 +344,7 @@ struct HomeView: View { ContentUnavailableView { Label("No Hosts", systemImage: "rectangle.connected.to.line.below") } description: { - Text("Add your punktfunk host with the + button, or scan the network again.") + Text("Add your Punktfunk host with the + button, or scan the network again.") } actions: { Button("Add Host") { showAddHost = true } .glassProminentButtonStyle() diff --git a/clients/apple/Sources/PunktfunkKit/Connection/HostDiscovery.swift b/clients/apple/Sources/PunktfunkKit/Connection/HostDiscovery.swift index 316f2c8d..d6df9346 100644 --- a/clients/apple/Sources/PunktfunkKit/Connection/HostDiscovery.swift +++ b/clients/apple/Sources/PunktfunkKit/Connection/HostDiscovery.swift @@ -453,7 +453,7 @@ public final class HostDiscovery: ObservableObject { private static func instanceName(_ endpoint: NWEndpoint) -> String { if case let .service(name, _, _, _) = endpoint { return name } - return "punktfunk host" + return "Punktfunk host" } private static func entry(_ txt: NWTXTRecord, _ field: String) -> String? { diff --git a/clients/apple/Sources/PunktfunkKit/Resources/THIRD-PARTY-NOTICES.txt b/clients/apple/Sources/PunktfunkKit/Resources/THIRD-PARTY-NOTICES.txt index 288d1670..fecd7fe9 100644 --- a/clients/apple/Sources/PunktfunkKit/Resources/THIRD-PARTY-NOTICES.txt +++ b/clients/apple/Sources/PunktfunkKit/Resources/THIRD-PARTY-NOTICES.txt @@ -1,7 +1,7 @@ THIRD-PARTY SOFTWARE NOTICES ============================================================================ -punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. +Punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0. The binaries it ships statically/dynamically link the third-party Rust crates listed below. Each is distributed under its own permissive license; the full license texts follow the manifest. This file is generated by scripts/gen-third-party-notices.py diff --git a/clients/windows/src/main.rs b/clients/windows/src/main.rs index a8624466..110719b0 100644 --- a/clients/windows/src/main.rs +++ b/clients/windows/src/main.rs @@ -244,7 +244,7 @@ fn run_headless_cli(args: &[String], identity: (String, String)) { #[cfg(windows)] fn discover_and_print() { use std::time::{Duration, Instant}; - println!("Browsing the LAN for punktfunk hosts (~5 s)…"); + println!("Browsing the LAN for Punktfunk hosts (~5 s)…"); let (rx, _rescan) = discovery::browse(); let deadline = Instant::now() + Duration::from_secs(5); let mut seen = std::collections::HashSet::new(); diff --git a/crates/pf-inject/src/inject/linux/kwin_fake_input.rs b/crates/pf-inject/src/inject/linux/kwin_fake_input.rs index 0231b68f..2d577692 100644 --- a/crates/pf-inject/src/inject/linux/kwin_fake_input.rs +++ b/crates/pf-inject/src/inject/linux/kwin_fake_input.rs @@ -271,7 +271,7 @@ impl KwinFakeInjector { )?; // Authenticate (the legacy handshake; for an interface-authorized client KWin accepts it // without a dialog — same as krdpserver/krfb headless). - fake.authenticate("punktfunk".into(), "remote streaming input".into()); + fake.authenticate("Punktfunk".into(), "remote streaming input".into()); queue .roundtrip(&mut state) .context("fake_input authenticate roundtrip")?; diff --git a/docs-site/package.json b/docs-site/package.json index a3352690..1950e5c7 100644 --- a/docs-site/package.json +++ b/docs-site/package.json @@ -2,7 +2,7 @@ "name": "punktfunk-docs", "private": true, "type": "module", - "description": "punktfunk documentation site — Fumadocs on TanStack Start (Vite + Nitro/bun)", + "description": "Punktfunk documentation site — Fumadocs on TanStack Start (Vite + Nitro/bun)", "scripts": { "dev": "vite dev --port 3001", "build": "vite build", diff --git a/docs-site/src/components/BrandMark.tsx b/docs-site/src/components/BrandMark.tsx index bee28917..3b41e719 100644 --- a/docs-site/src/components/BrandMark.tsx +++ b/docs-site/src/components/BrandMark.tsx @@ -1,17 +1,17 @@ -// punktfunk brand mark: two overlapping circles forming a lens — the violet +// Punktfunk brand mark: two overlapping circles forming a lens — the violet // brand identity. Copied verbatim from the marketing site (flattened from the // clients/apple punktfunk_Logo.icon). Back-to-front: large light-violet circle, // deep-violet circle, light highlight where they overlap. export default function BrandMark({ className }: { className?: string }) { return ( - punktfunk + Punktfunk - punktfunk + Punktfunk diff --git a/docs-site/src/lib/cms.ts b/docs-site/src/lib/cms.ts index c37ebcd9..a47031eb 100644 --- a/docs-site/src/lib/cms.ts +++ b/docs-site/src/lib/cms.ts @@ -1,4 +1,4 @@ -// The docs reuse the punktfunk footer from the shared unom CMS (cms.unom.io). +// The docs reuse the Punktfunk footer from the shared unom CMS (cms.unom.io). // The footer shape comes from @unom/app-ui/footer so the docs and the marketing // site share one type. The CMS is multi-tenant: footer is a per-tenant // collection, so scope the read to this project's tenant. Read-only GET, so a diff --git a/docs-site/src/lib/layout.shared.tsx b/docs-site/src/lib/layout.shared.tsx index b5e95650..298233cd 100644 --- a/docs-site/src/lib/layout.shared.tsx +++ b/docs-site/src/lib/layout.shared.tsx @@ -3,7 +3,7 @@ import BrandMark from '@/components/BrandMark' import Wordmark from '@/components/Wordmark' // Shared chrome (nav title, links) for both the docs layout and the home layout. -// The lens mark + wordmark mirror the punktfunk marketing site's header. +// The lens mark + wordmark mirror the Punktfunk marketing site's header. export function baseOptions(): BaseLayoutProps { return { nav: { diff --git a/docs-site/src/routes/__root.tsx b/docs-site/src/routes/__root.tsx index 2d20289d..763a3e32 100644 --- a/docs-site/src/routes/__root.tsx +++ b/docs-site/src/routes/__root.tsx @@ -30,7 +30,7 @@ export const Route = createRootRoute({ { charSet: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { name: 'color-scheme', content: 'dark light' }, - { title: 'punktfunk docs' }, + { title: 'Punktfunk Docs' }, ], links: [ { rel: 'stylesheet', href: appCss }, diff --git a/docs-site/src/routes/api/index.tsx b/docs-site/src/routes/api/index.tsx index 8e215c39..01ed4c32 100644 --- a/docs-site/src/routes/api/index.tsx +++ b/docs-site/src/routes/api/index.tsx @@ -13,18 +13,18 @@ export const Route = createFileRoute('/api/')({ component: ApiReference, head: () => ({ meta: [ - { title: 'punktfunk — Management API reference' }, + { title: 'Punktfunk — Management API Reference' }, { name: 'description', content: - 'Interactive reference for the punktfunk host management REST API (OpenAPI).', + 'Interactive reference for the Punktfunk host management REST API (OpenAPI).', }, ], links: [{ rel: 'stylesheet', href: scalarCss }], }), }) -// The full punktfunk theme rolled out onto Scalar — the same dark-violet (and +// The full Punktfunk theme rolled out onto Scalar — the same dark-violet (and // light-lavender) product chrome as the docs/management console. // // IMPORTANT: Scalar toggles `.light-mode` / `.dark-mode` on `document.body`, @@ -191,7 +191,7 @@ function ApiReference() { url: '/openapi.json', darkMode: isDark, hideDarkModeToggle: true, - metaData: { title: 'punktfunk Management API' }, + metaData: { title: 'Punktfunk Management API' }, hideDownloadButton: false, customCss: SCALAR_CSS, }), @@ -200,13 +200,13 @@ function ApiReference() { return (
- {/* Slim branded bar so the reference stays inside the punktfunk identity + {/* Slim branded bar so the reference stays inside the Punktfunk identity and links back into the docs. */}
diff --git a/docs-site/src/styles/app.css b/docs-site/src/styles/app.css index ce3c96a2..aff2b6d3 100644 --- a/docs-site/src/styles/app.css +++ b/docs-site/src/styles/app.css @@ -4,12 +4,12 @@ /* Pull Fumadocs UI's own classes — and @unom/ui's compiled components — into the Tailwind 4 scan so their utilities aren't purged. @unom/ui is the shared - design-token system the punktfunk marketing site also builds on. */ + design-token system the Punktfunk marketing site also builds on. */ @source '../../node_modules/fumadocs-ui/dist/**/*.js'; @source '../../node_modules/@unom/ui/dist/**/*.{js,mjs}'; @source '../../node_modules/@unom/app-ui/dist/**/*.{js,mjs}'; -/* ── punktfunk brand ──────────────────────────────────────────────────────── +/* ── Punktfunk brand ──────────────────────────────────────────────────────── The brand colour is the violet lens mark. (The marketing site's blue is just a page background, not the brand.) These values feed both @unom/ui's semantic token contract (--brand/--primary/--accent/--highlight) and the Fumadocs @@ -61,7 +61,7 @@ } @theme { - /* Geist — the punktfunk brand typeface, same as the marketing site + /* Geist — the Punktfunk brand typeface, same as the marketing site (the @fontsource-variable/geist face is loaded in __root.tsx). */ --font-sans: 'Geist Variable', ui-sans-serif, system-ui, sans-serif; --font-display: 'Geist Variable', ui-sans-serif, system-ui, sans-serif; diff --git a/packaging/windows/README.md b/packaging/windows/README.md index 3e0b8bec..0a250ffb 100644 --- a/packaging/windows/README.md +++ b/packaging/windows/README.md @@ -224,7 +224,7 @@ path below is the maintainer's test box — substitute your own `punktfunk-probe # Recover a WEDGED driver. Symptom: every session fails with # create virtual output: pf-vdisplay ADD ...: DeviceIoControl(0x222400): Element nicht gefunden (0x80070490) # i.e. ERROR_NOT_FOUND — sustained ADD/REMOVE churn exhausted the IddCx monitor slots (ghost -# "Generic Monitor (punktfunk)" nodes pile up, target_ids climb). A host restart's CLEAR_ALL does NOT +# "Generic Monitor (Punktfunk)" nodes pile up, target_ids climb). A host restart's CLEAR_ALL does NOT # fix it; the driver instance must be reloaded. This clears the ghosts + cycles the adapter (no reboot — # this box boots to Proxmox). powershell -ExecutionPolicy Bypass -File reset-pf-vdisplay.ps1 -Verify -Probe C:\t-goal1\debug\punktfunk-probe.exe diff --git a/plugin-kit/src/cli.ts b/plugin-kit/src/cli.ts index 2535a5e6..cb0dabab 100644 --- a/plugin-kit/src/cli.ts +++ b/plugin-kit/src/cli.ts @@ -83,7 +83,7 @@ export const runPluginCli = async (opts: { } catch (e) { const hint = e instanceof HostRequestError - ? " (is the punktfunk host running?)" + ? " (is the Punktfunk host running?)" : ""; console.error(`${opts.def.name}: ${name} failed: ${e}${hint}`); process.exitCode = 1; diff --git a/scripts/gen-third-party-notices.py b/scripts/gen-third-party-notices.py index 4f09e6f3..f072e70a 100755 --- a/scripts/gen-third-party-notices.py +++ b/scripts/gen-third-party-notices.py @@ -137,7 +137,7 @@ def main(): w("THIRD-PARTY SOFTWARE NOTICES") w("=" * 76) w("") - w("punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0.") + w("Punktfunk (https://git.unom.io/unom/punktfunk) is licensed under MIT OR Apache-2.0.") w("The binaries it ships statically/dynamically link the third-party Rust crates listed") w("below. Each is distributed under its own permissive license; the full license texts") w("follow the manifest. This file is generated by scripts/gen-third-party-notices.py") diff --git a/web/src/components/brand-mark.tsx b/web/src/components/brand-mark.tsx index ca61e421..88593bfb 100644 --- a/web/src/components/brand-mark.tsx +++ b/web/src/components/brand-mark.tsx @@ -1,4 +1,4 @@ -// punktfunk brand mark: two overlapping circles forming a lens — the violet +// Punktfunk brand mark: two overlapping circles forming a lens — the violet // brand identity (flattened from the clients/apple punktfunk_Logo.icon, shared // verbatim with the marketing site + docs). Back-to-front: large light-violet // circle, deep-violet circle, light highlight where they overlap. diff --git a/web/src/components/logo.tsx b/web/src/components/logo.tsx index 41b51588..35265755 100644 --- a/web/src/components/logo.tsx +++ b/web/src/components/logo.tsx @@ -2,7 +2,7 @@ import { cn } from "@/lib/utils"; import { BrandMark } from "./brand-mark"; import { Wordmark } from "./wordmark"; -// Full punktfunk lockup: the lens mark anchored to the top-left corner of the +// Full Punktfunk lockup: the lens mark anchored to the top-left corner of the // "funk" wordmark. Size the lockup with a width on the wrapper (e.g. `w-40`); // the mark scales as a fraction of that width. export function Logo({ className }: { className?: string }) { diff --git a/web/src/components/ui/spinner.tsx b/web/src/components/ui/spinner.tsx index 01ce8a56..71ba6c07 100644 --- a/web/src/components/ui/spinner.tsx +++ b/web/src/components/ui/spinner.tsx @@ -3,7 +3,7 @@ import { useEffect, useRef } from "react"; import { cn } from "@/lib/utils"; import { m } from "@/paraglide/messages"; -// The punktfunk lens, alive. The two overlapping circles of the brand mark are +// The Punktfunk lens, alive. The two overlapping circles of the brand mark are // recreated from divs and animated as if orbiting on a path whose long axis points // INTO the screen, so depth is the dominant motion: each circle surges toward and // away from the viewer in antiphase, passing in front of and behind the other. diff --git a/web/src/components/wordmark.tsx b/web/src/components/wordmark.tsx index acc8a20d..bfad03a6 100644 --- a/web/src/components/wordmark.tsx +++ b/web/src/components/wordmark.tsx @@ -1,6 +1,6 @@ import { cn } from "@/lib/utils"; -// The punktfunk "funk" wordmark — the real brand typo, vectorised from the +// The Punktfunk "funk" wordmark — the real brand typo, vectorised from the // marketing logo. currentColor so it recolours per surface; defaults to the // light-violet lens highlight that reads on the dark console chrome. Size via // height (e.g. `h-5`); width follows the viewBox. diff --git a/web/src/stories/Store.stories.tsx b/web/src/stories/Store.stories.tsx index 9d544580..366dc408 100644 --- a/web/src/stories/Store.stories.tsx +++ b/web/src/stories/Store.stories.tsx @@ -73,7 +73,7 @@ export const Incompatible: Story = { ...BASE, compatible: false, incompatible_reason: - "needs punktfunk host ≥ 0.16.0 (this host is 0.15.0)", + "needs Punktfunk host ≥ 0.16.0 (this host is 0.15.0)", }, }, }; diff --git a/web/src/styles.css b/web/src/styles.css index 7a8cd5fe..71c25538 100644 --- a/web/src/styles.css +++ b/web/src/styles.css @@ -9,7 +9,7 @@ Tailwind 4 scan so their utilities aren't purged. */ @source "../node_modules/@unom/ui/dist/**/*.{js,mjs}"; -/* ── punktfunk brand · violet product chrome ──────────────────────────────── +/* ── Punktfunk brand · violet product chrome ──────────────────────────────── Two themes on one violet identity: LIGHT (lavender docs surface — the same palette the design/Scalar reference uses: white bg, faint-violet cards/borders, #6c5bf3 brand) is the :root default; DARK (the violet-tinted app-icon chrome @@ -27,7 +27,7 @@ :root { --radius: 0.625rem; - /* Brand — the violet lens mark (from the punktfunk app icon). Theme-independent. */ + /* Brand — the violet lens mark (from the Punktfunk app icon). Theme-independent. */ --pf-brand: #6c5bf3; /* deep violet — primary on light */ --pf-brand-light: #a79ff8; /* light violet — primary on dark */ --pf-highlight: #d2c9fb; /* lens highlight */ diff --git a/web/src/timing-functions.css b/web/src/timing-functions.css index a323d438..4ad371fc 100644 --- a/web/src/timing-functions.css +++ b/web/src/timing-functions.css @@ -1,4 +1,4 @@ -/* Penner easing tokens — shared with the punktfunk marketing site + @unom/ui. +/* Penner easing tokens — shared with the Punktfunk marketing site + @unom/ui. @unom/ui's accordion/collapsible/material animations resolve these by name. */ @theme { --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);