var configObject = function(){ //stage properties... var stageProperties = { stageWidth: 1200, stageHeight: 600, stageBGColor: 'rgba(0, 210, 255, 0.5)', manifest: [ //scene_0 { "src": "console.png", "id": "waveConsole"}, //skies ... { "src": "radio_sky.jpg", "id": "radioSky"}, { "src": "cmb.jpg", "id": "cmb"}, { "src": "ir.jpg", "id": "irSky"}, { "src": "nightsky.jpg", "id": "nightSky"}, { "src": "uv_andromeda.jpg", "id": "uvAndromeda"}, { "src": "xray_sky.jpg", "id": "xraySky"}, { "src": "gamma_sky.jpg", "id": "gammaSky"}, //objects //radio { "src": "satellite.png", "id": "satellite"}, { "src": "dish.png", "id": "dish"}, //micro { "src": "planck_sat.png", "id": "planckSat"}, { "src": "microwave_tower.png", "id": "microwaveTower"}, //IR { "src": "iras_sat.png", "id": "irasSat"}, { "src": "jwst.png", "id": "jwst"}, { "src": "infrared_couple.png", "id": "infraredCouple"}, { "src": "couple_glow.png", "id": "coupleGlow"}, //light { "src": "hubble_sat.png", "id": "hubbleSat"}, { "src": "prism.png", "id": "prism"}, { "src": "vibgyor_ray.png", "id": "vibgyorRay"}, //uv { "src": "astrosat.png", "id": "astroSat"}, { "src": "butterfly_normal.png", "id": "bfNormal"}, { "src": "butterfly_uv.png", "id": "bfUV"}, { "src": "neon_hello.png", "id": "neonHello"}, { "src": "neon_icecream.png", "id": "neonIcecream"}, { "src": "neon_licorne.png", "id": "neonLicorne"}, { "src": "neon_crane.png", "id": "neonCrane"}, { "src": "neon_saturn.png", "id": "neonSaturn"}, { "src": "flower_normal.png", "id": "flowerNormal"}, { "src": "flower_uv.png", "id": "flowerUV"}, { "src": "flower_composite.png", "id": "flowerComposite"}, { "src": "bird_normal.png", "id": "birdNormal"}, { "src": "bird_uv.png", "id": "birdUV"}, { "src": "scorpion_uv.png", "id": "scorpionUV"}, //xray { "src": "chandrasat.png", "id": "chandraSat"}, { "src": "xray_machine.png", "id": "xrayMachine"}, { "src": "xray_machine_plate.png", "id": "xrayMachinePlate"}, //gamma { "src": "fgsat.png", "id": "fermiSat"}, { "src": "magic_telescope.png", "id": "magicTel"}, //ionizing { "src": "biohazard_ico.png", "id": "bioHazardIco"}, //sprites { "src": "radio_sprites.png", "id": "radio"}, { "src": "micro_sprites.png", "id": "micro"}, { "src": "infrared_sprites.png", "id": "infrared"}, { "src": "light_sprites.png", "id": "light"}, { "src": "ultraviolet_sprites.png", "id": "ultraviolet"}, { "src": "xray_sprites.png", "id": "xray"}, { "src": "gamma_sprites.png", "id": "gamma"}, //graphics { "src": "emw.jpg", "id": "emw"}, //Radio { "src": "transistor.png", "id": "transistor"}, { "src": "maxwell.png", "id": "maxwell"}, { "src": "hertz.png", "id": "hertz"}, { "src": "radio_pioneers.png", "id": "radioPioneers"}, //Micro { "src": "microwave_uses.png", "id": "microUses"}, { "src": "cmb_planck.png", "id": "cmbPlanck"}, { "src": "millimetre.png", "id": "millimetre"}, { "src": "radar.png", "id": "radar"}, //IR { "src": "ir_uses.png", "id": "irUses"}, { "src": "ir_nightsky.jpg", "id": "irNightSky"}, { "src": "herschels.png", "id": "herschels"}, { "src": "black_body.png", "id": "blackBody"}, //light { "src": "eyes.png", "id": "eyes"}, { "src": "theskyatnight.jpg", "id": "theSkyAtNight"}, { "src": "interference.png", "id": "interference"}, { "src": "photoelectric.png", "id": "photoelectric"}, //uv { "src": "uv_uses.png", "id": "uvUses"}, { "src": "andromeda.jpg", "id": "andromeda"}, { "src": "uv_pioneers.png", "id": "uvPioneers"}, { "src": "euv_optical_lithography.png", "id": "euvOpticalLithography"}, //xray { "src": "xray_uses.png", "id": "xrayUses"}, { "src": "xray_sky_detail.jpg", "id": "xraySkyDetail"}, { "src": "xray_pioneers.png", "id": "xrayPioneers"}, { "src": "xray_crystallography.png", "id": "xrayCrystallography"}, { "src": "xray_scope.jpg", "id": "xrayScope"}, //gamma rays { "src": "gamma_uses.png", "id": "gammaUses"}, { "src": "gamma_sky_detail.jpg", "id": "gammaSkyDetail"}, { "src": "gamma_pioneers.png", "id": "gammaPioneers"}, { "src": "lhc.png", "id": "lhc"}, //scene_2 //scene_3 //etc... ], sounds: { path: "./assets/", manifest: [ { id: "radioSounds", src: { mp3: "mp3/radio_bg.mp3" } }, { id: "microSounds", src: { mp3: "mp3/micro_bg.mp3" } }, { id: "infraSounds", src: { mp3: "mp3/ir_bg.mp3" } }, { id: "lightSounds", src: { mp3: "mp3/light_bg.mp3" } }, { id: "uvSounds", src: { mp3: "mp3/uv_bg.mp3" } }, { id: "xraySounds", src: { mp3: "mp3/xray_bg.mp3" } }, { id: "gammaSounds", src: { mp3: "mp3/gamma_bg.mp3" } }, { id: "radioSlide1", src: { mp3: "mp3/radio_slide_1.mp3" } }, { id: "radioSlide2", src: { mp3: "mp3/radio_slide_2.mp3" } }, { id: "radioSlide3", src: { mp3: "mp3/radio_slide_3.mp3" } }, { id: "radioSlide4", src: { mp3: "mp3/radio_slide_4.mp3" } }, { id: "microSlide1", src: { mp3: "mp3/micro_slide_1.mp3" } }, { id: "microSlide2", src: { mp3: "mp3/micro_slide_2.mp3" } }, { id: "microSlide3", src: { mp3: "mp3/micro_slide_3.mp3" } }, { id: "infraredSlide1", src: { mp3: "mp3/infrared_slide_1.mp3" } }, { id: "infraredSlide2", src: { mp3: "mp3/infrared_slide_2.mp3" } }, { id: "infraredSlide3", src: { mp3: "mp3/infrared_slide_3.mp3" } }, { id: "lightSlide1", src: { mp3: "mp3/light_slide_1.mp3" } }, { id: "lightSlide2", src: { mp3: "mp3/light_slide_2.mp3" } }, { id: "lightSlide3", src: { mp3: "mp3/light_slide_3.mp3" } }, { id: "ultravioletSlide1", src: { mp3: "mp3/ultraviolet_slide_1.mp3" } }, { id: "ultravioletSlide2", src: { mp3: "mp3/ultraviolet_slide_2.mp3" } }, { id: "ultravioletSlide3", src: { mp3: "mp3/ultraviolet_slide_3.mp3" } }, { id: "xraySlide1", src: { mp3: "mp3/xray_slide_1.mp3" } }, { id: "xraySlide2", src: { mp3: "mp3/xray_slide_2.mp3" } }, { id: "xraySlide3", src: { mp3: "mp3/xray_slide_3.mp3" } }, { id: "xraySlide4", src: { mp3: "mp3/xray_slide_4.mp3" } }, { id: "gammaSlide1", src: { mp3: "mp3/gamma_slide_1.mp3" } }, { id: "gammaSlide2", src: { mp3: "mp3/gamma_slide_2.mp3" } }, { id: "gammaSlide3", src: { mp3: "mp3/gamma_slide_3.mp3" } }, ] } }; //define the scenes... var scenes = { //names must be in the order they are played... names: [ "Electromagnetic Wave Generator", //scene_0 ], //defaults, may be overwritten (TODO) offset: 5, bgColor: 'rgba(0, 210, 255, 0.2)', border: { size: 2, color: 'rgba(0, 155, 255, 1)' }, borderRadius: [5, 5, 5, 5], }; //scene assets... var assets = { properties: [ //scene_0 { waveConsole: { id: 'waveConsole', x: 8, y: 0, scaleX: 1, scaleY: 1 }, radioSky: { id: 'radioSky', x: 8, y: 0, scaleX: 1, scaleY: 1 }, cmb: { id: 'cmb', x: 0, y: 0, scaleX: 1, scaleY: 1 }, irSky: { id: 'irSky', x: 0, y: 0, scaleX: 1, scaleY: 1 }, nightSky: { id: 'nightSky', x: 0, y: 0, scaleX: 1, scaleY: 1 }, uvAndromeda: { id: 'uvAndromeda', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xraySky: { id: 'xraySky', x: 0, y: 0, scaleX: 1, scaleY: 1 }, gammaSky: { id: 'gammaSky', x: 0, y: 0, scaleX: 1, scaleY: 1 }, satellite: { id: 'satellite', x: 0, y: 0, scaleX: 0.2, scaleY: 0.2 }, dish: { id: 'dish', x: 0, y: 0, scaleX: 0.3, scaleY: 0.3 }, planckSat: { id: 'planckSat', x: -300, y: 0, scaleX: 0.4, scaleY: 0.4 }, microwaveTower: { id: 'microwaveTower', x: 0, y: 0, scaleX: 0.8, scaleY: 0.8 }, irasSat: { id: 'irasSat', x: -300, y: 0, scaleX: 0.2, scaleY: 0.2 }, jwst: { id: 'jwst', x: -300, y: 0, scaleX: 0.5, scaleY: 0.5 }, infraredCouple: { id: 'infraredCouple', x: 0, y: 0, scaleX: 1, scaleY: 1 }, coupleGlow: { id: 'coupleGlow', x: 0, y: 0, scaleX: 1, scaleY: 1 }, hubbleSat: { id: 'hubbleSat', x: -350, y: 0, scaleX: 0.6, scaleY: 0.6 }, prism: { id: 'prism', x: 0, y: 0, scaleX: 1, scaleY: 1 }, vibgyorRay: { id: 'vibgyorRay', x: 0, y: 0, scaleX: 1, scaleY: 1 }, chandraSat: { id: 'chandraSat', x: -300, y: 0, scaleX: 1, scaleY: 1 }, astroSat: { id: 'astroSat', x: -300, y: 0, scaleX: 1, scaleY: 1 }, bfNormal: { id: 'bfNormal', x: 0, y: 0, scaleX: 1, scaleY: 1 }, bfUV: { id: 'bfUV', x: 0, y: 0, scaleX: 1, scaleY: 1 }, flowerNormal: { id: 'flowerNormal', x: 0, y: 0, scaleX: 1, scaleY: 1 }, flowerUV: { id: 'flowerUV', x: 0, y: 0, scaleX: 1, scaleY: 1 }, flowerComposite: { id: 'flowerComposite', x: 0, y: 0, scaleX: 1, scaleY: 1 }, scorpionUV: { id: 'scorpionUV', x: 0, y: 0, scaleX: 1, scaleY: 1 }, birdNormal: { id: 'birdNormal', x: 0, y: 0, scaleX: 1, scaleY: 1 }, birdUV: { id: 'birdUV', x: 0, y: 0, scaleX: 1, scaleY: 1 }, neonHello: { id: 'neonHello', x: 0, y: 0, scaleX: 1, scaleY: 1 }, neonIcecream: { id: 'neonIcecream', x: 0, y: 0, scaleX: 1, scaleY: 1 }, neonLicorne: { id: 'neonLicorne', x: 0, y: 0, scaleX: 1, scaleY: 1 }, neonSaturn: { id: 'neonSaturn', x: 0, y: 0, scaleX: 1, scaleY: 1 }, neonCrane: { id: 'neonCrane', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xrayMachine: { id: 'xrayMachine', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xrayMachinePlate: { id: 'xrayMachinePlate', x: 0, y: 0, scaleX: 1, scaleY: 1 }, fermiSat: { id: 'fermiSat', x: -300, y: 0, scaleX: 1, scaleY: 1 }, magicTel: { id: 'magicTel', x: 0, y: 0, scaleX: 1, scaleY: 1 }, bioHazardIco: { id: 'bioHazardIco', x: 0, y: 0, scaleX: 1, scaleY: 1 }, radio: { id: 'radio', x: 193, y: 270, scaleX: 1, scaleY: 1 }, micro: { id: 'micro', x: 193, y: 270, scaleX: 1, scaleY: 1 }, infrared: { id: 'infrared', x: 193, y: 270, scaleX: 1, scaleY: 1 }, light: { id: 'light', x: 193, y: 270, scaleX: 1, scaleY: 1 }, ultraviolet: { id: 'ultraviolet', x: 193, y: 270, scaleX: 1, scaleY: 1 }, xray: { id: 'xray', x: 193, y: 270, scaleX: 1, scaleY: 1 }, gamma: { id: 'gamma', x: 193, y: 270, scaleX: 1, scaleY: 1 }, emw: { id: 'emw', x: 140, y: 25, scaleX: 1, scaleY: 1 }, transistor: { id: 'transistor', x: 0, y: 0, scaleX: 0.3, scaleY: 0.3 }, maxwell: { id: 'maxwell', x: 0, y: 0, scaleX: 1, scaleY: 1 }, hertz: { id: 'hertz', x: 0, y: 0, scaleX: 1, scaleY: 1 }, radioPioneers: { id: 'radioPioneers', x: 0, y: 0, scaleX: 1, scaleY: 1 }, microUses: { id: 'microUses', x: 0, y: 0, scaleX: 1, scaleY: 1 }, cmbPlanck: { id: 'cmbPlanck', x: 0, y: 0, scaleX: 1, scaleY: 1 }, millimetre: { id: 'millimetre', x: 0, y: 0, scaleX: 1, scaleY: 1 }, radar: { id: 'radar', x: 0, y: 0, scaleX: 1, scaleY: 1 }, irUses: { id: 'irUses', x: 0, y: 0, scaleX: 1, scaleY: 1 }, irNightSky: { id: 'irNightSky', x: 0, y: 0, scaleX: 1, scaleY: 1 }, herschels: { id: 'herschels', x: 0, y: 0, scaleX: 1, scaleY: 1 }, blackBody: { id: 'blackBody', x: 0, y: 0, scaleX: 1, scaleY: 1 }, eyes: { id: 'eyes', x: 0, y: 0, scaleX: 1, scaleY: 1 }, theSkyAtNight: { id: 'theSkyAtNight', x: 0, y: 0, scaleX: 1, scaleY: 1 }, interference: { id: 'interference', x: 0, y: 0, scaleX: 1, scaleY: 1 }, photoelectric: { id: 'photoelectric', x: 0, y: 0, scaleX: 1, scaleY: 1 }, uvUses: { id: 'uvUses', x: 0, y: 0, scaleX: 1, scaleY: 1 }, andromeda: { id: 'andromeda', x: 0, y: 0, scaleX: 1, scaleY: 1 }, uvPioneers: { id: 'uvPioneers', x: 0, y: 0, scaleX: 1, scaleY: 1 }, euvOpticalLithography: { id: 'euvOpticalLithography', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xrayUses: { id: 'xrayUses', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xraySkyDetail: { id: 'xraySkyDetail', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xrayPioneers: { id: 'xrayPioneers', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xrayCrystallography: { id: 'xrayCrystallography', x: 0, y: 0, scaleX: 1, scaleY: 1 }, xrayScope: { id: 'xrayScope', x: 0, y: 0, scaleX: 1, scaleY: 1 }, gammaUses: { id: 'uvUses', x: 0, y: 0, scaleX: 1, scaleY: 1 }, gammaSkyDetail: { id: 'gammaSkyDetail', x: 0, y: 0, scaleX: 1, scaleY: 1 }, gammaPioneers: { id: 'gammaPioneers', x: 0, y: 0, scaleX: 1, scaleY: 1 }, lhc: { id: 'lhc', x: 0, y: 0, scaleX: 1, scaleY: 1 }, //phew...! }, //scene_1, etc... ] }; //scene controls... var controls = { properties: [ //scene_0 { slider: { id: 'slider', x: 193, y: 565, width: 490, height: 8, handleWidth: 15, handleMax: 6, handleUnit: '', handleInitPos: 0, trackBGSolid: '#E8CB93', trackBGType: 'solid', trackBorder: { thickness: 2, color: '#422C02' }, colorChange: true, displayBubble: false, visible: false }, infoButton: { x: 1000, y: 545, radius: 20, displayLabel: true, visible: false, type: 'rectangular', text: 'Info', BGFillSolid: { normal: 'rgba(0, 210, 255, 0.8)', hover: 'rgba(255, 204, 0, 1)', active: 'rgba(255, 0, 0, 1)', } }, }, //scene_1, etc ... ] }; var about = { appName: 'Electromagnetic Wave Generator', appVersion: '1.0', appDate: '9th February, 2022', appBuild: '5', appBuildDate: '10th April 2022', author: 'Shubhojoy Mitra', authorEmail: 'shubhojoy@gmail.com', description: 'Generate various waves of the electromagnetic spectrum and learn more about them', usage: `` }; var config = { setStageProperties: function(){ this.stageProperties = stageProperties; }, setScenes: function(){ this.scenes = scenes; }, setAssets: function(){ this.assets = assets; }, setControls: function(){ this.controls = controls; }, setAbout: function(){ this.about = about; }, init: function(){ this.setStageProperties(); this.setScenes(); this.setAssets(); this.setControls(); this.setAbout(); return this; } }; var globalConfig = config.init(); return globalConfig; };