import type { MachineRegistryItem } from '@/types/catalogue'; export const machineRegistry = [ { id: 'engine-four-stroke-petrol', slug: 'four-stroke-petrol-engine', title: 'Four Stroke Petrol Engine', subtitle: 'Spark-ignition piston engine cycle', shortDescription: 'Intake, compression, combustion, and exhaust strokes visualised through the piston, valves, crankshaft, and camshaft.', description: 'The four stroke petrol engine is the reference architecture for modern spark-ignition powertrains. It converts reciprocating piston motion into crankshaft rotation while coordinating poppet valves with a camshaft so each cylinder breathes, compresses, burns, and exhausts in a clean repeating cycle.', category: 'Engines', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-06', complexity: 3, estimatedPartCount: 64, tags: ['Otto cycle', 'Valvetrain', 'Crankshaft'], keywords: ['gasoline', 'petrol', 'otto', 'piston', 'spark plug', 'camshaft'], thumbnail: { variant: 'inline-engine', accent: '#4C8DFF', secondary: '#FFB04C' }, facts: [ { label: 'Cycle', value: '720° crank rotation', tone: 'accent' }, { label: 'Typical RPM', value: '800–6500' }, { label: 'Ignition', value: 'Spark plug' }, { label: 'Thermal efficiency', value: '25–36%' } ], parts: [ { id: 'piston', name: 'Piston', description: 'Seals the cylinder and transfers combustion force into the connecting rod during the power stroke.', material: 'Aluminium alloy' }, { id: 'crankshaft', name: 'Crankshaft', description: 'Converts reciprocating piston travel into continuous rotary output for the flywheel and drivetrain.', material: 'Forged steel' }, { id: 'camshaft', name: 'Camshaft', description: 'Uses shaped lobes to open intake and exhaust valves at precise crank-angle events.', material: 'Chilled iron or steel' }, { id: 'intake-valve', name: 'Intake valve', description: 'Opens during the intake stroke so the descending piston can draw an air-fuel mixture into the cylinder.' }, { id: 'exhaust-valve', name: 'Exhaust valve', description: 'Opens near the end of combustion to release spent gases into the exhaust port.' }, { id: 'spark-plug', name: 'Spark plug', description: 'Initiates combustion by arcing across the plug gap shortly before top dead centre.' } ], applications: ['Passenger cars', 'Motorcycles', 'Portable generators'], learningObjectives: [ 'Identify the four strokes and their valve states.', 'Relate piston position to crankshaft angle.', 'Understand camshaft-to-crankshaft timing.' ], relatedSlugs: ['diesel-engine', 'two-stroke-engine', 'v8-engine', 'slider-crank'] }, { id: 'engine-two-stroke', slug: 'two-stroke-engine', title: 'Two Stroke Engine', subtitle: 'Port-timed power cycle', shortDescription: 'A simplified piston engine where intake, transfer, compression, combustion, and exhaust events overlap every revolution.', description: 'Two stroke engines complete a power cycle in one crankshaft revolution by using ports in the cylinder wall rather than a conventional valvetrain. Their high power-to-weight ratio makes them useful in compact machinery, but scavenging losses and lubrication requirements demand careful design.', category: 'Engines', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-07', complexity: 3, estimatedPartCount: 42, tags: ['Scavenging', 'Ports', 'High power density'], keywords: ['reed valve', 'transfer port', 'expansion chamber', 'crankcase compression'], thumbnail: { variant: 'inline-engine', accent: '#60A5FA', secondary: '#34D399' }, facts: [ { label: 'Cycle', value: '360° crank rotation', tone: 'accent' }, { label: 'Power stroke', value: 'Every revolution' }, { label: 'Typical RPM', value: '2500–12000' }, { label: 'Valve gear', value: 'Port controlled' } ], parts: [ { id: 'piston-skirt', name: 'Piston skirt', description: 'Covers and uncovers cylinder ports, effectively acting as the timing element for gas exchange.' }, { id: 'transfer-port', name: 'Transfer port', description: 'Routes compressed fresh charge from the crankcase into the cylinder during scavenging.' }, { id: 'exhaust-port', name: 'Exhaust port', description: 'Opens as the piston descends after combustion, allowing high-pressure gases to escape.' }, { id: 'reed-valve', name: 'Reed valve', description: 'One-way inlet valve that admits mixture into the crankcase while preventing reverse flow.' }, { id: 'crankcase', name: 'Crankcase', description: 'Serves as a pre-compression chamber for the incoming mixture in many small two stroke designs.' } ], applications: ['Chainsaws', 'Small motorcycles', 'Marine outboards'], learningObjectives: [ 'See why one revolution can produce one power stroke.', 'Follow port timing as the piston uncovers each passage.', 'Compare scavenging trade-offs with four stroke breathing.' ], relatedSlugs: ['four-stroke-petrol-engine', 'diesel-engine', 'wankel-rotary-engine'] }, { id: 'engine-diesel', slug: 'diesel-engine', title: 'Diesel Engine', subtitle: 'Compression ignition piston engine', shortDescription: 'A high-compression reciprocating engine where injected fuel auto-ignites in hot compressed air.', description: 'Diesel engines operate without a spark plug by compressing air until it is hot enough to ignite finely atomised fuel. Their high compression ratio and lean operation produce strong low-speed torque and excellent part-load efficiency, making them central to heavy transport and stationary power.', category: 'Engines', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-08', complexity: 4, estimatedPartCount: 78, tags: ['Compression ignition', 'Injector', 'High torque'], keywords: ['common rail', 'glow plug', 'turbo diesel', 'direct injection'], thumbnail: { variant: 'inline-engine', accent: '#38BDF8', secondary: '#F97316' }, facts: [ { label: 'Compression ratio', value: '14:1–22:1', tone: 'accent' }, { label: 'Typical RPM', value: '600–4500' }, { label: 'Ignition', value: 'Auto-ignition' }, { label: 'Thermal efficiency', value: '35–46%' } ], parts: [ { id: 'fuel-injector', name: 'Fuel injector', description: 'Atomises diesel fuel directly into the combustion chamber at high pressure and precise timing.' }, { id: 'piston-bowl', name: 'Piston bowl', description: 'Shapes the air swirl and fuel spray pattern to support rapid mixing and combustion.' }, { id: 'glow-plug', name: 'Glow plug', description: 'Preheats the combustion chamber during cold starting when compression heat alone is insufficient.' }, { id: 'connecting-rod', name: 'Connecting rod', description: 'Carries the higher peak cylinder loads typical of diesel combustion to the crankshaft.' }, { id: 'turbocharger-interface', name: 'Turbocharger interface', description: 'Routes boosted intake air into the cylinder head for higher air mass and torque output.' } ], applications: ['Heavy trucks', 'Construction equipment', 'Marine propulsion'], learningObjectives: [ 'Understand compression ignition and injection timing.', 'Compare diesel and petrol combustion chambers.', 'Connect high compression ratio to torque and efficiency.' ], relatedSlugs: ['four-stroke-petrol-engine', 'turbocharger', 'piston-pump'] }, { id: 'engine-v8', slug: 'v8-engine', title: 'V8 Engine', subtitle: 'Two-bank eight-cylinder cranktrain', shortDescription: 'Two banks of four cylinders share a crankshaft, producing a compact high-output engine with distinctive firing order dynamics.', description: 'A V8 engine arranges eight cylinders in two angled banks connected to a common crankshaft. Cross-plane and flat-plane crankshaft designs trade smoothness, exhaust pulse timing, rotational inertia, and sound character, making the layout a rich study in engine balance.', category: 'Engines', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-01-09', complexity: 5, estimatedPartCount: 156, tags: ['Firing order', 'Cross-plane', 'Engine balance'], keywords: ['eight cylinder', 'bank angle', 'flat plane', 'crossplane', 'crank pins'], thumbnail: { variant: 'vee-engine', accent: '#4C8DFF', secondary: '#FFB04C' }, facts: [ { label: 'Cylinders', value: '8' }, { label: 'Common bank angle', value: '90°', tone: 'accent' }, { label: 'Typical RPM', value: '650–8000' }, { label: 'Firing interval', value: '90° crank' } ], parts: [ { id: 'left-cylinder-bank', name: 'Left cylinder bank', description: 'One row of four cylinders angled from the crankshaft centreline to shorten overall engine length.' }, { id: 'right-cylinder-bank', name: 'Right cylinder bank', description: 'Opposing row of cylinders whose firing events interleave with the left bank for even torque delivery.' }, { id: 'cross-plane-crankshaft', name: 'Cross-plane crankshaft', description: 'Crankshaft layout with crank throws spaced to improve primary balance at the cost of more counterweight mass.' }, { id: 'intake-manifold', name: 'Intake manifold', description: 'Distributes air to both banks while balancing runner length and packaging around the valley.' }, { id: 'exhaust-headers', name: 'Exhaust headers', description: 'Collect exhaust pulses from each bank; pulse pairing influences scavenging and engine note.' } ], applications: ['Performance cars', 'Pickup trucks', 'Marine engines'], learningObjectives: [ 'Trace firing order across the two banks.', 'Compare cross-plane and flat-plane balance behaviour.', 'Understand how bank angle affects packaging.' ], relatedSlugs: ['four-stroke-petrol-engine', 'turbocharger', 'disc-brake-caliper'] }, { id: 'engine-wankel-rotary', slug: 'wankel-rotary-engine', title: 'Wankel Rotary Engine', subtitle: 'Eccentric triangular rotor engine', shortDescription: 'A compact rotary combustion engine using a triangular rotor moving inside an epitrochoid housing.', description: 'The Wankel engine replaces reciprocating pistons with a three-sided rotor that orbits on an eccentric shaft. As each rotor face sweeps the epitrochoid housing it creates changing chamber volumes for intake, compression, combustion, and exhaust with very few major moving parts.', category: 'Engines', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-01-10', complexity: 5, estimatedPartCount: 58, tags: ['Epitrochoid', 'Apex seals', 'Rotary combustion'], keywords: ['mazda rotary', 'eccentric shaft', 'apex seal', 'rotor housing'], thumbnail: { variant: 'rotary', accent: '#A78BFA', secondary: '#FFB04C' }, facts: [ { label: 'Moving rotor', value: '1 per housing' }, { label: 'Output relation', value: '3:1 rotor ratio', tone: 'accent' }, { label: 'Typical RPM', value: '1000–9000' }, { label: 'Strength', value: 'Compact power' } ], parts: [ { id: 'triangular-rotor', name: 'Triangular rotor', description: 'Three-lobed rotor whose faces form combustion chambers as it orbits within the housing.' }, { id: 'epitrochoid-housing', name: 'Epitrochoid housing', description: 'Oval-like chamber profile that creates volume changes needed for the four combustion phases.' }, { id: 'apex-seal', name: 'Apex seal', description: 'Spring-loaded seal at each rotor tip that maintains separation between adjacent chambers.' }, { id: 'eccentric-shaft', name: 'Eccentric shaft', description: 'Output shaft with offset journals that convert rotor orbit into usable rotation.' }, { id: 'side-port', name: 'Side port', description: 'Intake or exhaust opening whose timing is controlled by rotor position rather than poppet valves.' } ], applications: ['Sports cars', 'Unmanned aircraft', 'Compact generators'], learningObjectives: [ 'Follow one rotor face through the four combustion phases.', 'Understand why apex sealing is critical.', 'Relate eccentric shaft rotation to rotor motion.' ], relatedSlugs: ['two-stroke-engine', 'turbocharger', 'scroll-compressor'] }, { id: 'engine-steam', slug: 'steam-engine', title: 'Steam Engine', subtitle: 'External-combustion reciprocating engine', shortDescription: 'A slide valve meters steam into a cylinder, driving a piston, connecting rod, flywheel, and governor.', description: 'The reciprocating steam engine converts pressure energy from externally generated steam into mechanical rotation. Its visible valve gear, flywheel inertia, and centrifugal governor make it a foundational mechanism for understanding industrial power transmission.', category: 'Engines', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-11', complexity: 4, estimatedPartCount: 88, tags: ['Slide valve', 'Flywheel', 'Governor'], keywords: ['external combustion', 'watt governor', 'steam chest', 'eccentric'], thumbnail: { variant: 'mechanism', accent: '#93C5FD', secondary: '#F59E0B' }, facts: [ { label: 'Working fluid', value: 'Steam' }, { label: 'Invention era', value: '18th century', tone: 'warm' }, { label: 'Governor', value: 'Centrifugal' }, { label: 'Speed range', value: '60–300 RPM' } ], parts: [ { id: 'steam-cylinder', name: 'Steam cylinder', description: 'Pressure vessel where alternating steam admission drives the piston back and forth.' }, { id: 'slide-valve', name: 'Slide valve', description: 'Reciprocating valve that alternately admits live steam and opens exhaust passages.' }, { id: 'flywheel', name: 'Flywheel', description: 'Stores rotational energy so torque delivery remains smooth through dead-centre positions.' }, { id: 'governor', name: 'Centrifugal governor', description: 'Uses rotating weights to regulate steam supply and stabilise engine speed under changing load.' }, { id: 'eccentric-strap', name: 'Eccentric strap', description: 'Converts crankshaft rotation into the reciprocating motion needed to actuate the slide valve.' } ], applications: ['Historic factories', 'Locomotives', 'Educational demonstrators'], learningObjectives: [ 'Trace steam admission and exhaust through the slide valve.', 'See how a flywheel carries the mechanism through dead centre.', 'Understand centrifugal speed regulation.' ], relatedSlugs: ['slider-crank', 'scotch-yoke', 'stirling-engine'] }, { id: 'engine-turbojet', slug: 'turbojet-engine', title: 'Jet Engine (Turbojet)', subtitle: 'Gas turbine thrust engine', shortDescription: 'Air is compressed, mixed with fuel, burned, expanded through a turbine, and accelerated through a nozzle.', description: 'A turbojet produces thrust by raising the energy of air flowing through a continuous Brayton cycle. Compressor stages increase pressure before combustion; turbine stages extract just enough work to drive the compressor, leaving high-velocity exhaust to generate thrust.', category: 'Engines', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-01-12', complexity: 5, estimatedPartCount: 132, tags: ['Brayton cycle', 'Compressor', 'Nozzle'], keywords: ['gas turbine', 'compressor stages', 'combustor', 'turbine', 'thrust'], thumbnail: { variant: 'turbine', accent: '#38BDF8', secondary: '#FB7185' }, facts: [ { label: 'Cycle', value: 'Brayton', tone: 'accent' }, { label: 'Compressor speed', value: '8000–18000 RPM' }, { label: 'Primary output', value: 'Thrust' }, { label: 'Bypass ratio', value: '≈0' } ], parts: [ { id: 'intake-diffuser', name: 'Intake diffuser', description: 'Slows incoming air and recovers pressure before it reaches the compressor face.' }, { id: 'axial-compressor', name: 'Axial compressor', description: 'Alternating rotor and stator blade rows progressively raise air pressure.' }, { id: 'combustion-chamber', name: 'Combustion chamber', description: 'Stabilises continuous fuel-air combustion while controlling turbine inlet temperature.' }, { id: 'turbine-stage', name: 'Turbine stage', description: 'Extracts energy from hot gas to power the compressor through a common shaft.' }, { id: 'propelling-nozzle', name: 'Propelling nozzle', description: 'Accelerates exhaust gas to high velocity, converting pressure and heat into jet thrust.' } ], applications: ['Early jet aircraft', 'Missiles', 'High-speed research aircraft'], learningObjectives: [ 'Follow energy transfer through the Brayton cycle.', 'Distinguish compressor and turbine blade functions.', 'Relate nozzle acceleration to thrust.' ], relatedSlugs: ['turbofan-engine', 'turbocharger', 'centrifugal-pump'] }, { id: 'engine-turbofan', slug: 'turbofan-engine', title: 'Turbofan Engine', subtitle: 'Bypass fan gas turbine', shortDescription: 'A large fan splits airflow between a bypass duct and gas-generator core to improve propulsive efficiency.', description: 'A turbofan adds a ducted fan to a gas turbine core so a large mass of air can be accelerated by a smaller velocity change. This improves propulsive efficiency and noise behaviour for transport aircraft while preserving the high power density of a turbine core.', category: 'Engines', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-01-13', complexity: 5, estimatedPartCount: 184, tags: ['Bypass duct', 'Fan', 'Core flow'], keywords: ['high bypass', 'fan spool', 'nacelle', 'gas generator', 'airliner'], thumbnail: { variant: 'turbine', accent: '#60A5FA', secondary: '#34D399' }, facts: [ { label: 'Bypass ratio', value: '5:1–12:1', tone: 'accent' }, { label: 'Fan diameter', value: '1.5–3.5 m' }, { label: 'Best use', value: 'Subsonic aircraft' }, { label: 'Noise', value: 'Lower than turbojet' } ], parts: [ { id: 'fan', name: 'Fan', description: 'Large low-pressure rotor that accelerates bypass air and feeds the engine core.' }, { id: 'bypass-duct', name: 'Bypass duct', description: 'Annular passage carrying fan air around the core to generate efficient thrust.' }, { id: 'core-compressor', name: 'Core compressor', description: 'Raises pressure of the core stream before combustion in the gas generator.' }, { id: 'low-pressure-turbine', name: 'Low-pressure turbine', description: 'Extracts energy to drive the fan and low-pressure compressor spool.' }, { id: 'nacelle', name: 'Nacelle', description: 'Aerodynamic outer housing that manages inlet flow, bypass flow, and thrust reverser integration.' } ], applications: ['Commercial airliners', 'Business jets', 'Military transports'], learningObjectives: [ 'Compare core and bypass flow paths.', 'Understand why high bypass improves propulsive efficiency.', 'Identify fan, compressor, turbine, and nozzle roles.' ], relatedSlugs: ['turbojet-engine', 'turbocharger', 'centrifugal-pump'] }, { id: 'drive-planetary-gearbox', slug: 'planetary-gearbox', title: 'Planetary Gearbox', subtitle: 'Coaxial epicyclic gear train', shortDescription: 'Sun, planet, carrier, and ring gears combine to create compact ratios with selectable input and output members.', description: 'A planetary gearbox uses planets that orbit around a central sun gear while meshing with an outer ring gear. Holding, driving, or outputting different members creates multiple speed ratios in a compact coaxial package with high torque density.', category: 'Gearboxes & Drives', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-01-14', complexity: 5, estimatedPartCount: 72, tags: ['Epicyclic', 'Torque density', 'Coaxial'], keywords: ['sun gear', 'planet carrier', 'ring gear', 'automatic transmission'], thumbnail: { variant: 'geartrain', accent: '#4C8DFF', secondary: '#FFB04C' }, facts: [ { label: 'Axes', value: 'Coaxial' }, { label: 'Common ratio', value: '3:1–10:1', tone: 'accent' }, { label: 'Load sharing', value: 'Multiple planets' }, { label: 'Use case', value: 'Automatic transmissions' } ], parts: [ { id: 'sun-gear', name: 'Sun gear', description: 'Central gear that meshes with all planet gears and often serves as input or output.' }, { id: 'planet-gears', name: 'Planet gears', description: 'Gears that rotate on their own pins while orbiting the sun, sharing torque across several meshes.' }, { id: 'planet-carrier', name: 'Planet carrier', description: 'Structural member that holds planet pins and can act as input, output, or reaction member.' }, { id: 'ring-gear', name: 'Ring gear', description: 'Internal-tooth annulus meshing with the planets from the outside of the set.' }, { id: 'clutch-pack', name: 'Clutch pack', description: 'Selectable friction element used in transmissions to hold or connect planetary members.' } ], applications: ['Automatic transmissions', 'Wind turbine drives', 'Robotics actuators'], learningObjectives: [ 'Select different fixed members and observe ratio changes.', 'Understand load sharing between planet gears.', 'Relate gear tooth counts to carrier speed.' ], relatedSlugs: ['manual-gearbox-5-speed', 'differential-gear', 'harmonic-drive'] }, { id: 'drive-differential', slug: 'differential-gear', title: 'Differential Gear', subtitle: 'Torque split final-drive mechanism', shortDescription: 'A bevel gear carrier lets left and right wheels rotate at different speeds while receiving drive torque.', description: 'An automotive differential divides torque between two output shafts while allowing speed difference during cornering. Spider gears rotate within a carrier when the wheels need different speeds, preventing tyre scrub while maintaining drive.', category: 'Gearboxes & Drives', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-15', complexity: 4, estimatedPartCount: 54, tags: ['Torque split', 'Bevel gears', 'Cornering'], keywords: ['final drive', 'spider gear', 'side gear', 'open differential', 'axle'], thumbnail: { variant: 'geartrain', accent: '#60A5FA', secondary: '#F97316' }, facts: [ { label: 'Output shafts', value: '2' }, { label: 'Cornering', value: 'Allows speed difference', tone: 'accent' }, { label: 'Gear type', value: 'Bevel' }, { label: 'Common issue', value: 'Open diff wheel slip' } ], parts: [ { id: 'ring-gear-final-drive', name: 'Final-drive ring gear', description: 'Large gear driven by the pinion that rotates the differential carrier.' }, { id: 'carrier', name: 'Differential carrier', description: 'Rotating cage that holds spider gears and transfers torque from the ring gear.' }, { id: 'spider-gears', name: 'Spider gears', description: 'Small bevel gears that spin on the cross shaft when left and right outputs rotate at different speeds.' }, { id: 'side-gears', name: 'Side gears', description: 'Bevel gears splined to the axle shafts and driven by the spider gears.' }, { id: 'pinion', name: 'Drive pinion', description: 'Input gear that turns the final-drive ring gear, usually changing direction by 90 degrees.' } ], applications: ['Passenger cars', 'Trucks', 'Off-road vehicles'], learningObjectives: [ 'Observe spider gear motion during a simulated corner.', 'Understand equal torque and unequal speed behaviour.', 'Connect final-drive ratio to wheel torque.' ], relatedSlugs: ['bevel-gear-set', 'manual-gearbox-5-speed', 'planetary-gearbox'] }, { id: 'drive-manual-gearbox', slug: 'manual-gearbox-5-speed', title: 'Manual Gearbox (5-speed)', subtitle: 'Constant-mesh synchromesh transmission', shortDescription: 'Selector forks move dog collars through synchronisers to connect gear pairs on a layshaft and output shaft.', description: 'A five-speed manual gearbox uses constant-mesh gears and synchroniser assemblies so the driver can select discrete ratios. The layshaft carries fixed gears, while dog clutches lock chosen output gears to the shaft after speed matching.', category: 'Gearboxes & Drives', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-01-16', complexity: 5, estimatedPartCount: 118, tags: ['Synchromesh', 'Selector forks', 'Layshaft'], keywords: ['manual transmission', 'dog clutch', 'gear ratios', 'shift fork', 'countershaft'], thumbnail: { variant: 'geartrain', accent: '#38BDF8', secondary: '#F59E0B' }, facts: [ { label: 'Forward ratios', value: '5' }, { label: 'Reverse', value: 'Idler gear' }, { label: 'Gear style', value: 'Helical' }, { label: 'Shift device', value: 'Synchroniser', tone: 'accent' } ], parts: [ { id: 'input-shaft', name: 'Input shaft', description: 'Receives torque from the clutch and drives the layshaft gear cluster.' }, { id: 'layshaft', name: 'Layshaft', description: 'Countershaft carrying fixed gears that mesh continuously with output gears.' }, { id: 'synchro-hub', name: 'Synchroniser hub', description: 'Spline-mounted hub that allows a sleeve to lock the selected gear to the output shaft.' }, { id: 'selector-fork', name: 'Selector fork', description: 'Moves a synchroniser sleeve along the shaft in response to the shift linkage.' }, { id: 'reverse-idler', name: 'Reverse idler', description: 'Additional gear inserted to reverse output rotation for the reverse ratio.' } ], applications: ['Passenger vehicles', 'Club racing', 'Training cutaways'], learningObjectives: [ 'Follow torque path through each selected gear.', 'Understand synchroniser speed matching before dog engagement.', 'Identify why reverse needs an idler gear.' ], relatedSlugs: ['differential-gear', 'planetary-gearbox', 'cvt-transmission'] }, { id: 'drive-cvt', slug: 'cvt-transmission', title: 'CVT (Continuously Variable Transmission)', subtitle: 'Variable pulley belt drive', shortDescription: 'Two adjustable sheaves change effective pulley diameters to produce a continuous ratio range.', description: 'A belt-and-pulley CVT varies drive ratio without stepped gears by changing the spacing of conical sheaves. As one pulley closes and the other opens, the belt rides at different radii, keeping engine speed near an efficient operating point.', category: 'Gearboxes & Drives', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-17', complexity: 4, estimatedPartCount: 62, tags: ['Variable ratio', 'Belt drive', 'Sheaves'], keywords: ['continuously variable', 'pulley', 'belt', 'scooter transmission', 'variator'], thumbnail: { variant: 'geartrain', accent: '#22D3EE', secondary: '#A78BFA' }, facts: [ { label: 'Ratio type', value: 'Continuous', tone: 'accent' }, { label: 'Control', value: 'Hydraulic/electronic' }, { label: 'Efficiency', value: '88–93%' }, { label: 'Best use', value: 'Smooth acceleration' } ], parts: [ { id: 'primary-pulley', name: 'Primary pulley', description: 'Input sheave pair whose effective diameter changes as cone spacing varies.' }, { id: 'secondary-pulley', name: 'Secondary pulley', description: 'Output sheave pair that moves in the opposite sense to maintain belt tension and ratio.' }, { id: 'steel-belt', name: 'Steel belt', description: 'High-strength segmented belt transmitting compressive force between the pulley faces.' }, { id: 'hydraulic-actuator', name: 'Hydraulic actuator', description: 'Applies clamping force and positions sheaves according to torque demand and ratio target.' }, { id: 'ratio-controller', name: 'Ratio controller', description: 'Electronic control strategy selecting the operating ratio from speed, load, and driver demand.' } ], applications: ['Scooters', 'Hybrid vehicles', 'Compact cars'], learningObjectives: [ 'See how sheave motion changes belt pitch radius.', 'Understand why ratio changes can be continuous.', 'Relate clamp force to torque capacity.' ], relatedSlugs: ['manual-gearbox-5-speed', 'planetary-gearbox', 'torque-converter'] }, { id: 'drive-worm', slug: 'worm-gear-drive', title: 'Worm Gear Drive', subtitle: 'High-ratio screw gear transmission', shortDescription: 'A threaded worm drives a wheel at right angles, enabling high reduction ratios and potential self-locking.', description: 'A worm gear drive uses sliding contact between a screw-like worm and a toothed wheel. The geometry can produce very high reduction in a compact space and may resist back-driving when lead angle and friction conditions are favourable.', category: 'Gearboxes & Drives', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-18', complexity: 3, estimatedPartCount: 28, tags: ['Self-locking', 'Right-angle', 'High reduction'], keywords: ['worm wheel', 'lead angle', 'gear reducer', 'hoist', 'backdrive'], thumbnail: { variant: 'geartrain', accent: '#818CF8', secondary: '#FBBF24' }, facts: [ { label: 'Direction change', value: '90°' }, { label: 'Reduction', value: '10:1–80:1', tone: 'accent' }, { label: 'Contact', value: 'Sliding' }, { label: 'Backdrive', value: 'Often resists' } ], parts: [ { id: 'worm', name: 'Worm', description: 'Screw-shaped input element whose lead angle determines ratio and back-driving tendency.' }, { id: 'worm-wheel', name: 'Worm wheel', description: 'Gear with concave tooth geometry that meshes with the worm thread.' }, { id: 'thrust-bearing', name: 'Thrust bearing', description: 'Supports axial load generated by the worm’s screw action under torque.' }, { id: 'lubrication-bath', name: 'Lubrication bath', description: 'Oil reservoir needed to manage heat and wear from sliding tooth contact.' } ], applications: ['Lifts and hoists', 'Tuning machines', 'Rotary tables'], learningObjectives: [ 'Relate worm starts and wheel teeth to ratio.', 'Understand the role of lead angle in self-locking.', 'Identify why lubrication is critical.' ], relatedSlugs: ['bevel-gear-set', 'planetary-gearbox', 'toggle-clamp'] }, { id: 'drive-bevel', slug: 'bevel-gear-set', title: 'Bevel Gear Set', subtitle: 'Intersecting-shaft gear pair', shortDescription: 'Conical gears transmit rotation between intersecting shafts, commonly at right angles.', description: 'Bevel gears use tapered pitch surfaces so teeth mesh along intersecting shaft axes. Straight, spiral, and hypoid variants manage trade-offs between manufacturing simplicity, smoothness, thrust load, and packaging.', category: 'Gearboxes & Drives', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-19', complexity: 3, estimatedPartCount: 24, tags: ['Right-angle', 'Spiral bevel', 'Intersecting shafts'], keywords: ['miter gear', 'crown gear', 'spiral bevel', 'hypoid', 'pinion'], thumbnail: { variant: 'geartrain', accent: '#4C8DFF', secondary: '#34D399' }, facts: [ { label: 'Shaft angle', value: 'Usually 90°', tone: 'accent' }, { label: 'Ratio range', value: '1:1–6:1' }, { label: 'Tooth variants', value: 'Straight / spiral' }, { label: 'Load', value: 'Radial + axial' } ], parts: [ { id: 'bevel-pinion', name: 'Bevel pinion', description: 'Smaller gear that often drives the larger bevel gear while changing shaft direction.' }, { id: 'bevel-gear', name: 'Bevel gear', description: 'Conical output gear whose pitch cone apex intersects the pinion axis.' }, { id: 'spiral-teeth', name: 'Spiral teeth', description: 'Curved teeth that engage gradually for smoother and quieter operation than straight teeth.' }, { id: 'bearing-preload', name: 'Bearing preload', description: 'Controlled bearing setting that maintains mesh alignment under axial thrust.' } ], applications: ['Differentials', 'Hand drills', 'Right-angle gearboxes'], learningObjectives: [ 'Understand pitch cones and intersecting axes.', 'Compare straight and spiral bevel engagement.', 'Identify axial thrust from tooth geometry.' ], relatedSlugs: ['differential-gear', 'worm-gear-drive', 'rack-and-pinion'] }, { id: 'pump-centrifugal', slug: 'centrifugal-pump', title: 'Centrifugal Pump', subtitle: 'Rotodynamic impeller pump', shortDescription: 'A spinning impeller adds velocity to fluid, and the volute converts kinetic energy into pressure.', description: 'Centrifugal pumps are rotodynamic machines that move fluid continuously using a bladed impeller. Fluid enters near the eye, accelerates radially outward, and decelerates in a volute or diffuser to recover pressure.', category: 'Pumps & Fluid Systems', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-20', complexity: 3, estimatedPartCount: 38, tags: ['Impeller', 'Volute', 'Cavitation'], keywords: ['rotodynamic', 'pump curve', 'net positive suction head', 'npsh'], thumbnail: { variant: 'pump', accent: '#22D3EE', secondary: '#4C8DFF' }, facts: [ { label: 'Flow type', value: 'Continuous' }, { label: 'Typical speed', value: '1450–3600 RPM' }, { label: 'Head source', value: 'Velocity recovery', tone: 'accent' }, { label: 'Risk', value: 'Cavitation' } ], parts: [ { id: 'impeller', name: 'Impeller', description: 'Rotating vaned wheel that transfers mechanical energy into fluid velocity.' }, { id: 'volute', name: 'Volute', description: 'Spiral casing that collects discharge flow and converts velocity into pressure.' }, { id: 'suction-eye', name: 'Suction eye', description: 'Low-pressure inlet at the impeller centre where fluid enters axially.' }, { id: 'mechanical-seal', name: 'Mechanical seal', description: 'Seals the rotating shaft where it exits the casing to prevent leakage.' }, { id: 'wear-ring', name: 'Wear ring', description: 'Replaceable close-clearance ring that limits internal recirculation.' } ], applications: ['Water supply', 'HVAC circulation', 'Process plants'], learningObjectives: [ 'Follow fluid from suction eye to volute outlet.', 'Understand pressure recovery in the casing.', 'Recognise cavitation conditions.' ], relatedSlugs: ['gear-pump', 'piston-pump', 'turbojet-engine'] }, { id: 'pump-gear', slug: 'gear-pump', title: 'Gear Pump', subtitle: 'Positive displacement meshing gear pump', shortDescription: 'Meshing gears trap fluid at the inlet and carry it around the casing to the outlet.', description: 'A gear pump is a positive displacement pump in which gear tooth spaces transport fixed volumes of fluid. As teeth unmesh at the inlet they create suction; as they mesh at the outlet they displace fluid into the discharge line.', category: 'Pumps & Fluid Systems', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-21', complexity: 3, estimatedPartCount: 32, tags: ['Positive displacement', 'Meshing gears', 'Hydraulics'], keywords: ['external gear pump', 'oil pump', 'hydraulic pump', 'displacement'], thumbnail: { variant: 'pump', accent: '#4C8DFF', secondary: '#FFB04C' }, facts: [ { label: 'Flow type', value: 'Pulsing displacement' }, { label: 'Pressure', value: 'High' }, { label: 'Reversibility', value: 'Possible' }, { label: 'Viscosity', value: 'Good for oils', tone: 'accent' } ], parts: [ { id: 'drive-gear', name: 'Drive gear', description: 'Powered gear that meshes with the idler and carries fluid in spaces between teeth.' }, { id: 'idler-gear', name: 'Idler gear', description: 'Driven gear rotating opposite the drive gear to complete the displacement chambers.' }, { id: 'pump-casing', name: 'Pump casing', description: 'Close-fitting housing that seals gear tooth spaces and separates inlet from outlet.' }, { id: 'inlet-port', name: 'Inlet port', description: 'Region where gear teeth separate, increasing volume and drawing fluid in.' }, { id: 'outlet-port', name: 'Outlet port', description: 'Region where gear teeth mesh, reducing volume and forcing fluid out.' } ], applications: ['Engine oil pumps', 'Hydraulic power packs', 'Chemical dosing'], learningObjectives: [ 'Track trapped fluid pockets around the casing.', 'Understand why meshing teeth block direct backflow.', 'Relate displacement per revolution to flow rate.' ], relatedSlugs: ['centrifugal-pump', 'piston-pump', 'hydraulic-cylinder'] }, { id: 'pump-piston', slug: 'piston-pump', title: 'Piston Pump', subtitle: 'Reciprocating positive displacement pump', shortDescription: 'A piston alternately draws fluid through an inlet valve and pushes it through an outlet valve.', description: 'A piston pump uses reciprocating chamber volume to create suction and discharge strokes. Check valves coordinate flow direction, enabling high pressure at lower flow rates than many rotodynamic pumps.', category: 'Pumps & Fluid Systems', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-22', complexity: 4, estimatedPartCount: 48, tags: ['Reciprocating', 'Check valves', 'High pressure'], keywords: ['plunger pump', 'check valve', 'reciprocating pump', 'hydraulic'], thumbnail: { variant: 'pump', accent: '#60A5FA', secondary: '#34D399' }, facts: [ { label: 'Flow type', value: 'Positive displacement' }, { label: 'Pressure', value: 'Very high', tone: 'accent' }, { label: 'Valve type', value: 'Check valves' }, { label: 'Motion', value: 'Linear reciprocating' } ], parts: [ { id: 'pump-piston', name: 'Piston', description: 'Reciprocating element that changes chamber volume to draw in and expel fluid.' }, { id: 'inlet-check-valve', name: 'Inlet check valve', description: 'Opens on the suction stroke and closes on discharge to prevent reverse flow.' }, { id: 'outlet-check-valve', name: 'Outlet check valve', description: 'Opens on discharge when chamber pressure exceeds outlet pressure.' }, { id: 'crank-drive', name: 'Crank drive', description: 'Converts rotary input into reciprocating piston motion.' }, { id: 'pressure-chamber', name: 'Pressure chamber', description: 'Variable-volume cavity where fluid is pressurised by piston movement.' } ], applications: ['Pressure washers', 'Hydraulic test rigs', 'Metering pumps'], learningObjectives: [ 'Identify suction and discharge valve states.', 'Relate crank angle to chamber volume.', 'Compare reciprocating flow with centrifugal flow.' ], relatedSlugs: ['gear-pump', 'hydraulic-cylinder', 'slider-crank'] }, { id: 'fluid-hydraulic-cylinder', slug: 'hydraulic-cylinder', title: 'Hydraulic Cylinder', subtitle: 'Linear actuator powered by pressurised fluid', shortDescription: 'A sealed piston converts hydraulic pressure into controlled extend and retract force.', description: 'Hydraulic cylinders transform fluid pressure into high linear force. By directing pressure to either side of a piston, the rod extends or retracts while seals, guides, and ports manage leakage and side loading.', category: 'Pumps & Fluid Systems', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-23', complexity: 3, estimatedPartCount: 36, tags: ['Linear actuator', 'Pressure', 'Seals'], keywords: ['ram', 'double acting cylinder', 'hydraulic actuator', 'rod seal'], thumbnail: { variant: 'fluid', accent: '#38BDF8', secondary: '#FBBF24' }, facts: [ { label: 'Output', value: 'Linear force' }, { label: 'Pressure range', value: '70–350 bar', tone: 'accent' }, { label: 'Modes', value: 'Extend / retract' }, { label: 'Force', value: 'Pressure × area' } ], parts: [ { id: 'cylinder-barrel', name: 'Cylinder barrel', description: 'Pressure tube that guides the piston and contains hydraulic fluid.' }, { id: 'piston', name: 'Piston', description: 'Internal disc separating extend and retract chambers while transmitting force to the rod.' }, { id: 'piston-rod', name: 'Piston rod', description: 'Chrome-plated shaft that delivers actuator force outside the cylinder body.' }, { id: 'rod-seal', name: 'Rod seal', description: 'Dynamic seal preventing external leakage as the rod slides through the gland.' }, { id: 'ports', name: 'Hydraulic ports', description: 'Connections that admit or exhaust pressurised fluid from each chamber.' } ], applications: ['Excavators', 'Industrial presses', 'Aircraft landing gear'], learningObjectives: [ 'Calculate force from pressure and piston area.', 'Understand extend and retract flow paths.', 'Identify seal locations and leakage control.' ], relatedSlugs: ['piston-pump', 'gear-pump', 'toggle-clamp'] }, { id: 'mechanism-scotch-yoke', slug: 'scotch-yoke', title: 'Scotch Yoke', subtitle: 'Crank-to-slider sinusoidal mechanism', shortDescription: 'A rotating pin sliding in a slot produces pure reciprocating linear motion.', description: 'The Scotch yoke converts rotary motion into linear reciprocation with a slotted yoke. Compared with a slider-crank it produces sinusoidal displacement and high side contact in the slot, making it useful for compact demonstrators and selected actuators.', category: 'Mechanisms', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-24', complexity: 2, estimatedPartCount: 18, tags: ['Kinematics', 'Slider', 'Sinusoidal'], keywords: ['yoke slot', 'crank pin', 'reciprocating mechanism'], thumbnail: { variant: 'mechanism', accent: '#4C8DFF', secondary: '#FFB04C' }, facts: [ { label: 'Input', value: 'Rotary' }, { label: 'Output', value: 'Linear sinusoid', tone: 'accent' }, { label: 'Parts', value: 'Few' }, { label: 'Issue', value: 'Slot wear' } ], parts: [ { id: 'crank-disc', name: 'Crank disc', description: 'Rotating input member carrying the offset crank pin.' }, { id: 'crank-pin', name: 'Crank pin', description: 'Offset pin that slides within the yoke slot as the disc turns.' }, { id: 'slotted-yoke', name: 'Slotted yoke', description: 'Slider component constrained to linear motion by guides.' }, { id: 'linear-guide', name: 'Linear guide', description: 'Tracks that prevent the yoke from rotating while allowing reciprocation.' } ], applications: ['Valve actuators', 'Demonstration models', 'Reciprocating tools'], learningObjectives: [ 'Relate crank angle to linear displacement.', 'Compare yoke motion with slider-crank motion.', 'Identify contact forces in the slot.' ], relatedSlugs: ['slider-crank', 'cam-and-follower', 'steam-engine'] }, { id: 'mechanism-geneva', slug: 'geneva-drive', title: 'Geneva Drive', subtitle: 'Intermittent indexing mechanism', shortDescription: 'A drive pin advances a slotted wheel through discrete steps separated by dwell periods.', description: 'The Geneva drive converts continuous rotation into intermittent indexed motion. A rotating drive pin enters a slot in the Geneva wheel to advance it, while a locking surface holds the output stationary during dwell.', category: 'Mechanisms', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-25', complexity: 3, estimatedPartCount: 20, tags: ['Indexing', 'Dwell', 'Intermittent motion'], keywords: ['maltese cross', 'index wheel', 'dwell mechanism', 'drive pin'], thumbnail: { variant: 'mechanism', accent: '#60A5FA', secondary: '#F97316' }, facts: [ { label: 'Output', value: 'Intermittent rotation', tone: 'accent' }, { label: 'Common slots', value: '4–8' }, { label: 'Dwell', value: 'Built in' }, { label: 'Input', value: 'Continuous rotation' } ], parts: [ { id: 'drive-wheel', name: 'Drive wheel', description: 'Continuously rotating input member carrying the drive pin and locking surface.' }, { id: 'drive-pin', name: 'Drive pin', description: 'Pin that enters a Geneva slot and advances the output wheel by one index.' }, { id: 'geneva-wheel', name: 'Geneva wheel', description: 'Slotted output member that rotates in steps and dwells between engagements.' }, { id: 'locking-disc', name: 'Locking disc', description: 'Circular surface that prevents output motion during dwell periods.' } ], applications: ['Film projectors', 'Indexing tables', 'Packaging machinery'], learningObjectives: [ 'Identify drive, index, and dwell phases.', 'Understand why output motion is intermittent.', 'Relate slot count to step angle.' ], relatedSlugs: ['cam-and-follower', 'rack-and-pinion', 'toggle-clamp'] }, { id: 'mechanism-cam-follower', slug: 'cam-and-follower', title: 'Cam and Follower', subtitle: 'Profile-controlled motion generator', shortDescription: 'A rotating cam profile drives a follower through programmed lift, dwell, and return motion.', description: 'Cam mechanisms encode motion directly into the shape of a rotating or translating cam. Eccentric, heart, and snail profiles can create repeatable follower displacement curves for valves, pumps, switches, and automation.', category: 'Mechanisms', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-26', complexity: 3, estimatedPartCount: 24, tags: ['Lift profile', 'Dwell', 'Follower'], keywords: ['eccentric cam', 'heart cam', 'snail cam', 'roller follower'], thumbnail: { variant: 'mechanism', accent: '#A78BFA', secondary: '#FFB04C' }, facts: [ { label: 'Input', value: 'Rotary profile' }, { label: 'Output', value: 'Programmed lift', tone: 'accent' }, { label: 'Profiles', value: 'Eccentric / heart / snail' }, { label: 'Contact', value: 'Sliding or rolling' } ], parts: [ { id: 'cam-profile', name: 'Cam profile', description: 'Shaped surface that defines follower displacement as a function of rotation angle.' }, { id: 'roller-follower', name: 'Roller follower', description: 'Follower with a rolling contact element to reduce friction and wear.' }, { id: 'return-spring', name: 'Return spring', description: 'Maintains contact between follower and cam during the return phase.' }, { id: 'follower-guide', name: 'Follower guide', description: 'Constrains follower motion to the intended linear or oscillating path.' } ], applications: ['Engine valvetrains', 'Automation timers', 'Textile machinery'], learningObjectives: [ 'Compare lift curves from different cam profiles.', 'Understand dwell, rise, and return phases.', 'Identify contact force and spring requirements.' ], relatedSlugs: ['four-stroke-petrol-engine', 'scotch-yoke', 'geneva-drive'] }, { id: 'mechanism-rack-pinion', slug: 'rack-and-pinion', title: 'Rack and Pinion', subtitle: 'Rotary-to-linear gear pair', shortDescription: 'A circular pinion meshes with a straight rack to convert rotation into linear travel or vice versa.', description: 'Rack and pinion mechanisms translate between rotary and linear motion using gear teeth with a constant pitch relationship. They are common in steering, machine tools, actuators, and measuring devices because displacement is directly related to pinion rotation.', category: 'Mechanisms', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-27', complexity: 2, estimatedPartCount: 16, tags: ['Linear motion', 'Gear teeth', 'Steering'], keywords: ['pinion gear', 'linear rack', 'steering rack', 'actuator'], thumbnail: { variant: 'geartrain', accent: '#22D3EE', secondary: '#FBBF24' }, facts: [ { label: 'Motion', value: 'Rotary ↔ linear', tone: 'accent' }, { label: 'Travel per rev', value: 'π × pitch diameter' }, { label: 'Backlash', value: 'Adjustable' }, { label: 'Efficiency', value: 'High' } ], parts: [ { id: 'pinion', name: 'Pinion', description: 'Circular gear whose rotation advances the straight rack by one pitch circumference per revolution.' }, { id: 'rack', name: 'Rack', description: 'Straight gear bar with teeth equivalent to an unwrapped gear circumference.' }, { id: 'rack-guide', name: 'Rack guide', description: 'Guide surface that holds mesh depth and resists separating forces.' }, { id: 'preload-adjuster', name: 'Preload adjuster', description: 'Mechanism used to reduce backlash while maintaining smooth motion.' } ], applications: ['Automotive steering', 'CNC axes', 'Linear actuators'], learningObjectives: [ 'Relate pinion rotation to rack displacement.', 'Understand backlash and preload.', 'Identify force direction at the gear mesh.' ], relatedSlugs: ['bevel-gear-set', 'geneva-drive', 'worm-gear-drive'] }, { id: 'mechanism-slider-crank', slug: 'slider-crank', title: 'Slider Crank', subtitle: 'Connecting rod crank mechanism', shortDescription: 'A crank and connecting rod convert rotary motion to reciprocating slider motion with dead-centre positions.', description: 'The slider-crank is one of the most important machine mechanisms, forming the kinematic core of piston engines, compressors, and reciprocating pumps. Rod length, crank radius, and crank angle determine slider displacement, velocity, acceleration, and side load.', category: 'Mechanisms', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-28', complexity: 2, estimatedPartCount: 22, tags: ['Dead centre', 'Connecting rod', 'Kinematics'], keywords: ['crank mechanism', 'top dead center', 'bottom dead center', 'reciprocating'], thumbnail: { variant: 'mechanism', accent: '#4C8DFF', secondary: '#34D399' }, facts: [ { label: 'Input/output', value: 'Rotary ↔ reciprocating', tone: 'accent' }, { label: 'Dead centres', value: '2 per revolution' }, { label: 'Key ratio', value: 'Rod length / crank radius' }, { label: 'Used in', value: 'Piston engines' } ], parts: [ { id: 'crank', name: 'Crank', description: 'Rotating member with an offset crank pin that defines stroke radius.' }, { id: 'connecting-rod', name: 'Connecting rod', description: 'Link connecting crank pin to slider while accommodating angular motion.' }, { id: 'slider', name: 'Slider', description: 'Linearly constrained output member equivalent to a piston or plunger.' }, { id: 'crank-pin', name: 'Crank pin', description: 'Joint between crank and connecting rod that travels in a circular path.' }, { id: 'linear-bearing', name: 'Linear bearing', description: 'Guide that constrains the slider axis and reacts side load.' } ], applications: ['Internal combustion engines', 'Compressors', 'Piston pumps'], learningObjectives: [ 'Locate top and bottom dead centre.', 'Observe non-sinusoidal slider motion caused by finite rod length.', 'Relate crank radius to stroke.' ], relatedSlugs: ['four-stroke-petrol-engine', 'piston-pump', 'scotch-yoke'] }, { id: 'mechanism-toggle-clamp', slug: 'toggle-clamp', title: 'Toggle Clamp', subtitle: 'Over-centre locking linkage', shortDescription: 'A set of links passes over centre to create high clamping force and stable locked position.', description: 'Toggle clamps use linkage geometry to amplify input force near the locked position. Once the linkage passes over centre, external clamping loads tend to hold the mechanism closed until the handle is deliberately released.', category: 'Mechanisms', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-29', complexity: 3, estimatedPartCount: 18, tags: ['Mechanical advantage', 'Over-centre', 'Clamping'], keywords: ['toggle linkage', 'over center', 'fixture clamp', 'force amplification'], thumbnail: { variant: 'mechanism', accent: '#F59E0B', secondary: '#4C8DFF' }, facts: [ { label: 'Locking', value: 'Over-centre', tone: 'accent' }, { label: 'Output', value: 'Clamping force' }, { label: 'Advantage', value: 'High near lock' }, { label: 'Release', value: 'Handle reversal' } ], parts: [ { id: 'handle', name: 'Handle', description: 'User input lever that drives the toggle links through the locking position.' }, { id: 'toggle-links', name: 'Toggle links', description: 'Link pair whose alignment creates rapidly increasing mechanical advantage.' }, { id: 'clamping-arm', name: 'Clamping arm', description: 'Output member that applies force to the workpiece or fixture pad.' }, { id: 'over-centre-stop', name: 'Over-centre stop', description: 'Mechanical stop that sets the locked geometry and prevents excessive link travel.' }, { id: 'clamp-pad', name: 'Clamp pad', description: 'Contact element that distributes force to the workpiece.' } ], applications: ['Welding fixtures', 'Woodworking jigs', 'Inspection fixtures'], learningObjectives: [ 'Identify the over-centre locking point.', 'Understand force amplification near alignment.', 'Relate geometry to clamp release effort.' ], relatedSlugs: ['geneva-drive', 'hydraulic-cylinder', 'worm-gear-drive'] }, { id: 'structure-ball-bearing', slug: 'ball-bearing', title: 'Ball Bearing', subtitle: 'Rolling-element radial bearing', shortDescription: 'Balls roll between inner and outer races while a cage maintains spacing and load distribution.', description: 'A ball bearing reduces friction by replacing sliding shaft contact with rolling contact. Race curvature, ball count, cage design, clearance, and lubrication determine load capacity, speed capability, noise, and service life.', category: 'Structural / Other', difficulty: 'Beginner', releasePhase: 'core', publishedAt: '2025-01-30', complexity: 2, estimatedPartCount: 30, tags: ['Rolling contact', 'Raceways', 'Cage'], keywords: ['deep groove bearing', 'balls', 'inner race', 'outer race', 'load distribution'], thumbnail: { variant: 'bearing', accent: '#4C8DFF', secondary: '#FFB04C' }, facts: [ { label: 'Load', value: 'Radial + light axial' }, { label: 'Friction', value: 'Low', tone: 'accent' }, { label: 'Elements', value: 'Balls' }, { label: 'Lubrication', value: 'Grease or oil' } ], parts: [ { id: 'inner-race', name: 'Inner race', description: 'Hardened ring mounted to the shaft with a precision raceway for ball contact.' }, { id: 'outer-race', name: 'Outer race', description: 'Stationary or housing-mounted ring carrying the outer raceway.' }, { id: 'balls', name: 'Balls', description: 'Rolling elements that transmit load through small elliptical contact patches.' }, { id: 'cage', name: 'Cage', description: 'Separator that maintains ball spacing and prevents rubbing between adjacent balls.' }, { id: 'seal-shield', name: 'Seal or shield', description: 'Optional closure retaining lubricant and excluding contamination.' } ], applications: ['Electric motors', 'Skate wheels', 'Gearbox shafts'], learningObjectives: [ 'Identify load paths through balls and raceways.', 'Understand why cages maintain spacing.', 'Compare rolling and sliding friction.' ], relatedSlugs: ['roller-bearing', 'bldc-electric-motor', 'manual-gearbox-5-speed'] }, { id: 'structure-roller-bearing', slug: 'roller-bearing', title: 'Roller Bearing', subtitle: 'Tapered rolling-element bearing', shortDescription: 'Tapered rollers support combined radial and axial load through conical raceways.', description: 'Tapered roller bearings use conical rollers and raceways whose projected lines meet at a common apex. This geometry supports high radial load and one-direction axial load, making matched pairs common in wheel hubs and gearboxes.', category: 'Structural / Other', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-01-31', complexity: 3, estimatedPartCount: 34, tags: ['Tapered rollers', 'Axial load', 'Preload'], keywords: ['taper roller', 'cup and cone', 'wheel bearing', 'bearing preload'], thumbnail: { variant: 'bearing', accent: '#60A5FA', secondary: '#34D399' }, facts: [ { label: 'Load', value: 'Radial + axial', tone: 'accent' }, { label: 'Elements', value: 'Tapered rollers' }, { label: 'Adjustment', value: 'Preload/endplay' }, { label: 'Common use', value: 'Wheel hubs' } ], parts: [ { id: 'bearing-cone', name: 'Bearing cone', description: 'Inner ring assembly carrying tapered rollers and cage.' }, { id: 'bearing-cup', name: 'Bearing cup', description: 'Outer ring with a matching tapered raceway.' }, { id: 'tapered-rollers', name: 'Tapered rollers', description: 'Conical rolling elements that align with raceway geometry to support combined loads.' }, { id: 'roller-cage', name: 'Roller cage', description: 'Keeps rollers evenly spaced and correctly oriented around the cone.' }, { id: 'preload-nut', name: 'Preload nut', description: 'Adjustment feature that controls bearing clearance or preload in service.' } ], applications: ['Wheel hubs', 'Differentials', 'Machine spindles'], learningObjectives: [ 'Trace radial and axial load paths.', 'Understand cup-and-cone geometry.', 'Recognise preload effects on stiffness and heat.' ], relatedSlugs: ['ball-bearing', 'differential-gear', 'bevel-gear-set'] }, { id: 'structure-disc-brake-caliper', slug: 'disc-brake-caliper', title: 'Disc Brake Caliper', subtitle: 'Hydraulic friction brake assembly', shortDescription: 'Hydraulic pistons press pads against a spinning rotor to convert kinetic energy into heat.', description: 'A disc brake caliper converts hydraulic pressure into clamping force on friction pads. The rotor dissipates heat while the caliper body, pistons, seals, and sliding or fixed architecture determine pedal feel, braking torque, and thermal durability.', category: 'Structural / Other', difficulty: 'Intermediate', releasePhase: 'core', publishedAt: '2025-02-01', complexity: 4, estimatedPartCount: 46, tags: ['Friction', 'Hydraulics', 'Thermal load'], keywords: ['brake rotor', 'brake pads', 'caliper piston', 'hydraulic brake'], thumbnail: { variant: 'brake', accent: '#F97316', secondary: '#4C8DFF' }, facts: [ { label: 'Output', value: 'Braking torque' }, { label: 'Energy path', value: 'Kinetic → heat', tone: 'warm' }, { label: 'Actuation', value: 'Hydraulic' }, { label: 'Wear item', value: 'Pads' } ], parts: [ { id: 'brake-rotor', name: 'Brake rotor', description: 'Spinning disc attached to the hub and clamped by pads to generate braking torque.' }, { id: 'caliper-body', name: 'Caliper body', description: 'Structural housing that reacts piston force across the rotor.' }, { id: 'brake-pads', name: 'Brake pads', description: 'Friction material blocks that press against the rotor faces.' }, { id: 'hydraulic-piston', name: 'Hydraulic piston', description: 'Converts brake fluid pressure into pad clamping force.' }, { id: 'square-cut-seal', name: 'Square-cut seal', description: 'Elastic seal that both prevents leakage and retracts the piston slightly after release.' } ], applications: ['Cars and motorcycles', 'Industrial brakes', 'Bicycles'], learningObjectives: [ 'Relate hydraulic pressure to clamp force.', 'Understand friction torque and heat generation.', 'Identify pad wear and piston retraction mechanisms.' ], relatedSlugs: ['hydraulic-cylinder', 'v8-engine', 'ball-bearing'] }, { id: 'structure-turbocharger', slug: 'turbocharger', title: 'Turbocharger', subtitle: 'Exhaust-driven compressor', shortDescription: 'A turbine extracts exhaust energy to spin a compressor wheel that raises intake air pressure.', description: 'A turbocharger couples a radial turbine to a centrifugal compressor on a high-speed shaft. By using exhaust enthalpy to boost intake density, it increases engine torque and efficiency potential while introducing thermal, lubrication, and response challenges.', category: 'Structural / Other', difficulty: 'Advanced', releasePhase: 'core', publishedAt: '2025-02-02', complexity: 5, estimatedPartCount: 74, tags: ['Forced induction', 'Turbine', 'Compressor'], keywords: ['boost', 'wastegate', 'compressor map', 'turbine housing', 'intercooler'], thumbnail: { variant: 'turbine', accent: '#38BDF8', secondary: '#F97316' }, facts: [ { label: 'Shaft speed', value: '80k–250k RPM', tone: 'accent' }, { label: 'Drive source', value: 'Exhaust gas' }, { label: 'Control', value: 'Wastegate / VGT' }, { label: 'Benefit', value: 'Boosted air mass' } ], parts: [ { id: 'compressor-wheel', name: 'Compressor wheel', description: 'Centrifugal impeller that raises intake air pressure and velocity.' }, { id: 'turbine-wheel', name: 'Turbine wheel', description: 'Hot-side rotor extracting energy from exhaust gas to drive the shaft.' }, { id: 'bearing-housing', name: 'Bearing housing', description: 'Centre section supporting the high-speed shaft with oil-fed bearings.' }, { id: 'wastegate', name: 'Wastegate', description: 'Bypass valve regulating turbine power and limiting boost pressure.' }, { id: 'compressor-housing', name: 'Compressor housing', description: 'Volute casing that collects compressed air and diffuses velocity into pressure.' } ], applications: ['Diesel engines', 'Performance petrol engines', 'Aircraft piston engines'], learningObjectives: [ 'Follow exhaust and intake flow paths separately.', 'Understand compressor and turbine coupling.', 'Identify boost control through the wastegate.' ], relatedSlugs: ['diesel-engine', 'v8-engine', 'turbojet-engine'] }, { id: 'engine-radial', slug: 'radial-engine', title: 'Radial Engine', subtitle: 'Aircraft piston engine with cylinders around a crankcase', shortDescription: 'Cylinders radiate from a central crankcase, sharing a master rod and crankpin.', description: 'Radial engines package multiple air-cooled cylinders around a central crankcase. Their master-and-articulating rod arrangement allows many pistons to share a single crank throw, producing a compact aircraft powerplant with strong cooling exposure.', category: 'Engines', difficulty: 'Advanced', releasePhase: 'stretch', publishedAt: '2025-02-03', complexity: 5, estimatedPartCount: 142, tags: ['Aircraft', 'Master rod', 'Air cooled'], keywords: ['radial aircraft engine', 'master rod', 'articulating rod', 'round engine'], thumbnail: { variant: 'rotary', accent: '#93C5FD', secondary: '#F59E0B' }, facts: [ { label: 'Cylinder layout', value: 'Radial' }, { label: 'Cooling', value: 'Air', tone: 'accent' }, { label: 'Common count', value: '5–9 per row' }, { label: 'Use era', value: 'Early aviation' } ], parts: [ { id: 'master-rod', name: 'Master rod', description: 'Primary connecting rod attached to the crankpin and carrying links for articulating rods.' }, { id: 'articulating-rods', name: 'Articulating rods', description: 'Secondary rods connecting other pistons to the master rod big-end ring.' }, { id: 'radial-crankcase', name: 'Crankcase', description: 'Central housing supporting the crankshaft and cylinder barrels.' }, { id: 'cooling-fins', name: 'Cooling fins', description: 'Extended cylinder surfaces that reject heat to airflow.' } ], applications: ['Historic aircraft', 'Museum cutaways', 'Specialty replicas'], learningObjectives: [ 'Understand master rod kinematics.', 'See why air cooling suits radial packaging.', 'Compare radial balance with inline engines.' ], relatedSlugs: ['four-stroke-petrol-engine', 'v8-engine', 'steam-engine'] }, { id: 'engine-stirling', slug: 'stirling-engine', title: 'Stirling Engine', subtitle: 'Closed-cycle external heat engine', shortDescription: 'A sealed working gas shuttles between hot and cold spaces through a regenerator.', description: 'The Stirling engine converts external temperature difference into mechanical work using a sealed working gas. Displacer and power pistons coordinate compression and expansion while a regenerator stores heat between cycle phases.', category: 'Engines', difficulty: 'Advanced', releasePhase: 'stretch', publishedAt: '2025-02-04', complexity: 4, estimatedPartCount: 52, tags: ['External heat', 'Regenerator', 'Closed cycle'], keywords: ['alpha stirling', 'beta stirling', 'displacer', 'heat engine'], thumbnail: { variant: 'mechanism', accent: '#F59E0B', secondary: '#60A5FA' }, facts: [ { label: 'Cycle', value: 'Closed regenerative', tone: 'accent' }, { label: 'Working gas', value: 'Air / helium / hydrogen' }, { label: 'Heat source', value: 'External' }, { label: 'Noise', value: 'Low' } ], parts: [ { id: 'displacer', name: 'Displacer', description: 'Moves working gas between hot and cold zones with minimal pressure work.' }, { id: 'power-piston', name: 'Power piston', description: 'Extracts work from pressure changes in the sealed gas volume.' }, { id: 'regenerator', name: 'Regenerator', description: 'Thermal matrix that temporarily stores heat as gas shuttles between zones.' }, { id: 'hot-cap', name: 'Hot cap', description: 'Heated end of the engine where gas expands.' }, { id: 'cold-sink', name: 'Cold sink', description: 'Cooled end where gas contracts and rejects heat.' } ], applications: ['Solar thermal demonstrators', 'Quiet generators', 'Cryocoolers'], learningObjectives: [ 'Follow gas transfer between hot and cold spaces.', 'Understand regenerator heat storage.', 'Compare external and internal combustion.' ], relatedSlugs: ['steam-engine', 'slider-crank', 'four-stroke-petrol-engine'] }, { id: 'fluid-axial-piston-motor', slug: 'axial-piston-motor', title: 'Axial Piston Motor', subtitle: 'Hydraulic swashplate rotary motor', shortDescription: 'Pressurised fluid drives pistons arranged around a shaft against an angled swashplate.', description: 'An axial piston motor converts hydraulic pressure into rotary torque using a cylinder block of pistons acting on a swashplate or bent-axis geometry. Variable displacement designs adjust torque and speed by changing effective piston stroke.', category: 'Pumps & Fluid Systems', difficulty: 'Advanced', releasePhase: 'stretch', publishedAt: '2025-02-05', complexity: 5, estimatedPartCount: 86, tags: ['Hydraulic motor', 'Swashplate', 'Variable displacement'], keywords: ['hydrostatic drive', 'piston shoe', 'valve plate', 'bent axis motor'], thumbnail: { variant: 'pump', accent: '#38BDF8', secondary: '#A78BFA' }, facts: [ { label: 'Input', value: 'Hydraulic pressure' }, { label: 'Output', value: 'Rotary torque', tone: 'accent' }, { label: 'Displacement', value: 'Fixed or variable' }, { label: 'Pressure', value: 'Up to 450 bar' } ], parts: [ { id: 'cylinder-block', name: 'Cylinder block', description: 'Rotating barrel containing multiple axial piston bores.' }, { id: 'piston-shoes', name: 'Piston shoes', description: 'Sliding pads that transfer piston force to the angled swashplate.' }, { id: 'swashplate', name: 'Swashplate', description: 'Inclined reaction surface that converts piston thrust into rotation.' }, { id: 'valve-plate', name: 'Valve plate', description: 'Porting plate that times high- and low-pressure flow to piston bores.' } ], applications: ['Excavator drives', 'Hydrostatic transmissions', 'Winches'], learningObjectives: [ 'Relate swashplate angle to piston stroke.', 'Understand pressure-to-torque conversion.', 'Follow port timing through the valve plate.' ], relatedSlugs: ['hydraulic-cylinder', 'piston-pump', 'cvt-transmission'] }, { id: 'drive-torque-converter', slug: 'torque-converter', title: 'Torque Converter', subtitle: 'Hydrodynamic automatic transmission coupling', shortDescription: 'Pump, turbine, and stator exchange momentum through fluid to multiply torque at low speed.', description: 'A torque converter is a fluid coupling with a stator that redirects return flow to multiply torque during launch. As pump and turbine speeds converge, multiplication decreases and a lock-up clutch may eliminate slip for efficiency.', category: 'Gearboxes & Drives', difficulty: 'Advanced', releasePhase: 'stretch', publishedAt: '2025-02-06', complexity: 5, estimatedPartCount: 64, tags: ['Hydrodynamic', 'Stator', 'Torque multiplication'], keywords: ['automatic transmission', 'fluid coupling', 'lockup clutch', 'stall speed'], thumbnail: { variant: 'fluid', accent: '#4C8DFF', secondary: '#F59E0B' }, facts: [ { label: 'Medium', value: 'Transmission fluid' }, { label: 'Launch', value: 'Torque multiplication', tone: 'accent' }, { label: 'Efficiency aid', value: 'Lock-up clutch' }, { label: 'Members', value: 'Pump / turbine / stator' } ], parts: [ { id: 'impeller-pump', name: 'Impeller pump', description: 'Engine-driven member that accelerates fluid outward by rotation.' }, { id: 'turbine', name: 'Turbine', description: 'Output member driven by fluid momentum returning from the pump.' }, { id: 'stator', name: 'Stator', description: 'One-way clutch mounted reaction member that redirects flow for torque multiplication.' }, { id: 'lockup-clutch', name: 'Lock-up clutch', description: 'Friction clutch that mechanically connects input and output to remove converter slip.' } ], applications: ['Automatic transmissions', 'Heavy equipment', 'Buses'], learningObjectives: [ 'Trace fluid circulation between pump, turbine, and stator.', 'Understand torque multiplication at stall.', 'Recognise lock-up clutch efficiency benefits.' ], relatedSlugs: ['planetary-gearbox', 'cvt-transmission', 'manual-gearbox-5-speed'] }, { id: 'drive-harmonic', slug: 'harmonic-drive', title: 'Harmonic Drive', subtitle: 'Strain wave precision reducer', shortDescription: 'A wave generator elastically deforms a flexspline so tooth count difference creates high reduction.', description: 'Harmonic drives, or strain wave gears, deliver high reduction ratios with near-zero backlash in a compact coaxial package. An elliptical wave generator flexes a thin spline into engagement with a circular spline at two moving zones.', category: 'Gearboxes & Drives', difficulty: 'Advanced', releasePhase: 'stretch', publishedAt: '2025-02-07', complexity: 5, estimatedPartCount: 38, tags: ['Strain wave', 'Zero backlash', 'Robotics'], keywords: ['flexspline', 'wave generator', 'circular spline', 'precision reducer'], thumbnail: { variant: 'geartrain', accent: '#A78BFA', secondary: '#4C8DFF' }, facts: [ { label: 'Reduction', value: '30:1–160:1', tone: 'accent' }, { label: 'Backlash', value: 'Very low' }, { label: 'Form', value: 'Coaxial' }, { label: 'Key element', value: 'Flexible spline' } ], parts: [ { id: 'wave-generator', name: 'Wave generator', description: 'Elliptical bearing assembly that deforms the flexspline as it rotates.' }, { id: 'flexspline', name: 'Flexspline', description: 'Thin flexible cup with external teeth that elastically engages the circular spline.' }, { id: 'circular-spline', name: 'Circular spline', description: 'Rigid internal-tooth gear with slightly more teeth than the flexspline.' }, { id: 'output-flange', name: 'Output flange', description: 'Member attached to the flexspline or circular spline depending on reducer configuration.' } ], applications: ['Robot joints', 'Aerospace actuators', 'Precision pan-tilt systems'], learningObjectives: [ 'Understand tooth-count difference reduction.', 'Visualise elastic deformation of the flexspline.', 'Compare backlash with planetary reducers.' ], relatedSlugs: ['planetary-gearbox', 'worm-gear-drive', 'bldc-electric-motor'] }, { id: 'electric-bldc-motor', slug: 'bldc-electric-motor', title: 'Electric Motor (BLDC)', subtitle: 'Brushless permanent-magnet motor', shortDescription: 'Electronic commutation energises stator phases to pull a permanent-magnet rotor around.', description: 'A brushless DC motor uses a wound stator and permanent-magnet rotor with electronic commutation instead of brushes. Hall sensors or sensorless back-EMF estimation sequence phase currents to create rotating magnetic fields.', category: 'Structural / Other', difficulty: 'Intermediate', releasePhase: 'stretch', publishedAt: '2025-02-08', complexity: 4, estimatedPartCount: 58, tags: ['Electromagnetics', 'Commutation', 'Permanent magnets'], keywords: ['brushless motor', 'stator windings', 'rotor magnets', 'esc', 'back emf'], thumbnail: { variant: 'electric', accent: '#60A5FA', secondary: '#34D399' }, facts: [ { label: 'Commutation', value: 'Electronic', tone: 'accent' }, { label: 'Rotor', value: 'Permanent magnet' }, { label: 'Efficiency', value: '80–94%' }, { label: 'Control', value: 'ESC / inverter' } ], parts: [ { id: 'stator-core', name: 'Stator core', description: 'Laminated iron core with slots for phase windings.' }, { id: 'phase-windings', name: 'Phase windings', description: 'Copper coils energised in sequence to create a rotating magnetic field.' }, { id: 'magnet-rotor', name: 'Magnet rotor', description: 'Permanent magnet assembly that follows the rotating stator field.' }, { id: 'hall-sensors', name: 'Hall sensors', description: 'Position sensors used by many drives to determine commutation timing.' }, { id: 'motor-bearings', name: 'Bearings', description: 'Rolling elements supporting the rotor shaft with low friction.' } ], applications: ['Drones', 'Electric vehicles', 'Computer fans'], learningObjectives: [ 'Identify stator, rotor, and phase windings.', 'Understand electronic commutation.', 'Relate magnetic fields to torque production.' ], relatedSlugs: ['ball-bearing', 'harmonic-drive', 'axial-piston-motor'] }, { id: 'fluid-solenoid-valve', slug: 'solenoid-valve', title: 'Solenoid Valve', subtitle: 'Electromagnetic on/off fluid valve', shortDescription: 'An energised coil pulls a plunger to open or close a fluid passage.', description: 'A solenoid valve converts electrical input into fluid control by magnetically actuating a plunger. Direct-acting and pilot-operated variants manage different pressure and flow requirements in pneumatic, hydraulic, and process systems.', category: 'Pumps & Fluid Systems', difficulty: 'Beginner', releasePhase: 'stretch', publishedAt: '2025-02-09', complexity: 2, estimatedPartCount: 22, tags: ['Electromagnetic', 'Valve', 'On/off control'], keywords: ['coil', 'plunger', 'pilot valve', 'pneumatic valve', 'fluid control'], thumbnail: { variant: 'fluid', accent: '#4C8DFF', secondary: '#A78BFA' }, facts: [ { label: 'Input', value: 'Electrical coil' }, { label: 'Output', value: 'Flow open/closed', tone: 'accent' }, { label: 'Response', value: 'Milliseconds' }, { label: 'Default', value: 'Normally open/closed' } ], parts: [ { id: 'solenoid-coil', name: 'Solenoid coil', description: 'Winding that creates a magnetic field when energised.' }, { id: 'plunger', name: 'Plunger', description: 'Ferromagnetic moving core pulled by the coil field.' }, { id: 'valve-seat', name: 'Valve seat', description: 'Sealing surface that the plunger or poppet closes against.' }, { id: 'return-spring', name: 'Return spring', description: 'Biases the valve to its normal state when the coil is de-energised.' } ], applications: ['Pneumatic automation', 'Fuel systems', 'Irrigation control'], learningObjectives: [ 'Understand coil-to-plunger actuation.', 'Compare normally open and normally closed operation.', 'Identify direct and pilot-operated flow paths.' ], relatedSlugs: ['hydraulic-cylinder', 'gear-pump', 'cam-and-follower'] }, { id: 'pump-scroll-compressor', slug: 'scroll-compressor', title: 'Scroll Compressor', subtitle: 'Orbiting scroll positive displacement machine', shortDescription: 'An orbiting spiral scroll traps and compresses gas pockets against a fixed scroll.', description: 'Scroll compressors use two interleaved spiral elements: one fixed and one orbiting without rotating. Gas pockets move inward and shrink in volume, producing smooth compression with fewer moving parts than reciprocating compressors.', category: 'Pumps & Fluid Systems', difficulty: 'Advanced', releasePhase: 'stretch', publishedAt: '2025-02-10', complexity: 4, estimatedPartCount: 44, tags: ['Compression', 'Orbiting scroll', 'HVAC'], keywords: ['fixed scroll', 'orbiting scroll', 'refrigerant compressor', 'positive displacement'], thumbnail: { variant: 'rotary', accent: '#22D3EE', secondary: '#FFB04C' }, facts: [ { label: 'Flow', value: 'Smooth displacement' }, { label: 'Compression path', value: 'Outer → inner', tone: 'accent' }, { label: 'Moving scroll', value: 'Orbits' }, { label: 'Common use', value: 'HVAC' } ], parts: [ { id: 'fixed-scroll', name: 'Fixed scroll', description: 'Stationary spiral element forming one side of the compression pockets.' }, { id: 'orbiting-scroll', name: 'Orbiting scroll', description: 'Moving spiral element that orbits to trap and shrink gas volumes.' }, { id: 'oldham-coupling', name: 'Oldham coupling', description: 'Prevents the orbiting scroll from rotating while allowing orbital motion.' }, { id: 'discharge-port', name: 'Discharge port', description: 'Central outlet where compressed gas exits at highest pressure.' }, { id: 'tip-seals', name: 'Tip seals', description: 'Sealing strips that limit leakage between adjacent scroll pockets.' } ], applications: ['Air conditioning', 'Heat pumps', 'Oil-free compressors'], learningObjectives: [ 'Follow gas pockets from suction to discharge.', 'Understand orbiting without self-rotation.', 'Compare smooth flow with piston compressors.' ], relatedSlugs: ['centrifugal-pump', 'wankel-rotary-engine', 'piston-pump'] } ] as const satisfies readonly MachineRegistryItem[]; export const coreMachines = machineRegistry.filter((machine) => machine.releasePhase === 'core'); export const stretchMachines = machineRegistry.filter( (machine) => machine.releasePhase === 'stretch', ); export const machinesBySlug = new Map( machineRegistry.map((machine) => [machine.slug, machine]), ); export const machineSlugs = machineRegistry.map((machine) => machine.slug); export function getMachineBySlug(slug: string | undefined): MachineRegistryItem | undefined { if (!slug) { return undefined; } return machinesBySlug.get(slug); } export function getRelatedMachines( machine: MachineRegistryItem, limit = 4, ): MachineRegistryItem[] { const related = machine.relatedSlugs .map((slug) => machinesBySlug.get(slug)) .filter((candidate): candidate is MachineRegistryItem => Boolean(candidate)); if (related.length >= limit) { return related.slice(0, limit); } const fallback = machineRegistry.filter( (candidate) => candidate.slug !== machine.slug && candidate.category === machine.category && !related.some((relatedMachine) => relatedMachine.slug === candidate.slug), ); return [...related, ...fallback].slice(0, limit); }