Docs-audit fixes across the 3.4 pages
Five-lens audit against the code:
- Wheel: RPM-LED telemetry reads the SCS plugin, not OutGauge. Add the OutGauge
games (BeamNG.drive, Live for Speed). Thrustmaster friction renders as damper
(same 0x07 as inertia). Drop the "only" framing on the periodic generator.
- Remote Link: gamepad-only is off by default (the pair-dialog checkbox starts
unchecked), not "unknown peers start limited". Secure identity is DPAPI machine
scope, not "this Windows account".
- Home: lightbar count thirteen -> fifteen. Macro fire modes four -> five. Remote
Link nav framed as many PCs.
- Lighting: "thirteen base modes" -> "thirteen base entries" (Off plus twelve),
consistent with the fifteen-mode intro.
- Controller Audio: tab scope is per pad per slot.
- Wheel Force Feedback dev page: ReEvaluate -> TickFfb (no ReEvaluate exists).
"8-byte logical report" -> vendor-shaped command (Thrustmaster pads to 64/32).
Lighting: lead tagline harmonized to fifteen modes (matches README)
The page tagline said 'thirteen modes plus a per-press overlay,'
counting the dropdown entries (twelve modes + Off) as the headline
total and undercounting the three Input Reactive overlay variants as
a single 'overlay.' README and padforge.org now say fifteen modes
(twelve active base + three overlay), which is the meaningful
user-selectable count. Aligned the lead to that framing.
The 'Thirteen entries' line in the dropdown section stays as-is -
that one is correct as dropdown cardinality (12 modes + Off) and
explains the picker's actual content.
Wiki: drop stale 'Last updated for PadForge 3.2.0' footers (22 pages)
Every page on the wiki carried a '*Last updated for PadForge X.Y.Z.*'
italicized footer hard-coded to 3.2.0. With 3.3.0 shipped, those
footers become a lie on every page that wasn't actually re-audited
for the new version — bumping them to 3.3.0 wholesale would just
swap one lie for another since most pages haven't been touched
since 3.2.0.
Removing the footer entirely: git history of each page is the
honest source of truth for currency. Wiki contributors who need
to know whether a section reflects the latest behavior can read
the page's commit log; no in-page label needed.
Lighting: DS4 supports all 13 lightbar modes, not just 10
The DS4 section enumerated only 10 modes (Static, Breathing,
Rainbow, Color Cycle, 3 Audio Pulse, 3 Audio Bands). Off works
trivially, Battery uses the same Ds4EffectSynthesizer battery
gradient path (the synth's RGB resolution method takes
batteryPercent on both DS4 and DS5), and Strobe is a generic
square-wave any RGB lightbar supports. List all 13 to match the
DualSense feature set and the v3.2 release-note claim
('two new modes for DualSense and DualShock 4').
Wiki: replace 'per (slot, device)' tuple notation with plain English
memory rule feedback_no_tuple_notation_in_prose.md flags 'per (slot,
device)' as AI-jargon math notation. Five wiki pages had it. Replaced
with 'per pad per slot' so prose reads like prose, not like a Python
dict-key lookup.
Pass 7/25: rebuild Related-pages sections on Adaptive-Triggers, 3D-and-2D-Visualization, Lighting
The earlier Related-pages normalization script collapsed lines like '- [[Force Feedback]] and [[Trigger Deadzones]]: tuning the body rumble and trigger floor' into '- [[Force Feedback]]: [[Trigger Deadzones]].' because it treated the first colon as the description separator. Each affected line now has a real description and links break out into separate bullets when they describe distinct pages.
Pass 2/25: italic hook consistency, Related pages normalization, em-dash sweep
- Italicized hook line on 12 user-facing pages that had plain hooks (Stick-Deadzones, Trigger-Deadzones, Force-Feedback, Adaptive-Triggers, Lighting, Devices, DSU-Motion-Server, Web-Controller, Settings, Driver-Management, Input-Precision, 3D-and-2D-Visualization) and Troubleshooting.
- Normalized Related-pages bullet formatting across 16 user-facing pages to one convention: '- [[Page]]: lowercase description.'
- Home.md: cut filler 'long list of smaller wins' from the 3.2 intro paragraph; replaced em-dash pseudo-colon with a period; converted em-dash pseudo-colon in Gyro motion bindings bullet.
- Controller-Slots.md: Open-a-slot tab list now reflects 3.2 reality (Gyro tab, Adaptive Triggers and Lighting on PS slots, Impulse Triggers on Xbox + PS). Related pages expanded to link the new pages.
- Devices.md and Impulse-Triggers.md: em-dash pseudo-colons converted to periods.
Pass 1/25: wiki link audit + empty-header table cleanup + 2026 Steam Controller mention
- All 29 reversed [[Display|Target]] gollum links fixed
- 1 broken anchor on Virtual-Controllers link to HIDMaestro Deep Dive resolved against actual heading slug
- Lighting.md image path corrected (lighting.png -> pad-lighting.png)
- 10 empty-header 2-col "| | |" label tables rewritten as prose paragraphs across Controller-Slots, Installation, Devices, Dashboard, Settings, Web-Controller
- Home.md "New in 3.2" now lists 2026 Steam Controller support via the bundled SDL3 fork
Wiki rewrite: simple-English voice across all user-facing pages
Rewrites 18 user-facing pages and adds hooks to 7 dev-deep-dive pages.
Each user-facing page now opens with H1 then a one-sentence hook,
strips banned vocabulary, replaces em-dash pseudo-colons with periods,
and ends with a version marker.
User-facing rewrites
- Installation, Dashboard, Controller-Slots, Button-and-Axis-Mappings
- Stick-Deadzones, Trigger-Deadzones, Force-Feedback, Adaptive-Triggers, Lighting
- Macros, Profiles, Devices, DSU-Motion-Server, Web-Controller
- Settings, Driver-Management, Input-Precision, Troubleshooting
- 3D-and-2D-Visualization
New 3.2 content woven into Force-Feedback (Impulse Triggers, Audio Bass
Trigger Rumble, Constant Trigger Force) using actual in-app labels from
Strings.resx. Profiles documents the new Toggle Virtual Controllers
Disabled shortcut mode. Settings notes the stable-across-language-switch
fix. DSU Motion Server covers the Gyro Aim Engage picker subtitle.
Dev-deep-dive hooks added
- Input-Pipeline, Settings-and-Serialization, ViewModels, XAML-Views, Engine-Library
v3.1.1: per-device Lighting / FFB, Input Reactive overlay, macro lightbar actions
Wiki: note Lighting tab reset buttons + Web Controller Touchpad layout
v3.1.0: Adaptive Triggers + Lighting pages, refreshed screenshots
New pages:
- Adaptive-Triggers.md — seven trigger effect modes for slots with a
DualSense assigned (Off, Feedback, Weapon, Vibration, Multi-Position
Feedback, Slope, Multi-Position Vibration), the live effect-profile
preview shape per mode, parameter semantics, and the wire-format
crosswalk to the firmware's 0x01 / 0x02 / 0x06 / 0x21 / 0x26 trigger
opcodes.
- Lighting.md — thirteen lightbar modes for slots with a DS4 / DualSense
/ DualSense Edge assigned (Static, Breathing, Rainbow, palette-based
Color Cycle, three Audio Pulse variants, three Audio Bands variants,
two Input Reactive variants), audio sensitivity / thresholds /
crossfade width, palette controls, pulse decay slider, and the
Indicator LEDs card.
Home.md — added a v3.1.0 callout summarizing the AT and Lighting tabs,
the theme-aware icons, and the localization sweep across nine
languages. Added new Tuning rows for [[Adaptive Triggers]] and
[[Lighting]].
Trigger-Deadzones.md — Related Pages now links to [[Adaptive Triggers]]
since they share the same physical triggers.
capture.ps1 / convert-screenshots.ps1 — capture pipeline learns the new
Adaptive Triggers and Lighting tabs (PlayStation slot only) and the
PNG → JPG converter maps them into adaptive-triggers.jpg /
lighting.jpg for both PadForge/screenshots and padforge.org/assets.
images/ — refreshed all 16 screenshots from a v3.1.0 build with a
DualSense assigned to a virtual slot so the AT/Lighting tabs are
visible. Theme-aware icon changes are now reflected on the sticks /
triggers / extended-schematic captures.