OpenLLM-France/wikimedia huggingface dataset:
# Celestia/Celx Scripting/CELX Lua Methods/CEL command preloadtex
### preloadtex

preloadtex { object <string> }
Pre-load the specified texture file from disk into memory. Object <string> is the name of the object who's texture is to be pre-loaded into graphics card memory.
Depending on the file size of the texture being loaded, you may want to follow this command with a wait command. If you are preloading multiple textures, or large textures, you should definitely use a wait command. The wait duration will depend on the size of the texture file(s) and may require some testing to get it just right.
Arguments:

#### object <string>

    The name of the object who's texture is to be pre-loaded into graphics card memory. No default.
CELX equivalent:
Based on the object:preloadtexture method.
* Find an object with name <string> which must be preloaded and store in "objectname".
* Preload the texture of "objectname" from disk into memory.
Summarized:
Example: This example pre-loads the texture file for Mars:
CEL:
CELX with the object:preloadtexture method:
Back to CEL command index
# Celestia/Celx Scripting/CELX Lua Methods/CEL command lock
### lock

lock { }
This command locks two objects together. The first object selected is called the reference object, and the second object selected is called the target object. When they are locked together as a pair, as you rotate the scene, the target object stays locked to the reference object, and the distance displayed is the distance between the two objects.
In Lock mode, your position remains fixed relative to a line between the reference object and the target object. As the target object moves around the reference object (relatively speaking) so do you. Thus if the target object is Sol, the illuminated fraction of the reference object (its "phase") remains the same because you're moving around the object in sync with Sol.
The command has no arguments.
CELX equivalent-1:
Based on the observer:setframe method.
* Find and select the reference object with name <refstring> and store in "objectname_ref".
* Find the target object with name <tarstring> which must be locked with "objectname_ref" and store in "objectname_tar".
* Set the coordinate system of the frame of reference to lock with "objectname_tar" as target-object and "objectname_ref" as reference and store in "frame".
* Get observer instance of the active view instance and set the coordinate system of the frame of reference to "frame".
Summarized:
CELX equivalent-2:
Based on the observer:lock method.
* Find and select the reference object with name <refstring> and store in "objectname_ref".
* Find the target object with name <tarstring> which must be locked with "objectname_ref" and store in "objectname_tar".
* Get observer instance of the active view and activate lock-mode on the axis from "objectname_tar" to "objectname_ref" selected object. Lock-mode is the same as setting the frame of reference to lock with "objectname_tar"” as target-object and "objectname_ref" as reference.
Summarized:
Example: The example below will maintain your position with respect to the center of the Earth, and keep both the Sun (Sol) and the Earth at a fixed location in the camera view. It's the same as if you typed the following key sequence on your keyboard: [3] key → [F] key → [0] key (zero) → [shift + :] keys.
CEL:
CELX with the observer:lock method:
CELX with the observer:setframe method:
Back to CEL command index
# Celestia/Celx Scripting/CELX Lua Methods/CEL command orbitflags
### orbitflags

orbitflags { set|clear <orbitflagsstring> }
Set (turn on) or clear (turn off) rendering of specific orbits, when orbits are turned on using the renderflags command.
Arguments:

#### set <orbitflagsstring> -- OR -- clear <orbitflagsstring>

    The set or clear string values can be any combination of the items listed below. No default. Multiple values are specified within a single set of quotes ("...") by separating them with a space or vertical bar "|" (i.e. "Planet|Moon"):
   * Planet
   * Moon
   * Asteroid
   * Comet
   * Spacecraft
   * Invisible
   * Unknown
   * DwarfPlanet
   * MinorMoon
   * Star
CELX equivalent:
Based on the celestia:setorbitflags method.
* Use the celestia:setorbitflags{ <orbitflagstring> = boolean } method to enable or disable the rendering of orbitss. Note the curly braces. <orbitflagstring> is a table which contains the orbitflags as keys and booleans as values for each key. The orbitflag keys must be one of:
** Planet, Moon, Asteroid, Comet, Spacecraft, Invisible, Unknown, DwarfPlanet, MinorMoon, Star.
Multiple features can be enabled at once by giving multiple arguments to this method, separated with a comma ",".
Example: Enable the rendering of the orbits of planets and dwarfplanets.
CEL:
CELX
-- OR --
Back to CEL command index
# Celestia/Celx Scripting/CELX Lua Methods/CEL command move
### move

