Various improvements
This commit is contained in:
parent
488494634d
commit
abf3803cdc
15 changed files with 283 additions and 250 deletions
|
|
@ -4,129 +4,123 @@ import { SettingsSlider, ValueScaling } from './settings-slider';
|
|||
export const setUpSettingsPage = (
|
||||
settingsPage: HTMLDivElement,
|
||||
maxAgentCount: number
|
||||
) => {
|
||||
): Array<SettingsSlider<any>> => {
|
||||
const sliders = [
|
||||
[
|
||||
new SettingsSlider(settings, 'agentCount', {
|
||||
min: 1,
|
||||
max: maxAgentCount,
|
||||
scaling: ValueScaling.Logarithmic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
new SettingsSlider(settings, 'renderSpeed', {
|
||||
min: 1,
|
||||
max: 10,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'currentGenerationAggression', {
|
||||
min: -20,
|
||||
max: 20,
|
||||
}),
|
||||
new SettingsSlider(settings, 'agentCount', {
|
||||
min: 1,
|
||||
max: maxAgentCount,
|
||||
scaling: ValueScaling.Logarithmic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'nextGenerationAggression', {
|
||||
min: -20,
|
||||
max: 20,
|
||||
}),
|
||||
new SettingsSlider(settings, 'currentGenerationAggression', {
|
||||
min: -5,
|
||||
max: 5,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'moveSpeed', {
|
||||
min: 10,
|
||||
max: 500,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
new SettingsSlider(settings, 'nextGenerationAggression', {
|
||||
min: -5,
|
||||
max: 5,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'turnSpeed', {
|
||||
min: 10,
|
||||
max: 1000,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
new SettingsSlider(settings, 'moveSpeed', {
|
||||
min: 10,
|
||||
max: 500,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'sensorOffsetAngle', {
|
||||
min: 0,
|
||||
max: 90,
|
||||
step: 1,
|
||||
}),
|
||||
new SettingsSlider(settings, 'turnSpeed', {
|
||||
min: 1,
|
||||
max: 200,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'sensorOffsetDistance', {
|
||||
min: 0,
|
||||
max: 200,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
new SettingsSlider(settings, 'sensorOffsetAngle', {
|
||||
min: 0,
|
||||
max: 90,
|
||||
step: 1,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'turnWhenLost', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
}),
|
||||
new SettingsSlider(settings, 'sensorOffsetDistance', {
|
||||
min: 0,
|
||||
max: 200,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
rounding: Math.round,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'turnWhenGoingInTheRightDirection', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
}),
|
||||
new SettingsSlider(settings, 'turnWhenLost', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'deinfectionProbability', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
}),
|
||||
new SettingsSlider(settings, 'deinfectionProbability', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'brushTrailWeight', {
|
||||
min: 0,
|
||||
max: 10,
|
||||
}),
|
||||
new SettingsSlider(settings, 'individualTrailWeight', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'individualTrailWeight', {
|
||||
min: 0,
|
||||
max: 1,
|
||||
}),
|
||||
new SettingsSlider(settings, 'diffusionRateTrails', {
|
||||
min: 0,
|
||||
max: 2,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'diffusionRateTrails', {
|
||||
min: 0,
|
||||
max: 10,
|
||||
}),
|
||||
new SettingsSlider(settings, 'decayRateTrails', {
|
||||
min: 0.1,
|
||||
max: 1000,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'decayRateTrails', {
|
||||
min: 0,
|
||||
max: 10,
|
||||
}),
|
||||
new SettingsSlider(settings, 'diffusionRateBrush', {
|
||||
min: 0.001,
|
||||
max: 1,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'diffusionRateBrush', {
|
||||
min: 0,
|
||||
max: 10,
|
||||
}),
|
||||
new SettingsSlider(settings, 'decayRateBrush', {
|
||||
min: 0.1,
|
||||
max: 100,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'decayRateBrush', {
|
||||
min: 0,
|
||||
max: 10,
|
||||
}),
|
||||
new SettingsSlider(settings, 'spawnRadius', {
|
||||
min: 0,
|
||||
max: 1000,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'spawnRadius', {
|
||||
min: 0,
|
||||
max: 1000,
|
||||
}),
|
||||
new SettingsSlider(settings, 'spawnInterval', {
|
||||
min: 0.1,
|
||||
max: 600,
|
||||
scaling: ValueScaling.Quadratic,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'spawnInterval', {
|
||||
min: 0.1,
|
||||
max: 600,
|
||||
}),
|
||||
new SettingsSlider(settings, 'clarity', {
|
||||
min: 0,
|
||||
max: 0.5,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'clarity', {
|
||||
min: 0.5,
|
||||
max: 8,
|
||||
step: 0.1,
|
||||
}),
|
||||
|
||||
new SettingsSlider(settings, 'brushSize', {
|
||||
min: 1,
|
||||
max: 60,
|
||||
}),
|
||||
],
|
||||
new SettingsSlider(settings, 'brushSize', {
|
||||
min: 1,
|
||||
max: 30,
|
||||
}),
|
||||
];
|
||||
|
||||
sliders.forEach((sliderContainer) => {
|
||||
const sliderContainerElement = document.createElement('div');
|
||||
const sliderContainerElement = document.createElement('div');
|
||||
|
||||
sliderContainer.forEach((slider) => {
|
||||
sliderContainerElement.appendChild(slider.element);
|
||||
});
|
||||
|
||||
settingsPage.querySelector('section').appendChild(sliderContainerElement);
|
||||
sliders.forEach((slider) => {
|
||||
sliderContainerElement.appendChild(slider.element);
|
||||
});
|
||||
|
||||
settingsPage.appendChild(sliderContainerElement);
|
||||
|
||||
return sliders;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue