592d1687d5
feat(track): the texture of a shared running surface blends into the texture of the rail it lies on: 2 cm on each side of the boundary both are drawn in tinted variants of their materials that fade per vertex into the mean colour of the two treads, sampled from the texture files, so the edge of the wheels of the other track leaves a soft band instead of a line
maj00r
2026-10-14 00:01:20 +02:00
1219dde073
fix(track): obtuse crossings share the running surface too: the top of a rail crossed by the treads of the wheels of the other track takes the brighter texture between the gauge line of the other rail and the edge of its treads, so the boundary runs aslant on both sides
maj00r
2026-10-13 23:22:31 +02:00
90e80aa161
fix(track): the shared running surface ends along the edge of the treads of the wheels of the other track, not across the rail: on a nose leg the edge runs aslant over the head, on a stock rail it follows the curve of the other path; only the top of the head takes the other texture, the rest of the rail keeps its own
maj00r
2026-10-13 23:13:01 +02:00
6d8c40b504
fix(track): the two legs of a V nose are cut along the bisector of their gauge lines and meet in the middle as one nose, from a tip 12 mm wide to where their full profiles part, instead of the splice rail giving way under the head of the point rail
maj00r
2026-10-13 22:57:34 +02:00
989a6cd47e
fix(track): flat rail frogs have no plates in the V; the shared running surface of a nose leg goes from its tip to where the wheels of the other track stop reaching its head, on the leg only and not on the wing beside it; the stock rail of a switch is shared up to a quarter of the blade length, where the blade head is half its width and takes the wheel
maj00r
2026-10-13 22:54:43 +02:00
7e20023d07
feat(track): where two rails share a running surface it takes the texture whose running surface is brighter; the brightness is read from the texture file over the u range of the rail head top, the shared parts are the block of crossing grooved rails, the nose of an acute frog from its tip to the end of the V, the through rail across a wide or grooved crossing, the frog of a switch, and the stock rails of a switch with frogs up to half the blade length where the blade grows to a full head
maj00r
2026-10-13 22:36:09 +02:00
2ece18cc4a
fix(track): a crossing of grooved rails is one flat block where their lofts overlap; the rail cut by the other covers the roundings of the rail going through, the tops in the block are flat in one texture, the plates of the V reach up to the rail top, the walls of the cuts are lit and textured as walls, and the nose between two flangeways starts blunt at the width of a nose tip instead of a thin sliver standing in the groove
maj00r
2026-10-13 22:03:36 +02:00
18c01ceb72
feat(track): frogs and crossings for every rail profile; grooved rails share the floor of their grooves where they cross and need no check rails, the V beside the rail going through is one block where the lofts of the rails overlap; the nose of an acute frog of flat rails is filled between its legs as far as their lofts overlap, like a cast insert
maj00r
2026-10-13 21:03:17 +02:00
6fe30714f7
fix(track): the lowest of two height lists also takes the points where they cross, so the top of an obtuse point rail is not cut narrower than its sides; the end of a short neighbour track joined at a crossing is the nearer one, not any within half a metre
maj00r
2026-10-13 19:59:39 +02:00
d4d8168aec
fix(editor): self-test frog takes the throat, nose, wing end and check rails from the sizes the rails are laid with, so the wing end is logged where it is laid; self-test crossings tells crossings at middle angles apart and counts them
maj00r
2026-10-13 19:07:17 +02:00
1aaaa3be9c
refactor(track): one plan projection, cross product and meeting of two lines in plan for the crossings of rails, the frog of a switch and the check rails, in place of copies in each
maj00r
2026-10-13 19:05:11 +02:00
9016d72d74
refactor(track): the rails of the two paths of a switch are laid by one loop for left and right switches alike, the side of the blade of a path and the blade itself come from one place, used when a switch is made, thrown and its frog found
maj00r
2026-10-13 19:03:20 +02:00
324974041c
refactor(track): the blades of a thrown switch are drawn again with their cut faces by one helper instead of four copies; self-test command switches sets every switch to a path and moves its blades there at once
maj00r
2026-10-13 18:56:21 +02:00
38b2f4108a
perf(track): pieces of gauge lines whose bounding boxes do not meet are skipped before they are intersected; self-test railtime logs how much of the time goes to finding the crossings
maj00r
2026-10-13 18:54:11 +02:00
c0b50cc3d2
perf(track): the gauge lines, crossings and check rails of a track are kept until a track is made, rebuilt or removed, so laying the rails of a track no longer recomputes its neighbours' crossings for each wing rail; self-test command railtime times planning the rails of all tracks
maj00r
2026-10-13 18:47:04 +02:00
420e4742b5
feat(editor): self-test command guards logs each guard rail and what each of its ends and breaks is cut along: the rail of the other track, how far off its gauge line and how skewed; a fault when a cut is not along a rail, or a glued end of the frame of a crossing at a middle angle is not on the face of a guard rail of the other track
maj00r
2026-10-13 18:41:56 +02:00
a93ed67c58
feat(editor): every switch laid in the editor gets the key frogs, a box in the Switch panel sets or clears it as one undo step; the editor rebuilds the tracks crossing a changed or removed one; self-test commands frog, crossings, frogkey and geomhash; Polish translation
maj00r
2026-10-13 18:30:16 +02:00
16672e81cc
feat(track): rails are cut where they cross other rails: a switch with the key frogs draws its frog, wing rails and check rails from its rails, tracks crossing other tracks get acute frogs with wing rails and check rails, obtuse points, guard rails along the quadrilateral of a crossing between 20 and 45 degrees and broken rails with guard rails at wider angles, the track going through chosen by name; sizes come from the rail profile, only for the profiles default, s60, uic60 and s39, others are laid whole; rail ends left open are closed with their cross-section; switches of older sceneries, with check rails in their includes and no key, are drawn as before
maj00r
2026-10-13 18:30:16 +02:00
f067824014
feat(renderer): a matte variant of a material for the parts of rails no wheel rolls on: it lights the same maps as weathered steel, with the weathering scaled per vertex by userdata, so a polished running surface fades into unused steel without a bright stripe; the cut faces of rails are drawn in it in an extra pass
maj00r
2026-10-13 18:30:16 +02:00
70abf879b3
Add vehicle graph core: .vhg loader, logic and cab blocks, -graph-run and -graph-catalog
Hirek1932026-10-13 10:55:53 +02:00
ea341af27a
feat(editor): a switch path can be a chain of pieces: the attributes pieces1 and pieces2 keep the parts of each path after the classic bezier, which stays as the approximation older versions read and log the attributes as unknown; the simulation drives, draws and maps a path along its pieces by distance, pieces that don't join the ends of the path are reported and the bezier used; the catalogue Rz switches get the diverging path as the arc of their radius and the straight after it, moving, rotating and mirroring a switch carry the pieces, reshaping a path by hand drops them; self-test commands switchpieces and switchbreak
build-feat-track-join
feat/track-join
maj00r
2026-10-12 18:32:23 +02:00
46d41549c9
feat(editor): the profile takes the switch zones from the //$r records: the parts of a double slip and the paths of a crossing make one zone from its first part to its last, a crossing made of plain paths is a zone too, the zone is named by the number and the type of the switch; a switch with no record stays a zone named by its path; self-test vprofile logs the zones
maj00r
2026-10-12 18:11:17 +02:00
9b75e64c9b
feat(editor): digitizing takes the good parts of a line: a run whose design can't be read whole is split at the track the reading fails at and each part is digitized on its own, only single tracks that make no line are left out and named in the log; Digitize all reports the lines digitized and the paths left out, opening a line digitized in parts says so with the reason for the paths left out; a stored radius agrees with the one its design makes within 0.1 %
maj00r
2026-10-12 18:00:26 +02:00
95c3842748
feat(editor): digitizing takes a line whose tracks lie up to 0.5 m off the curves read from them: the record keeps how far as fit in its source line and counts the tracks within it as lying on it, so they aren't shown as departed; a record whose elements differ from the ones its design makes only by elements of no length is no longer reported as differing
maj00r
2026-10-12 17:42:40 +02:00
096122bcc3
feat(editor): digitizing reads more of the old tracks: curves of the same hand meeting through their transitions with no straight between are separate vertices, a run turning over 150 degrees is split into vertices at track joints, a curve made of two transitions with no arc is read with the radius at their joint; digitizing tries both transition shapes, then without the minimum arc length when a short curve would lose its transitions; the reason names the track left by how much at any distance
maj00r
2026-10-12 03:45:12 +02:00
f5895abfa8
feat(editor): tracks drawn without a design get digitized: the route design keeps the line it opens in the scenery when no design is kept for it, or says why it can't (straights meeting with no curve, the curves read leaving a path by how much), trying the other transition shape before giving up; Digitize all the tracks in the route design does it for every line of the scenery and reports the count; a kept design counts as departed only where no path lies along it any more, so a parallel track or a diverging one beside a digitized line no longer shows it as left by metres; self-test command digitizeall
maj00r
2026-10-12 03:24:23 +02:00
696168a132
feat(editor): fewer hints in Tracks: the bar in the view is one line with a short mode name and at most three keys, fading when the cursor comes near; the tool options show only the mode name with the full list under (?), the inspector says Nothing selected; the hints name what is dragged instead of its colour or shape, the break is press and drag, the S-curve its four clicks, the turntable and the signal with no type chosen have their own; Esc back to Select only in the full list; the gizmo settings are hidden in Plan; in Polish a track is tor everywhere, odcinek only for a piece being laid, an isolated section and a path of a switch
maj00r
2026-10-12 02:59:30 +02:00
f81698eaf1
feat(editor): the top view zooms out to 50 km for a whole line, from 0.5 m per pixel the rail tracks are drawn as thin lines and the hover reaches 16 px around them, only the tracks near the cursor are checked; handles drag beyond 200 m from the camera in Tracks; Plan works with the mouse alone and without the gizmo: the grips of a straight, the vertices and the radius of a curve drag directly, the break tool is press on the straight and drag, the panel tool stays chosen afterwards, the Q/W/E bar is hidden in Plan; self-test command ortho
maj00r
2026-10-12 02:49:07 +02:00
16c90eb674
feat(editor): Straight and Curve are one Plan tool (G, also C) right after Lay track, a straight opens with its grips, a curve or a line with its vertices; digits no longer type a length while extending from a free end; the scenery wizard chooses realistic or fictional, a realistic one gets //$g and //$o and opens with the orthophoto in the top view, a fictional one only the top view with the grid; the orthophoto settings are kept in the scenery as //$o (on, year, opacity, radius, height, drape, lift, hires, scene, origin) and survive the new formats; self-test command mapstate
maj00r
2026-10-12 02:21:29 +02:00
653d206a54
feat(editor): the vehicle tool places trainsets: what is placed on a named track is written to the scenery on save as trainset <timetable> <track> <offset> <speed>, with reversed when it faces against the track, listed until the save with x to leave one out; the timetable and the starting speed are set in the panel, a tick turns writing off for a vehicle only to drive; the starter WMB10 is only added when nothing was placed; self-test command trainset
maj00r
2026-10-12 02:00:50 +02:00
c9f381a9c9
feat(editor): the parallel track is a tool of its own (N) in the toolbar, its green preview only shows there, Shift+click on a straight in L opens it with that track; the norms are two buttons at the top of the Lay panel and of the Curve tool, shared by both, free hides the recommendations of the curve and its norm warnings, the duplicate transitions checkbox is gone; the Lay panel starts with the radius, the speed and the shape; the Tracks toolbar shows the tools that lay track, the ones that correct a line are under More (remembered); First steps ends with driving the track laid; self-test command tracktab
maj00r
2026-10-12 01:52:28 +02:00
7fea51ad06
feat(editor): norms of laying, free by default: free lays plain arcs with no transition curves and no cant and keeps quiet about the norms, PKP PLK gives the transitions and the cant for the design speed with the warnings, chosen at the top of the Lay panel; digits in Tracks only type values, never change the edit mode; in Lay a track under the cursor says the click starts on the ground beside it, Shift+click chooses it for a parallel track; Alt while laying turns the direction in steps of 15 degrees, with the azimuth by the cursor; K splits only within 20 px of the selected track, where a marker shows it; the environment, overhead line, transition curve, view and include labels translated, one name for laying track in Polish
maj00r
2026-10-12 01:35:39 +02:00
f28640dd44
feat(editor): laying track for a beginner: Ctrl+Z and Backspace during a chain of laid pieces go back to the end of the piece before instead of carrying on from a removed track (Ctrl+Y ends the chain); every warning of the laid shape and of a join is shown by the cursor for 4 s after the click, also when the radius chosen on the wheel didn't reach the cursor and the arc goes through it, the preview of a shape with a warning is orange as it is laid anyway; the switch type stays chosen after a switch is placed; the status says each click lays a piece; a "First steps" window (Help menu, opens with the editor until unticked) with eight steps ticked off as they are done; an empty scenery opens in Tracks with the camera over its origin and a grid where there is no ground under the cursor; F1 lists the laying gestures (Ctrl/Shift+wheel, drag from a free end, typed length); self-test command laychain; Polish translation
maj00r
2026-10-12 01:21:50 +02:00
866f626668
fix(editor): K splits the selected track where the cursor points on screen (as the hover highlight finds it), not at the delayed depth pick which hit the ground beside the rail
maj00r
2026-10-12 00:44:54 +02:00
704511fe5e
feat(editor): the plain straight a switch branch leads into gets its end moved to where the branch lands instead of a short straight being added: shortened when it reaches past, lengthened when it ends short; straights drawn with handles count (the trimmed end loses them), so a switch slid up to a track that ends close to the crossing now places
maj00r
2026-10-12 00:36:13 +02:00
b27d1772a7
feat(editor): a switch being placed slides along its straight first, so its branch lies on the line of the track it leads into (a straight between, or an arc of the switch radius right after it with the arc ending at the track's end); only when the slide leaves the straight it stays put and reverse curves fill in; the straight between reverse curves takes the speed of the switch's branch (R<300 40, <500 50, <760 60, <1200 80, <2500 100 km/h) instead of the track's
maj00r
2026-10-12 00:25:01 +02:00
d4d2a02018
feat(editor): the switch no longer slides to meet the track, only the straight and arc fill in: arc of the switch radius between two straights, and where the angles match but the tracks are apart, or the arc doesn't fit, reverse curves with no transitions and the largest radius that fits; the straight between them (6 m to V 60, 0.15 V to 100, 0.25 V above) only when 1/R1 + 1/R2 > 1/106.5 m (PLK ST-T1 9.3, table 9.4); new pieces take the style of a plain track, not of a switch
maj00r
2026-10-12 00:09:49 +02:00
0a73550c8d
feat(editor): the branch of a switch leads into the free end of a track: when the angles match the switch slides so its branch lies on the track's line, otherwise an arc of the switch radius right after the switch turns into it (with a straight between for a parallel track); works while placing a switch (drag toward the end) and when dragging from the branch end of a placed one, the track is shortened when it reaches past the branch; self-test switchlink / branchlink
maj00r
2026-10-11 23:53:18 +02:00
eaf7e787b8
fix(gfx): targetfps off by default again, draw range stays at heightbase instead of being driven by measured fps (with vsync on a 60 Hz monitor it sank to half); targetfps in eu07.ini still turns the regulator on
build-fix-targetfps-default
fix/targetfps-default
maj00r
2026-10-11 23:20:08 +02:00
746399c771
fix(ui): panels dragged out of the simulator window get no taskbar or alt+tab entries of their own and are owned by the main window on windows (always over it, minimized with it); ctrl+tab of imgui (window switcher, on even without keyboard navigation since 1.91) switched off, it took the key of the boost of the train
build-fix-imgui-viewport-windows
fix/imgui-viewport-windows
maj00r
2026-10-11 22:46:31 +02:00
f1a3bde00f
refactor(editor): one declaration per statement (cpp:S1659) and no chained assignments (cpp:S1121) in the editor files of the branch; single statements under if/else/for that became two got braces
maj00r
2026-10-11 22:28:35 +02:00
d2111afe19
refactor(editor): alignment::join builds its candidates (straight, single arc, fitted curve, Bezier fallback) in separate functions, alignment_store::load reads each //$h line kind in its own function
maj00r
2026-10-11 22:23:21 +02:00
84cec61912
refactor(editor): the self-test runner dispatches its commands to seven groups (scene, bends and lineside, tracks and routes, switches, joining and gizmo, signals, terrain) instead of one function with 95 branches; deletetrack without a name deletes the selected path, which its second, unreachable branch meant to do
maj00r
2026-10-11 22:17:22 +02:00
3e9d5836f4
refactor(editor): the //$e header scripts share reading, decoding, the rewrite of the header, the backup and the zip in tools/editor/editor_headers.py instead of three copies; reports, zips and written files unchanged
maj00r
2026-10-11 22:09:53 +02:00
4030797b21
refactor(editor): the layouts laid from a free end (arc then straight, straight then arc, arc, straight) and the transition curve out of a curved neighbour in editor_track; joining and laying through points share the eased ends, the room check and the assembly of the pieces instead of two copies
maj00r
2026-10-11 22:09:53 +02:00
c5ac698702
refactor(editor): split the track mode into its gizmo, kept records, switch drive, switch slide and track bed files; path geometry shared in editorGeometry instead of four copies of the reversed path, track shape rules (stretching, rolls at joints, middle, switch axis, drive spot) in editor_track, fitting the track to the ground in ground_follow with the terrain query passed in, the record layer and the switch classification in the stores; long gizmo, record watch and switch slide functions broken up, out-parameters replaced by optional results
maj00r
2026-10-11 22:03:59 +02:00
f34056ff5a
fix(editor): the key launcher of a turntable reaches at most half way to the nearest other turntable (up to 150 m as before), so T and Shift+T turn only the turntable at hand where several stand close together, as on sk.scn
maj00r
2026-10-11 21:30:26 +02:00
777d1fbfe4
feat(editor): turntable_headers.py writes //$e descriptions into the turntable templates of the scenery that have none (eng/obrotnica21m.inc, linia61/cze_obrotnica.inc): category turntable, length from the obrotnica<N>m model, the fixed positions read from the torNrot events, so the editor places them like its own; --zip packs every described turntable template, the editor's obrotnica16m_e and obrotnica21m_e included
maj00r
2026-10-11 20:55:15 +02:00
33360eb4e2
fix(editor): drive_headers.py writes height 0.05 for the electric drives ele and ele1, which looked 5 cm too low on a switch laid in the editor
maj00r
2026-10-11 20:48:21 +02:00
080e308d5e
feat(editor): picking a drive or its side in the Switch mode panel changes the drive of the selected switch at once, no drive takes it away, each as one undo step; self-test command drivechoice; Polish translation
maj00r
2026-10-11 20:46:20 +02:00
b4a1cb03b3
fix(editor): drive_headers.py writes height 0 for every switch drive, as all drives of the digitized lines stand at the rail foot of the start of the switch
maj00r
2026-10-11 20:43:53 +02:00
71bdf8e284
fix(editor): a switch drive stands at the height given in its //$e description, switch: {height: ...} above the start point of the switch (rail foot): placed with a new switch, swapped for another drive or side, or following its switch; drive_headers.py writes height 0.15 for ele and ele1 and 0.05 for mech and mech1, whose models reach that far below the origin, so they stand on the sleepers; the drives with a counterweight (mech_*, mech2, 0.57 m down) keep 0, as all 1965 drives of the digitized lines do
maj00r
2026-10-11 20:32:59 +02:00
b103a561e0
fix(editor): the drive of a switch follows the switch: moved, turned, its grade or cant changed with the gizmo or any other change of the switch, the include gets the new position, direction and rot.x/rot.z of the start of the switch, in the same undo step; self-test drives prints the parameters of the drive
maj00r
2026-10-11 19:23:59 +02:00
4b785f3789
fix(editor): putting a drive by a switch that has one puts it in place of the old one instead of next to it; the window of a switch with a drive shows which drive it is and on which side, and picking another drive or the other side swaps the include as one undo step; the default drive is the electric ele (no lever, no lantern); the last entry of editor_pl.po is read; self-test commands driveput and drivefamily; Polish translation
maj00r
2026-10-11 19:16:32 +02:00
dae97f7169
feat(editor): every switch laid gets its drive at once, also the one made by pulling a free end into a straight (named z1, z2... like the others): the drive marked default: true in its //$e description (mech_komin) until another is picked, on the diverging side or the other; the drive goes into the same undo step as the switch; a switch with a drive puts it on the other side with one button, as one undo step; drive_headers.py marks mech_komin as the default; self-test commands drives and driveflip; Polish translation
maj00r
2026-10-11 19:06:44 +02:00
2751c085d8
feat(editor): tools/editor/drive_headers.py writes the //$e switch drive descriptions (category switch drive, the hand of the switch and the side of the drive, the switch name as the track parameter, rot.x/rot.z for the grade and cant) into the templates of scenery/tory/napedy and packs them into a zip; the crossing drives ele_x are left out
maj00r
2026-10-11 18:52:52 +02:00
12f7fc879f
feat(editor): a switch on a straight slides along it: drag it with the mouse in the Switch or Path mode (snapping to the joints, km shown) or type the distance in its window; the straight paths on both sides get shorter or longer, the ones it runs over are cut, the next switch or the end of the straight stops it; Replace the geometry with the template does the same with the ends of a longer or shorter type instead of leaving the neighbour overlapping it; a straight neighbour following an end that neither moved off its line nor turned keeps its zero control vectors; self-test commands switchslide, switchreplace, pathsnear; Polish translation
maj00r
2026-10-11 18:21:53 +02:00
3b503ede0c
fix(editor): the route design keeps its whole fragment after Apply: the last path of the line is the one holding the last piece, not the original end path holding the first piece of its group, so a second Apply (e.g. after changing the share of a compound curve) no longer re-lays only the front part and leaves the old tail lying next to the new paths; the same for the curve laid with the straight tool
maj00r
2026-10-11 17:46:38 +02:00
11aa67378d
feat(editor): the drawn tracks kept in the scenery as //$h lines as they are drawn: laying, pulling out of a free end, joining two ends and the parallel track record the whole line they belong to, its straights, arcs and transition curves, with the radii from the chord and the turn of the arcs and the transitions from the turn they make, in the same undo step; the curves read in the route window and the Curve tab are what the paths are, no transitions or cant made up for them; a curve ends at the point of reverse; a parallel arc is concentric with its source; the paths laid in pieces of up to 90 degrees match the kept design within their own approximation; 'Keep the line as it lies' for lines drawn before; self-test commands digitize and parallel; Polish translation
maj00r
2026-10-11 17:31:23 +02:00
4ea2f4f13f
feat(editor): the kept alignments and switches after a drag of the gizmo or of a point: a line all of whose paths are moved or turned as a whole takes its kept design along; paths pulled out of a kept design, or given another cant, are told about on the status line with the way back; a switch moved or turned as a whole keeps its type and its record follows it, with its km; a switch bent out of the shape of its type loses it and is told about (//$r records keep the shape of the switch); all of it in the same undo step as the drag; Polish translation
maj00r
2026-10-11 16:57:23 +02:00
ddb637a3f5
feat(editor): undo and redo take back the kept alignments and switches together with the paths: each step of the history keeps the //$h and //$r records from before it; a deleted switch or slip forgets its record in the same step, so undoing the deletion brings it back; edits of the switch number, rail and km and forgetting a kept design stay outside the history; self-test commands deleting paths
maj00r
2026-10-11 16:45:42 +02:00
b466755a0f
feat(editor): single slip (Rkp 1:9 R190/R300) joining the pair of tracks on the side of the click, and crossing (Skrz 1:9, 1:12) of two straights, placed as the double slip is, at a crossing of two straights, and kept in the scenery as //$r records with their parts; the list of the slip switches and crossings; Polish translation
maj00r
2026-10-11 16:37:12 +02:00
0bfb8a4e7c
feat(editor): switches kept in the scenery as //$r lines: type (Rz, arc Rlj/Rld, slip Rkpd), rail, R, 1:n, side, a, b, R of the main track, the parts of a slip, km and number, catalogue or measured; recorded as they are placed on a straight, in a curve (one-sided when diverging to the side the curve turns to), as a double slip, and when their geometry is replaced or flipped; the switch panel shows the kept type and the R of the diverging track bent with the main one, with the number, rail and km to edit (km from the kept horizontal alignment); the speed check of a diverging track takes its R from the kept type; records follow renamed switches and go with removed ones on save; editor records stay out of the terrain files (.txtf), and those written there by hand go with them into .btf; the side of the diverging track shown as seen; self-test commands for placing switches, the kept switches and the .btf conversion; Polish translation
maj00r
2026-10-11 16:33:25 +02:00
572daeb274
feat(editor): the horizontal alignment designed in the route design kept in the scenery as //$h lines: its vertices and the elements they make (straight, transition, arc, with the radius at the start and the end and the cant), so the paths laid by it are known again without guessing from their curvature; a curve read from the paths takes the radius, the transitions, the cant and the compound arcs of the kept design when its paths lie on it within 2 cm, the other way round too; the whole line design taken back when the fragment has its ends; a curve redesigned alone taken into the line it belongs to; km of the start kept with the design and carried on to the vertical profile of the same paths; paths which no longer follow the kept design shown in the route window, with the kept design to take or to forget; self-test commands for the route design and the kept alignments; Polish translation
maj00r
2026-10-11 16:06:23 +02:00
f0ccd375a0
feat(editor): a switch joined to a track goes along with it as a whole when the gizmo moves, turns or tilts the track
maj00r
2026-10-11 14:19:11 +02:00
fe9d78b172
fix(editor): a switch takes the cant set by the gizmo on a track joined to it
maj00r
2026-10-11 14:08:47 +02:00
c722e4e419
fix(editor): the gizmo keeps the diverging path of a switch on the surface of its main path
maj00r
2026-10-11 14:04:05 +02:00
34941822ff
fix(editor): the cant ring works on a control vector, it cants the end of the vector and the tracks joined there
maj00r
2026-10-11 13:40:29 +02:00
a756beb34b
feat(editor): track gizmo rings along the track: direction, grade and cant
maj00r
2026-10-11 13:22:47 +02:00
b486eb33d5
fix(editor): a track lengthened past 90 degrees goes on as new tracks instead of hidden paths
maj00r
2026-10-11 13:06:45 +02:00
89678ead3e
feat(editor): track gizmo turns, lengthens and edits the control vectors, joined tracks keep the tangent
maj00r
2026-10-11 12:59:55 +02:00
2beae15390
feat(editor): laying with no ground under the cursor takes the height of the ground around
maj00r
2026-10-11 12:32:03 +02:00
0f3004a64c
fix(editor): no crash laying track with the mouse outside the window
maj00r
2026-10-11 12:19:57 +02:00
6284f4e0d3
feat(editor): laid track follows the ground between the clicks
maj00r
2026-10-11 12:12:48 +02:00
cfc2b2c64a
feat(editor): laid track stands on the ground with the foot of its ballast
maj00r
2026-10-11 11:58:46 +02:00
3a549e76a9
feat(editor): Shift no longer forces a straight while laying
maj00r
2026-10-11 11:50:19 +02:00
55bb48e8bd
feat(editor): laying from the ground goes on like laying from a free end
maj00r
2026-10-11 11:39:57 +02:00
16c1ac4c7b
feat(editor): two free ends joined without loops or forced curves, the shape from a free end on the wheel
maj00r
2026-10-11 11:11:21 +02:00
3ed864812f
Fix line endings (#211)
combolek
2026-10-11 11:42:09 -07:00