Skip to content

Commit

Permalink
Scripts refactor.
Browse files Browse the repository at this point in the history
  • Loading branch information
Smoren committed May 12, 2024
1 parent 02e559d commit f3a9d6d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 41 deletions.
39 changes: 39 additions & 0 deletions src/scripts/actions/test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { createBaseWorldConfig } from '@/lib/config/world';
import { createBaseTypesConfig } from '@/lib/config/types';
import { create2dBaseInitialConfig } from '@/lib/config/initial';
import { Simulation } from '@/lib/simulation';
import { createPhysicModel } from '@/lib/utils/functions';
import { create2dRandomDistribution } from '@/lib/config/atoms';
import { createDummyDrawer } from '@/lib/drawer/dummy';
import { Runner } from '@/lib/runner';
import { CompoundsAnalyzer } from '@/lib/analysis/compounds';

export const actionTest = (...args: string[]) => {
console.log('[START] test action', args);

const worldConfig = createBaseWorldConfig();
const typesConfig = createBaseTypesConfig();
const initialConfig = create2dBaseInitialConfig();

const sim = new Simulation({
viewMode: '2d',
worldConfig: worldConfig,
typesConfig: typesConfig,
initialConfig: initialConfig,
physicModel: createPhysicModel(worldConfig, typesConfig),
atomsFactory: create2dRandomDistribution,
drawer: createDummyDrawer(),
});

const runner = new Runner(sim);
runner.runSteps(500);

console.log(sim.summary);

const compounds = new CompoundsAnalyzer(sim.exportCompounds(), sim.atoms);
console.log(compounds.lengthByTypes);
console.log(compounds.itemLengthSummary);
console.log(compounds.itemLengthByTypesSummary);

console.log('[FINISH]');
}
44 changes: 3 additions & 41 deletions src/scripts/tool.ts
Original file line number Diff line number Diff line change
@@ -1,54 +1,16 @@
import { Simulation } from '@/lib/simulation';
import { Runner } from '@/lib/runner';
import { create2dBaseInitialConfig } from '@/lib/config/initial';
import { createPhysicModel } from '@/lib/utils/functions';
import { create2dRandomDistribution } from '@/lib/config/atoms';
import { createBaseWorldConfig } from '@/lib/config/world';
import { createBaseTypesConfig } from '@/lib/config/types';
import { createDummyDrawer } from '@/lib/drawer/dummy';
import { CompoundsAnalyzer } from '@/lib/analysis/compounds';
import { Router } from '@/scripts/lib/router';
import { actionTest } from '@/scripts/actions/test';

const router = new Router();

router.onBeforeRun((action) => {
router.onBeforeRun(() => {
console.log('');
console.log('***********************');
console.log('** COMMAND LINE TOOL **');
console.log('***********************');
console.log('');
console.log(`Action to run: "${action}"`);
console.log('');
})

router.add('test', (...args: string[]) => {
console.log('[START] test action', args);

const worldConfig = createBaseWorldConfig();
const typesConfig = createBaseTypesConfig();
const initialConfig = create2dBaseInitialConfig();

const sim = new Simulation({
viewMode: '2d',
worldConfig: worldConfig,
typesConfig: typesConfig,
initialConfig: initialConfig,
physicModel: createPhysicModel(worldConfig, typesConfig),
atomsFactory: create2dRandomDistribution,
drawer: createDummyDrawer(),
});

const runner = new Runner(sim);
runner.runSteps(500);

console.log(sim.summary);

const compounds = new CompoundsAnalyzer(sim.exportCompounds(), sim.atoms);
console.log(compounds.lengthByTypes);
console.log(compounds.itemLengthSummary);
console.log(compounds.itemLengthByTypesSummary);

console.log('[FINISH]');
});
router.add('test', actionTest);

router.run(process.argv.slice(2));

0 comments on commit f3a9d6d

Please sign in to comment.