Unsaved plan
0 m
0 structures
Weekly cost: 0
100%
Log in to save
Click on the map to place a structure R: rotate · click structure again to cancel
Getting started — select a Planet first. Until a planet is selected, the structure catalogue remains hidden. Then choose the City Rank. The first structure in every plan must be a City Hall. Until one is placed, only City Hall structures are available and the other structure categories remain locked.
Structure categories — Structure tabs are driven by city_structures.structure_type: MAYOR, RESIDENTIAL, PUBLIC, COM-IND and SPECIALS. The catalogue is always filtered by Planet and the minimum Rank stored in city_structures.rank. Structures marked "all" are available on every planet.
Placing structures — click a structure in the left panel, then click inside the circular buildable area. Structures cannot overlap and must remain completely inside the city radius.
City Hall — City Hall, City Hall Corellia, City Hall Naboo and City Hall Tatooine have the same function. They are always anchored to the exact city center and define the origin for relative coordinates, distances and 3D positioning.
Rank & city area — city_layouts.rank_grid_size stores the city radius in meters, while city_rank_sizes.grid_size stores the radius in 8 m grid units. Example: 12.5 grids = 100 m radius. The active construction area is circular even though the SVG itself is square.
Select / move / rotate / delete — click a placed structure to select it. Drag to move it, Rotate turns it in 90° steps and Delete removes it. City Hall variants cannot be moved away from the center. Non-rotatable structures remain fixed.
Issues — validation checks overlaps, circular boundary, Rank, Planet, rotation restrictions and structure limits. Invalid structures are highlighted in red. The same rules are validated again server-side when saving.
City Specialization — choose one specialization for the plan from the top toolbar. Specializations are loaded from city_specializations, saved with the layout and shown in the plan header. A fixed specialization cost is added to the plan Weekly cost; specializations whose cost is marked Variable are shown separately without inventing a numeric amount.
Structure limits — Terminal and Trainer limits depend on City Rank and are loaded from city_rank_sizes.max_terminals and city_rank_sizes.max_trainers. When the limit is reached, additional Terminals or Trainers cannot be selected, placed or duplicated. A plan can also contain only 1 Shuttleport and only 1 City Hall (including City Hall Corellia, City Hall Naboo and City Hall Tatooine variants). The catalogue shows the current count for these limits.
Weekly cost — structures with weeklycost are highlighted in yellow. City Hall cost comes from the selected Rank in city_rank_sizes.weeklycost. The plan information panel shows the total weekly cost.
Plan information — the panel above the canvas shows plan name, owner, Planet, Rank, radius / diameter, structure count, weekly cost, account status and issue count. Modified plans display “Unsaved changes”.
Coordinates & City Hall distance — the City Hall coordinate fields are displayed as Y then X in the toolbar. They define the absolute SWG location of the City Hall; surrounding structure coordinates are calculated from their position relative to that origin. Hover tooltips also show distance from City Hall. When a plan is published to the planetary map, the authoritative coordinates of the selected player city are loaded automatically and synchronized with these fields.
Measure — activate Measure and click two points to calculate their distance using the 8 m planner grid.
Sectors — activate Sectors, drag over the map and give the zone a name. Select an existing sector and use Delete sector, Delete/Backspace or double-click to remove it. Sectors are stored with the plan.
2D zoom & navigation — use the zoom controls and pan gestures to navigate the SVG. Returning from 3D automatically restores and recalculates the 2D viewBox before editing continues.
2D / 3D View — 3D View displays the current plan in perspective without changing the saved layout. Switching back to 2D clears 3D navigation state and restores normal structure placement.
3D structure dimensions — footprints use width_units / height_units at 8 m per grid. Vertical height comes from city_structures.height_3d in real meters. Empty or zero height_3d values use an automatic fallback height.
Orbit 3D controls — drag to rotate around the city, use the wheel to zoom, Shift/right-drag to pan and double-click to reset the camera. The compass indicates N / E / S / O and distance rings are centered on City Hall.
Walk mode — activate Walk, use WASD or arrow keys to move at ground level and left-drag inside the 3D viewer to look around. No pointer-lock permission is required. The camera follows the heightmap terrain at approximately 1.8 m above ground.
Fly / First Person — activate Fly, use WASD or arrow keys to move, left-drag to look around, Space to rise, Ctrl to descend and Shift for faster movement. No pointer-lock permission is required.
Fullscreen 3D — expands the 3D viewer to the whole screen while keeping the current camera and navigation mode.
3D terrain — the 3D viewer loads a planet-specific texture using structures/terrain-{planet}.png (for example structures/terrain-naboo.png). If that image is missing, it falls back to structures/terrain.png. Terrain textures are never used as the 2D planner background.
Planet heightmaps — optional grayscale PNG files in structures/heightmaps/ create real 3D relief. White areas are higher, black areas lower and gray is near the midpoint. If a planet heightmap is missing, terrain falls back to flat.
Sky, vegetation & water — the 3D viewer applies a planet-specific procedural sky, decorative vegetation / rocks and, on suitable planets, lakes or river sections. Water is generated only in free areas that do not overlap city structures. These environmental objects are visual only and are not saved as city structures.
3D structures — hover a building to see its details. In Orbit mode, left-drag a movable building to reposition it directly in 3D. The move is synchronized with 2D and obeys the same city-circle and no-overlap rules. City Hall variants remain fixed at the center.
Export PNG — exports the complete 2D plan independently of current zoom/pan, including grid, structures, sectors and plan metadata.
Screenshot 3D — captures the current 3D camera view as a PNG file.
Export 3D — creates a .glb file from visible 3D meshes such as structures, terrain, sectors and decorative objects. The procedural sky is excluded.
New Plan — use New Plan in the top toolbar to start a clean project. If the current plan has unsaved changes, confirmation is required before discarding them. A new project starts with no Planet selected and requires City Hall as its first structure.
Plan visibility — each saved plan can be Public or Private. Public plans appear in the community plans directory and can be opened in read-only mode. Private plans remain hidden and their share links cannot be opened by other users.
Saving — a plan must contain exactly one City Hall before it can be saved. Only REGISTERED and AUTHORIZED users can save. AUTHORIZED users can keep up to 5 plans and REGISTERED users up to 1. Plans belonging to another user are read-only.
Publish to Map — save the plan first, select its Planet and use Publish to Map to create a transparent, correctly scaled overlay for the planetary map. The publication dialog lists the real player cities that the current account is authorized to manage. Select the city represented by the plan and confirm Publish Overlay. If the plan is already published, the same action updates the existing overlay; Remove from Map withdraws it from the planetary map.
Mayor authorization — for normal users, a plan can only be published for a city whose current Mayor character is associated with the in-game account linked to the Nexus account. The relationship is validated on the server when the city list is loaded and again when the overlay is published, so changing browser data or the request cannot bypass the restriction. Mayor changes automatically expire an existing map publication: the plan and PNG are preserved, but the overlay is removed from Planet Maps until an authorized Mayor republishes it.
Publishing plans to Planet Maps — publication places the current City Planner layout as a transparent, correctly scaled overlay on the selected planet map. Before publishing, make sure the plan contains exactly one City Hall, select the correct Planet and save all pending changes. Then click Publish to Map.
1. Select the destination city — the publication dialog loads the real player cities from the selected planet. Normal users only see cities whose current Mayor character is associated with the in-game account linked to their Nexus account. Select the city represented by the plan; its authoritative map coordinates are loaded automatically.
2. Confirm the location — the City Hall coordinate fields are displayed as Y then X. For map publication, the server does not trust manually supplied browser coordinates: the selected city's coordinates are read directly from swgevolvecities and synchronized with the planner before the overlay is generated.
3. Publish the overlay — confirm Publish Overlay. The planner exports the structures on a transparent background, preserves the City Planner scale and centers the result on the authoritative City Hall location. The published plan then becomes available in the City Plans layer of Planet Maps.
Viewing a published plan — in Planet Maps, enable the City Plans layer if necessary. The transparent layout is drawn over the planetary map and a dedicated City Planner marker is displayed near the city. Use that marker to open the publication popup and follow Open City Plan to view the source plan.
Updating a publication — edit the City Plan normally and save it first. Publishing it again replaces the existing map overlay with the latest saved layout and refreshes its authorization against the city's current Mayor. Unsaved planner changes are never considered the published version.
Removing a publication — use Remove from Map to withdraw the overlay from Planet Maps. This only removes its published state; it does not delete the City Plan itself, so the layout remains available in My Plans.
What happens when the Mayor changes? — every published overlay records the Mayor that authorized it. Planet Maps revalidates that Mayor against the current city data. If the Mayor has changed, the publication automatically expires with status MAYOR_CHANGED and disappears from Planet Maps. The City Plan and its exported PNG are preserved. The current authorized Mayor can publish an eligible plan again.
Administrative publicationloganskenove and sv_melllow have map-publication administrator privileges. They may select any player city and publish, update or remove City Plan map publications regardless of the account associated with the current Mayor.
Publication checklist
✓ Exactly one City Hall is present.
✓ The correct planet is selected.
✓ The plan has been saved and has no pending changes.
✓ The destination player city is selected in Publish to Map.
✓ For normal users, the city's current Mayor belongs to the linked game account.
✓ After later layout changes, save and publish again to refresh the Planet Maps overlay.
Map publication administratorsloganskenove and sv_melllow have administrative override for City Plan map publications. These accounts may select any player city and publish, update or remove its City Planner overlay regardless of which account owns the current Mayor character.
Published overlay behavior — the planetary overlay is centered on the selected city's authoritative coordinates from swgevolvecities; manually entered coordinates are not trusted for publication. The exported map image contains the structures on a transparent background and uses the real City Planner scale. After a published plan is changed, save it and publish again so the planetary overlay reflects the latest layout.
Shared plans & Preview — Share provides a normal shared URL and a clean read-only Preview URL. Preview hides editing controls and remains read-only even for the owner.
Layout format v2 — new plans store rel_x / rel_y relative to the center of City Hall. This keeps surrounding structures in the correct relative position when Rank / city radius changes. Older v1 plans remain loadable.
Autosave — unsaved changes are periodically stored in browser localStorage. After an accidental close/reload, the planner can offer to restore the local draft. A successful Save clears the autosave.
Two-level header — the first row focuses on the current plan: editable name, status, highlighted Weekly cost, Issues and primary Plan actions. The second row contains City settings and contextual editing/view tools. In 3D, the second row automatically switches to 3D controls.
3D contextual mode — when 3D View is active the top toolbar hides 2D-only City/Edit/Export controls and shows Walk, Fly, Fullscreen, Screenshot and Export 3D as a dedicated 3D MODE group. Returning to 2D restores the normal toolbar.
Top panel — controls are grouped by purpose. The plan name is shown as read-only in the header; click the Issues indicator to review and focus problems, and use the chevron to collapse or expand plan information.
Unsaved changes — adding, moving, rotating or deleting structures, changing Rank/Planet or modifying sectors marks the plan as changed. The browser warns before leaving while unsaved changes remain.
Structure labels — structure names are shown above their images on the 2D grid. Use Hide labels / Show labels in the toolbar to toggle them.
Grid scale — one logical grid equals 8 real meters. Radius calculations, measurements, relative coordinates, distances and 3D footprints all use this scale.
Loading 3D…
NESO
ORBIT
Orbit: drag rotate · Walk/Fly: hold WASD + drag to look while moving