move { duration <duration> velocity <vector> }
Move the camera at the specified <vector> velocity in km/sec for each of the X, Y and Z axes, for the specified <duration> in seconds. A wait command is not necessary after a move command.
Arguments:

#### duration <duration>

    Number of seconds to take during the move. No default.

#### velocity <vector>

    Speed as defined for the currently active coordinate system, in km/second for each of the X, Y and Z axes in a vector [ < xspeed > < yspeed > < zspeed > ]. No default. Positive and negative <vector> values are used to indicate forward and reverse respectively ("+" sign is not necessary for positive values).
CELX equivalent:
Based on the observer:goto(table) method.
Note: The given positions in the observer:goto(table) method are expected to be relative to the universal frame-of-reference, while the non table-based goto uses positions relative to the current frame-of-reference.
* In CELX, positions are stored in millionths of a light year, so you have to convert km to millionths of a light year, using the "uly_to_km" constant.
* Obtain observer instance of the active view and store in "obs".
* Determine the actual observer position and store in "frompos":
* Determine the position to goto as follows:
** Convert vector [ <xspeed> <yspeed> <zspeed> ] to millionths of a light year and store in "velocityvector".
** Multiply "velocityvector" with <duration> seconds and add the result to the actual server position. The result must be stored in "topos".
* Define and initialize the parameter table as follows:
** Determine the number of seconds the goto should take.
** Obtain the current position of the observer = frompos (obtained 2 steps ago).
** New position object = topos (obtained in previous step))
** Obtain the current orientation of the observer.
** Because CEL: move does not change the observer orientation, the final orientation is the same as the initial orientation.
** Start adjusting the observer orientation after 0 percent of the time to goto (it’s the same orientation)
** End adjusting the observer orientation after 0 percent of the time to goto (it’s the same orientation).
** Spend 10% of the time for accelerating and decelerating
* Move the observer <duration> seconds towards target position.
* Wait <duration> seconds.
Summarized:
Summarized as a function:
Example: This example selects the Earth and positions the camera over Seattle, Washington, USA. Then moves the camera for 10 seconds as follows:
* along the X axis at a speed of 1000 km/second.
* along the Y axis at a speed of 2000 km/second.
* along the Z axis at a speed of 1500 km/second.
CEL:
CELX with the observer:goto(table) method:
CELX with the observer:goto(table) method in a function:
Back to CEL command index
# Celestia/Celx Scripting/CELX Lua Methods/CEL command print
### print

print { text <textstring> origin <originstring> duration <duration> row <rownumber> column <columnnumber> }
The print command allows you to display text in Celestia's display window, defining where the text is positioned and for how long it should be displayed.
You must follow the print command with a wait command of a duration equal to or greater than the specified <duration> is required.
Beware: If the text you want printed is longer than the width of the user's window, it will run off the right edge of the window.
Arguments:

#### text <textstring>

    The text you want displayed, surrounded by quote marks. No default. You may also use "\n" to generate a CR/LF at any position within the text string.

#### origin <originstring>

    Starting position of the first character of your text. Default is "bottomleft". Must be one of the following values:
   * bottom
   * bottomleft
   * bottomright
   * center
   * left
   * right
   * top
   * topleft
   * topright

#### duration <duration>

    Number of seconds to display the text message. Default is 1.0.

#### row <rownumber>

    Defines the starting display line (vertical position), offset from the <originstring>, on which the text should be displayed. Default is 0. Positive values move the starting row down, while negative values move the starting row up ("+" sign is not necessary).

#### column <columnnumber>

    The column number (horizontal position) where the first character of the text should be displayed. Default is 0. Column 0 (zero) is the left edge of the display screen.
