The date-fns and date-fns-tz Node.js packages are being updated, and version 3 has some bugs. When you try to use them in TypeScript you get the error message
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './format/index.js' is not defined by "exports" in ...
Currently, the only solution is the restrict the version to 2.
KSP 2 version 0.2.0.0, “For Science!” opens an entirely new type of game play. Now we can complete missions, do science experiments, collect Science Points and unlock new parts in the Research and Development Center.
Recommended mods
The Science Arkive mod lists all available experiments by celestial body, so check it before you launch. It is available in the VAB and Map View.
The Orbital Survey mod displays information on the planet and moon scanning process.
Environment Survey
There are three kind of experiments in the game that award you science points:
Crew observations
Surface Survey
Environment Survey
The first two are performed by the crew by writing down their experiences and taking surface samples. The third experiment requires a Science Collector. Make sure all of your command modules and landers contain one, to be able to survey the orbit and surface of Kerbin and other celestial bodies after landing.
Scanning celestial bodies
There are two scanning modes: Visual and Region scan. The scanning mode depends on the antenna.
Hardware
The RA-15 Static Antenna performs visual scan
The Communotron DTS-M1 deployable antenna performs region scan.
Orbit inclination
To scan a celestial body, we need to place the space craft in a 90° inclination orbit. This way the planet or moon rotates under the space craft while orbiting it in the same plane.
To place a craft in a 90° inclination orbit around Kerbin, launch the vessel in the North or South direction. As the rotation’s angular velocity is zero, you need significantly more delta V (fuel) to reach the same orbital altitude.
Orbital altitude
The field of view of the antenna is 3°. The diameter of the planet or moon determines the ideal scanning altitude.
When the antenna is not extended, the displayed minimal, optimal and maximum scanning altitude values are not correct. To view the correct values:
Place the craft in an orbit around the celestial body,
Right-click the Communotron DTS-M1 antenna to open the Parts Manager,
Extend the antenna,
Read the minimum, ideal and maximum scanning altitudes.
The scanning altitudes depend on the diameter of the celestial body. For simplicity, the bodies are grouped into three categories: small (max 150 km radius), medium (max 350 km radius), large (max 10,000 km radius)
Body
Visual Scan Minimum
Visual Scan Ideal
Visual Scan Maximum
Region Scan Minimum
Region Scan Ideal
Region Scan Maximum
Kerbin (large)
500 km
800 km
1,100 km
1,000 km
1,500 km
2,000 km
Mun (medium)
100 km
300 km
500 km
300 km
500 km
700 km
Minmus (small)
Duna (medium)
100 km
300 km
500 km
300 km
500 km
700 km
Scanning progress
To see the progress of the scanning, open the Orbital Survey mod
Select the body
The dropdown lists the bodies which has scanning data
Vessels
The VES button displays the scanning vessel names around the body.
Overlay
The OVL button displays the scanned regions on the body surface.
Collecting Science Points
When 25%, 50%, 75% and 100% of the body has been scanned, science points are awarded. The full orbital region scan of a celestial body awards 180 Science Points.
Check the progress on the Orbital Survey display.
When the next threshold is reached, open the Research Inventory and transmit the results. To make sure all data is transmitted, you can click the Transmit All button instead.
To speed up the orbital scanning, set the time warp to 100% and have dinner. By the time you are done, the planet most likely has been scanned.
Click the TRANSMIT ALL button to send the data to Mission Control and collect the Science Points.
Sample Grabber
The RSCM-01 Sample Grabber has to be mounted with the drill facing up. Mounting it on the top surface will place it in the correct direction.
To save space, we can move the grabber arm inside the rover body, it is not that elegant, but still works:
Troubleshooting
If the RSCM-01 Sample Grabber is mounted on the side of the rover, we get a misleading error message when we try to run a survey:
Surface Survey Status:
Invalid Research Location
Revert to VAB takes away the progress during that flight
When you revert to VAB, the progress achieved during that flight disappears:
You lose the science points collected during the flight,
You lose the already unlocked parts during the mission.
During the building of a Docker container for a Python application we may get the following error message
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: ‘/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_477u68wvzm/croot/certifi_1671487773341/work/certifi
This is caused by an out of date path in the requirements file for “certifi”. To fix the issue
Download the Print Driver and Scan Utility Installer
Double-click the downloaded file to install the Scanner Utility
Select the printer and click the Next button
Scanning with the IJ Scan Utility
Start the IJ Scan Utility
The IJ Scan Utility is located in the Canon Utilities folder of the Start Menu
To use the preview function
Click the ScanGear button
On the Basic Mode tab click the Preview button
If you want to configure more settings, use the Advanced Mode tab
Troubleshooting
You are trying to scan an image exceeding 100 MB. If you want to scan this image, reduce image size or disable the thumbnails view mode.
To turn off the thumbnails mode
In the upper left corner of the ScanGear window click the Thumbnail view mode button.
Replacing the printer or changing the network connection
The installer saves the MAC address of the printer, so if you need to replace the already selected printer, or you are changing between Wi-Fi and wired network connection, you need to first uninstall and reinstall the Canon IJ Scan Utility. Even if you run the Scanner Selector application, it does not replace the scanner information in the scanner application. The Wi-Fi and wired network adapters have different MAC addresses.
Uninstall the Canon IJ Scan Utility
Reinstall the Canon IJ Scanner Utility (see above)
TypeScript (and JavaScript) functions can only return one value, but that value can be an object. To return multiple values from a function, we can return those in an object.
There are two ways of returning an object from a TypeScript function:
Create an object in the function, set the property values and return it
Create an array inline in the return statement. (An array is an object.)
In this example the first element is a string, the second is a number.
function myFunction(): [string, number] {
return ['Monday', 1];
}
let [a, b] = myFunction();
Async functions
Async functions return promises, so we need to add it to the return type declaration.
async function myFunction(): Promise<[string, number]> {
return ['Monday', 1];
}
let [a, b] = await myFunction();
Use curly braces
We can use curly braces to enclose the return values, but don’t forget to surround the entire expression with parentheses.
function myFunction(): [string, number] {
return {'Monday', 1};
}
let ( {a, b} = myFunction() );
Async functions
When an async function returns multiple values in curly braces, we don’t need the parentheses around the entire call expression.
async function myFunction(): [string, number] {
return {'Monday', 1};
}
let {a, b} = await myFunction();