+
+ {t('diyUi.designer.dimensions')}
+
+ {field('width', t('diyUi.designer.width'), { min: 20, hint: `≈ ${inches(p.width)}″` })}
+ {field('wheelbase', t('diyUi.designer.wheelbase'), { min: 30, hint: `≈ ${inches(p.wheelbase)}″` })}
+ {field('nose', t('diyUi.designer.nose'), { min: 5, hint: `≈ ${inches(p.nose)}″` })}
+ {field('tail', t('diyUi.designer.tail'), { min: 5, hint: `≈ ${inches(p.tail)}″` })}
+
+
+ {t('diyUi.designer.length')} {totalLen.toFixed(0)} mm ({inches(totalLen)}″)
+
+
+
+
+ {t('diyUi.designer.shape')}
+
+ {field('waist', t('diyUi.designer.waist'), { min: 0, max: 0.15, step: 0.01 })}
+ {field('endRound', t('diyUi.designer.endRound'), { min: 1.2, max: 4, step: 0.1 })}
+ {field('concave', t('diyUi.designer.concave'), { min: 0, hint: 'mm' })}
+ {field('thickness', t('diyUi.designer.thickness'), { min: 2, hint: 'mm' })}
+
+
+
+
+ {t('diyUi.designer.kicks')}
+
+ {field('tailKick', t('diyUi.designer.tailKick'), { min: 0, max: 40, hint: '°' })}
+ {field('noseKick', t('diyUi.designer.noseKick'), { min: 0, max: 40, hint: '°' })}
+
+
+
+
+ {t('diyUi.designer.hardware')}
+
+ {(['new', 'old'] as const).map((pattern) => (
+
+ ))}
+
+ {t('diyUi.designer.holeSpacing')}
+
+
+
+
+
{t('diyUi.designer.topView')}
+
{Math.round(totalLen)} × {Math.round(p.width)} mm
+
+
+
+
+
+
+ {t('diyUi.designer.sideView')}
+
+
+
+ {t('diyUi.designer.concaveSection')}
+
+
+
+
+
+ {t('diyUi.designer.export')}
+
+
+
+
+
+
+ {t('diyUi.designer.printNote')}
+ {t('diyUi.designer.note')}
+
+