CELX equivalent-1:
Based on the celestia:flash method.
Note: This method has no ability to position the text on a specific position on the screen. The celestia:print method should be used instead (see CELX equivalent-2)
* Print text on screen, similar to print. <textstring> A string containing the message to be printed. The string can contain newlines "\n" to break lines, or many special characters encoded in UTF-8. <duration> is the number of seconds the text is shown. Default is 5.0 sec.
CELX equivalent-2:
Based on the celestia:print method.
* Print text on screen. Celestia supports UTF-8 encoded text strings for showing non-ASCII characters. <textstring> is a string containing the message to be printed. The string can contain newlines "\n" to break lines, or many special characters encoded in UTF-8. <duration> is the number of seconds the text is shown. Default is 5.0 sec. <horig> is the horizontal origin of text: -1 is left, 0 center, 1 right. <vorig> is the vertical origin of text, -1 is bottom, 0 center, 1 top. <hoffset> is the horizontal offset relative to the horizontal origin. <voffset> is the vertical offset relative to the vertical origin.
Example: This example prints the message "Hello Universe!" three rows up from the bottom of the display screen, starting two columns from the left edge:
CEL:
CELX with the celestia:flash method:
CELX with the celestia:print method:
Back to CEL command index
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |

## Ruy Lopez, Marshall Gambit Main Line

Black's move ...c6 nails down the d5-knight. For White to chop it off (12. Bxd5) would now leave Black with the bishop pair on an open board, and three queenside pawns that would tightly restrain White's four.
* 12. d4 is a natural developing move and the main line. Skip ahead to the first major fork in the road, which occurs after
** 12...Bd6 13. Re1 Qh4 14. g3 Qh3
* 12. d3 is a significant sideline favoured by Alexey Shirov. The pawn itself will be weaker for being on d3 instead of d4, but in return White gains the possibility of quickly converting the extra pawn into a passed pawn with a later c4 push. 12. d3 scores slightly better than 12. d4 at master level and is significantly less analysed.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
White has to move the rook from e5. The safest square for it is back on e1:
There's also the sideline
which seems to be motivated as much by novelty as anything else - the defence of f2 isn't generally an important factor, and the rook on e2 cuts the White queen's contact with h5 which gives Black the option of retreating her own queen there (from h3, after ...Qh4 g3 Qh3) in some lines.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6/13. Re1

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
Black gets another free attacking move in this position, namely 13...Qh4 doubling the attack on the h2-pawn.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6/13. Re1/13...Qh4/14. g3/14...Qh3/15. Re4

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
The surprising 15...g5! is the only move. Black prevents Rh4 by direct means. White can't simply reply with Bxg5 because ...Qf5 would fork the two loose White pieces.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6/13. Re1/13...Qh4/14. g3/14...Qh3/15. Re4/15...g5

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |

## Ruy Lopez, Marshall Gambit with 15. Re4
### The 90's Variation: 16. Qf3

