(function(){ var STORE_KEY='fpf:vim-keys'; function readEnabled(){try{var v=localStorage.getItem(STORE_KEY);return v===null?true:v==='1';}catch(e){return true;}} function writeEnabled(on){try{localStorage.setItem(STORE_KEY,on?'1':'0');}catch(e){}} var enabled=readEnabled(); function isEditable(el){if(!el)return false;var t=el.tagName;if(t==='INPUT'||t==='TEXTAREA'||t==='SELECT')return true;if(el.isContentEditable)return true;return false;} function focusSearch(){var btn=document.querySelector('.rp-search-button');if(btn){btn.click();requestAnimationFrame(function(){var input=document.querySelector('[role="dialog"] input, .rp-search-input, input[placeholder*="earch"]');if(input)input.focus();});}} function clickNav(direction){var sel=direction==='prev'?'.rp-prev-next-page__prev':'.rp-prev-next-page__next';var link=document.querySelector(sel);if(link){link.click();return true;}return false;} var HELP_ID='fpf-keyhelp'; function hideHelp(){var el=document.getElementById(HELP_ID);if(el)el.remove();} function renderToggle(){return '';} function showHelp(){if(document.getElementById(HELP_ID)){hideHelp();return;}var el=document.createElement('div');el.id=HELP_ID;el.setAttribute('role','dialog');el.setAttribute('aria-modal','true');el.setAttribute('aria-label','Keyboard shortcuts');el.style.cssText='position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:99999;display:grid;place-items:center;font:14px/1.45 system-ui,-apple-system,sans-serif;';var rows=[['h','previous page'],['l','next page'],['j','scroll down'],['k','scroll up'],['g g','jump to top'],['G','jump to bottom'],['/','focus search'],['?','toggle this help'],['Esc','close']];var rowsHtml='';rows.forEach(function(r){rowsHtml+=''+r[0]+''+r[1]+'';});var html='

Keyboard shortcuts

'+renderToggle()+'
'+rowsHtml+'

Bindings ignore typing in inputs. Press ? again or Esc to close. The toggle persists across sessions.

';el.innerHTML=html;el.addEventListener('click',function(e){if(e.target===el)hideHelp();});var btn=el.querySelector('#fpf-keyhelp-toggle');if(btn)btn.addEventListener('click',function(){enabled=!enabled;writeEnabled(enabled);btn.setAttribute('aria-pressed',enabled?'true':'false');btn.textContent=enabled?'Enabled':'Disabled';btn.style.background=enabled?'var(--rp-c-brand,#2466ff)':'var(--rp-c-bg-soft,#f4f4f4)';btn.style.color=enabled?'#fff':'var(--rp-c-text-1,#111)';});document.body.appendChild(el);} var lastG=0; document.addEventListener('keydown',function(e){ if(e.metaKey||e.ctrlKey||e.altKey)return; if(e.key==='Escape'){hideHelp();return;} if(isEditable(document.activeElement))return; var k=e.key; // ? always opens the help overlay so users can re-enable navigation when // it's off. Every other navigation key is gated by the toggle. if(k==='?'){e.preventDefault();showHelp();return;} if(!enabled)return; if(k==='g'&&!e.shiftKey){var now=Date.now();if(now-lastG<500){lastG=0;e.preventDefault();window.scrollTo({top:0,behavior:'smooth'});}else{lastG=now;}return;} lastG=0; if(k==='G'){e.preventDefault();window.scrollTo({top:document.documentElement.scrollHeight,behavior:'smooth'});return;} if(k==='h'){if(clickNav('prev'))e.preventDefault();return;} if(k==='l'){if(clickNav('next'))e.preventDefault();return;} if(k==='j'){e.preventDefault();window.scrollBy({top:80,behavior:'auto'});return;} if(k==='k'){e.preventDefault();window.scrollBy({top:-80,behavior:'auto'});return;} if(k==='/'){e.preventDefault();focusSearch();return;} }); })(); FPF Reference - FPF Reference

FPF Reference

Projection of the latest published FPF — 247 generated pattern pages across the published parts.

Start here · Connect MCP · Open the catalog · Routes

Published 2026-05-09 · upstream fbe6e291 · source c0301013.

Part A - Kernel Architecture Cluster

Part B - Trans-disciplinary Reasoning Cluster

Part C - Kernel Extension Specifications

Part D - Multi-scale Ethics & Conflict-Optimisation

Part E - The FPF Constitution and Authoring Guides

Part F - The Unification Suite (U-Suite): Concept-Sets, SenseCells & Contextual Role Assignment

Part G - Discipline SoTA Patterns Kit

Part H - Glossary & Definitional Pattern Index

Part I - Annexes & Extended Tutorials

Part J - Indexes & Navigation Aids

Part K - Lexical Debt