This was the choice of Dutch super-GMs Jan Timman and Gert Timmerman in the 1990's, but it's been under a cloud ever since Michael Adams with the Black pieces knocked off Veselin Topalov in a Sarajevo tournament in 2000. The automatic response is
* 16...Bf5,
after which 17.Re1 would be an abject retreat, so the uncompromising follow-ups for White involve sacrificing the exchange for a second Black pawn, with either 17.Bxd5 cxd5 18.Re3 Be4 19.Rxe4, or (Topalov's choice):
* 17.Bc2 Bxe4 18.Bxe4 Qe6 (to defend d5 again) 19.Bxg5 f5,
when both Topalov's liquidating 20.Bxd5 and the retreat 20.Bd3 as in Timmerman-Slavchev 1991 would leave Black with a powerful threat of ...f4 activating the f8-rook in situ and ruining White's kingside pawns for the endgame. So 16. Qf3 was abandoned (no 2550+ player has tried it since 2001), in favour of...

### The Modern Variation: 16. Qf1

This has been the preference of an all-star cast of current Ruy Lopez players: Anand, Kramnik, Shirov, Svidler, So, Vachier-Lagrave, Bacrot and Short to name a few. White evicts the Black queen from h3, and isn't too concerned about ...Qxf1+ in response which would leave Black a pawn down with no attack. Instead,
* 16...Qh5
keeps some threats on the board. Now that the c1-bishop doesn't really have a good square, White might as well develop the knight instead with
* 17.Nd2
and now Black has two ways of gaining time at the expense of the e4-rook.
* 17...Bf5 can be met by 18.f3! when
** 18...Bxe4? 19.fxe4 brings the b3-bishop back to life to great effect; after something like 19...Ne3 20.Qf3 Qxf3 21.Nxf3 White has a pawn, the bishop pair and enormous positional compensation for the exchange.
** 18...Nf6 19.Qg2 (threatening a fork on g4 by guarding the h2 square) 19...Qg6 20.Re3 and White has good prospects of surviving the attack without having to sacrifice the exchange. 20...Rae8 21.Ne4 Nxe4 22.g4! Ng3 23.hxg3 and White has built a wall along the third rank.
* 17...f5 and now the intermezzo 18.Bd1 scores excellently for White: 18...Qh6 19.Re1 f4 20.Ne4 (aiming for c5) 20...Bc7 and now 21.Bd2 has been the most common move with continuing complications.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
12...Bd6 is the universal response to 12. d4. Black's e7-bishop is hitting thin air on g5 and h4, so it relocates with gain of tempo to hit the much more exciting h2 square.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6/13. Re1/13...Qh4

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
White has to do something about the double attack on h2. 14.h3 Bxh3! is a disaster, so it has to be 14. g3, one of the key moves of the Marshall Gambit proper.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6/13. Re1/13...Qh4/14. g3

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
14. Qh3 is the only move to save the queen while preserving some threats against the vulnerable White kingside.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
Black's knight must be saved from the combined attack by White's bishop and rook.
When the American master Frank Marshall surprised future World Champion Jose Capablanca with the Marshall Gambit in 1918, his chosen follow-up was 11...Nf6, returning the knight to the kingside where Black's attack will be taking place.
But in the century since then, trial and error has caused 11...c6 to evolve into the main line.
# Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...O-O/8. c3/8...d5/9. exd5/9...Nxd5/10. Nxe5/10...Nxe5/11. Rxe5/11...c6/12. d4/12...Bd6/13. Re1/13...Qh4/14. g3/14...Qh3

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |

## Ruy Lopez, Marshall Gambit

We've arrived at a critical point in the Marshall Gambit. Black has a simple threat of ...Bg4, after which the White queen will have to guard against the checkmate threat with ...Bf3 and ...Qg2. This would draw the queen away from the defence of the e1-rook, and the unsupported rook would then have difficulty resisting a Black takeover of the e-file starting with ...Rae8.
The old main line is 15. Be3. White pre-emptively blocks the e-file against Black's potential takeover. 15. Be3 makes sense in the context of White's development; the b1-knight will have to come to d2 if it hopes to influence matters on the kingside, but playing it immediately would box the c1-bishop in, so get that bishop out of the way first.
But what does the bishop do on e3? Well, nothing. Black has no threats against either f2 or d4, and a few moves down the line White may well be forced to meet a Black pawn push to f5 with the blocking move f4 (to stop Black playing ...f4 herself), at which point the bishop itself will be a target of the d5-knight and a rook on e8.
If White wants to take decisive action against the invading Black queen, the move 15. Re4 threatening Rh4 and preventing ...Bg4 is an excellent alternative to the main line. How excellent? Excellent to the tune of giving White 34% wins instead of 26%, and restricting Black to 23% wins instead of 32% (yes, Black wins considerably more games than White in the 15. Be3 line!) There is a caveat: White players of 15. Re4 are about 50 points higher rated to begin with. But there is a caveat to the caveat: after normalising for the White player's grade, 15. Re4 still outperforms 15. Be3 by about 80 points. In fact, as of 2018 White's last 13 wins against GM opposition have come in lines other than 15. Be3.
| | 15 |
| Main Line | Be3 | |
| | ... | Re4 | = |