Street Designer
The new Street Designer in CityEngine 2025.0 is a powerful 3D visualization tool that gives you full creative control over streets and lets you visualize how different road users such as pedestrians, bicycles, cars, and public transport can use the street space efficiently. You can now create streets with multiple lanes directly in the 3D viewport window using a new set of tools to add, delete and move single lanes on a street segment. You can assign CGA rules to separate lanes in order to visualize them in high detail. Store a set of lanes as street configurations that you can reuse across your city model which makes your design easier to maintain and more consistent.
- We added a set of out-of-the-box lane rules and street configurations to ESRI.lib that you can use right away or as a template for your own city-specific high-detail visualizations.
- To see the Street Designer in action, have a look at What's New in CityEngine 2025.0.
- To explore all the new features of Street Designer, see Street Designer.
- To get specific information on how to author CGA rules for lanes as well as the changes that have been made to the UV sets, see Street and intersection shape UV.
Integration with ArcGIS Urban
- Improved the default view of ArcGIS Urban plans imported into CityEngine by activating the compass in the viewport and enabling the Wireframe on Shaded view setting by default.
- Improved the file Navigator window filter for ArcGIS Urban content to show only models you have access to. The default text in the Navigator window search box has also updated to "Search for Models and Plans".
- When an ArcGIS Urban plan is imported into CityEngine, the dwelling units ZFightingOffset parameter is now set to 0.0 by default instead of 0.001. This ensures that the geometry of the generated units are more accurate and that the correct number of dwelling units are reported back to ArcGIS Urban.
- Fixed the missing translations for the "Ground Space" and "Surfaces" strings .
Viewport
- Removed the tumble gizmo when using the Tumble / Rotate and Dolly / Zoom tools.
- Improved shadow quality in the Viewport window snapshots.
- The Viewport window snapshots are now capped at a maximum resolution of 10,000 by 10,000 pixels.
- The Viewport window tab Close button now adapts to the scenario color for better visibility.
- Enabled Anti-aliasing and Anisotropic filtering for textures by default for smoother rendering and better overall texture clarity. These options no longer need to be set via the graphics card vendor specific control panel.
- Anisotropic filtering level is now adjustable directly in the CityEngine procedural runtime rendering settings.
- Image layers now support mipmaps.
- Fixed an issue that caused black screens in the 3D View on AMD graphics cards.
Tools
- Improved the Copy on Move workflow: Clicking handles while pressing Ctrl now immediately activates duplication mode, allowing you to release Ctrl before dragging.
- Tool options now validate numeric input more robustly, eliminating unnecessary error logging for format issues.
- Resolved an issue in which the City Wizard triggered an unwanted Scene File Changed dialog upon completion.
Material Browser
- Double-clicking on a material in the Material Browser now directly selects and assigns the material and closes the Material Browser window.
WebGIS
- The Python interface for the web scene export supports sharing the result directly. This removes the need for manual sharing in workflows.
- The labels and tooltips for the Share As Web Scene dialog were improved for better understanding.
- Fixed a bug in the Get Map Data dialog in which the map sometimes didn't load correctly.
- Fixed a bug that Feature Services could not be imported as synced layers from Enterprise portals starting with version 11.
- Fixed a bug on Linux in which closing the Login dialog doesn't shut down CityEngine.
- Fixed a bug in which the image previews of the basemaps in the terrain Inspector window weren't displayed correctly.
UI Misc
- In the Tool Options window, the hover text of settings is more descriptive and consistently displays the associated keyboard shortcut.
- In the Log window, the toolbar and context menu icons have undergone an overhaul.
- Updated the social media links in the Help main menu.
- Fixed the broken link to the CityEngine Tour tutorial in the Get Started window. Users can now again seamlessly navigate to the CityEngine Tour tutorial from the Get Started window for a more streamlined learning experience.
- Revamped the toolbar icons in the Console window to enhance user experience and improve visual aesthetics.
- In the Progress window, the status text now accurately utilizes the Dark Mode colors.
- Fixed the alignment issues in the title bar of the table widget In the Dashboards window.
- Updated dark mode for the following:
- In the Navigator window, the icons for the ArcGIS Urban models and plans have been revamped and now also adapt to dark mode.
- Corrected the white background of the Inspector window buttons for Windows 11 24H2.
Import and export
Image formats
- Added support for TGA image files.
All 3D formats
- Fixed a bug in which incorrect relative paths to textures could lead to stalling model generation.
- Fixed a bug that terrains could not be exported to 3d model formats without manually setting the resolution.
USD
- Fixed a bug in the USD importer in which cube primitives didn't receive the correct material.
- The USD importer generates UV coordinates for faces that don't have them but use textures.
- The USD exporter now writes the latest version of USDPreviewSurface materials.
Collada
- Added special handling to the Collada importer for opacity values written with old versions of Maya and SketchUp.
- Added special handling to the Collada importer to search for missing textures in the same folder as the geometry file.
- Fixed a bug in which Collada assets using of Controllers (Rigging) wouldn't load any geometry.
FBX
- The FBX exporter and importer now convert color factors to/from linear color space. This improves alignment with other 3D applications.
Python API
- The Python API gained a number of "Street Designer" functions to work with street lanes and configurations:
- CE.addLane
- CE.moveLane
- CE.removeLane
- CE.isLane
- CE.createStreetConfiguration
- CE.duplicateStreetConfiguration
- CE.deleteStreetConfiguration
- CE.applyStreetConfigurationToSegment
- CE.updateStreetConfigurationFromSegment
- CE.getStreetConfiguration
- CE.getStreetConfigurations
- CE.withStreetConfiguration
- StreetConfiguration
- Augmented CE.createGraphSegments to allow setting an initial street configuration.
- Updated parameters for streets and lanes: deprecated "/ce/street/streetWidth", "/ce/street/sidewalkWidthLeft", "/ce/street/sidewalkWidthRight" and made read-only; added new lane parameters (e.g. "/ce/street/lane/width").
- Added a new utility CE.getSubOID to help getting the index of a lane, for example.
- The WebScene exporter settings class gained new getter/setter to manage the access level: WebSceneShareSettings.get/setAccess.
Visual CGA Editor
- Added a new Find Node dialog that allows you to find nodes in the design by their name.
- A secondary shortcut was added for panning 2D views using the right mouse button.
- Read-only files are now clearly visualized and can't be edited.
- Initial Shapes node can now be renamed to define the start rule name of a VCGA Design.
- The Component node mini-inspector now adds widgets for attributes with @MaterialFile and @Color annotations.
- Added @Hidden annotation option in the attribute node annotation editor.
- Improved readability of connections between nodes by rendering slot connections in front of the nodes they connect to.
- Attribute and value node connections were made more subtle to reduce visual clutter.
- Extension slots that generate no geometry (are set to NIL) when unconnected are now visualized with an empty slot.
- Extension nodes can now be set to generate no geometry by default (be set to NIL).
- Adjusted the Component node layout to improve visibility of attribute and extension names.
- Improved overall visual consistency between nodes.
- Improved the compilation performance of complex designs.
- 3D visualization highlights when selecting/hovering component nodes are now more clearly visible.
- Resolved smaller issues with text selection.
CGA language
This release enhances rule inlining, tagging and Boolean 3D operations, improves on the versatility of the comp operation and addresses numerical robustness. For a more comprehensive and detailed list of changes, see the CGA changelog.
- Enhancements for Boolean 3D operations:
- Modified the syntax to a simpler form that explicitly states both operands. A deprecation warning for the old syntax gives clear instructions.
- A new auto-tag is now set on intersection edges.
- The overall order of vertices is kept in the resulting geometry.
- Fixed rare issues in which undesired new edges were created or a wrong material was set in the resulting shapes.
- Fixed wrong behavior with probabilistic expressions.
- The performance was improved.
- New features for the component split:
- A new parameter lets you adjust the scope alignment and keep the original scope and pivot.
- A new operator allows you to extract connected components. For example sets of connected faces with the same tag.
- A new component "face vertex" extracts vertices for each face separately.
- Vertex normals for smooth shading are now kept consistently.
- Fixed numerically unstable scope and orientation of edge components.
- Fixed wrong behavior with probabilistic expressions.
- Changes for rule inlining and tagging:
- The inline keyword can now conveniently be used without specifying a parameter. The common append strategy is used as default.
- Improved the unify strategy when only a single leaf shape is inlined resulting in a clean and watertight geometry.
- A new parameter for deleteTags, geometry.tags and geometry.hasTags allows you to consider tags on faces, edges or vertices individually.
- Fixed a bug in which the split operation removed tags.
- Improvements that address numerical accuracy and preservation of geometry details:
- The automatic numerical geometry cleanup on initial shapes can now be disabled in the Procedural Runtime preferences. This prevents any modification to the original geometry and preserves tiny details when desired.
- The numerical behavior of slightly non-planar polygons was changed. They are not forced to a zero height anymore, thus keeping the original shape unchanged.
- Geometry splitting and trimming now better preserves the input topology. Close vertices are no longer merged.
- Improved numerical accuracy and stability for setbacks, offsets and envelopes.
- Fixed a crash in the convexify operation that could happen when very small edges are present.
- Miscellaneous improvements and bugfixes:
- The split operation can now also be applied on edge shapes such as shapes coming from an edge component split.
- Fixed a bug in which imported rule files could not be found when they were located in linked folders, for example in a workspace setup with shared rule files.
- For some operations the first edge and scope setup of the resulting geometry was made more consistent and deterministic.
- Fixed a bug in which geometry.isPlanar wrongly returned false.
- Fixed issues when trimming a geometry on specific scope setups or when the geometry is empty after it was trimmed.
- Fixed a bug in which attribute overrides in dynamic imports were not applied in recursive rules.
- The file path in an import statement is now always case sensitive which improves compatibility.
- Improved general responsiveness when dealing with many imports or Visual CGA Designs.
ESRI.lib
- The Esri.lib has been updated with new procedural lane rules for Street Designer. Use the File > Manage Esri.lib dialog to ensure that you have the latest version installed to make your new scenes and street configurations stand out.
- Added a new Generic_Street_Configurations.cej scene to the Esri.lib as a read-only file containing a selection of common street configurations to get started.
Tutorials, examples, and documentation
Tutorials
We've updated the following tutorials with improved workflows and fresh visuals. These enhancements make the content clearer and easier to follow:
- Tutorial 13a: Facade Wizard-Basic facade creation
Learn how to create horizontal and vertical splits to define ground and upper floor areas in a facade.
- Tutorial 13b: Facade Wizard-Advanced facade creation
Learn how to use images to create a facade rule template and create a mass model using the facade rule.
- Tutorial 14a: 2D and 3D shape modeling
Learn various manual shape drawing and editing techniques available for both 2D and 3D.
- Tutorial 18: Handles
Learn how to work with handles to edit CGA attributes within the 3D Viewport.
- Tutorial 20: Local edits
Learn how to use local edits to modify individual windows, floors, and balconies of buildings created in CGA.
Documentation
- With the release of Street Designer, we’ve streamlined the street and shapes documentation with new pages featuring updated tables, refined icons, and enhanced content.
Content
- Updated the Redlands Redevelopment Example overview, objectives and 3D city workflow descriptions for attributes and reporting criteria in the project .pdf file.
- The CityEngine Tour was updated to showcase the use of street configurations.
System/Startup
- For scene files, the read-only property is now respected, providing users with greater control over file modifications and preventing accidental changes to data.
- When launching CityEngine on the Linux command line with the argument "-vmargs", we removed an unnecessary warning about a missing "-launcher.appendVmargs" argument.
- CityEngine now officially supports Windows Server 2025.
Updated 3rd party libraries
- Updated ArcGIS Maps SDK for JavaScript to version 4.31.6.
- Updated core libraries for web-based views (Chromium 130, React 18.3.1, React-Flow 12.3.4, Vite 5.4.10).
- Updated the Esri FileGDB library to version 1.5.3.
- Updated image libraries (libtiff 4.7.0, libpng 1.6.44, libjpeg-turbo 2.1.5.1, libxml 2.13.6).
- Updated Flexnet licensing client library to version 11.19.6.0.
- Updated Opendesign SDK for IFC and DWG support to version 25.12.
- Updated OpenUSD library to version 24.11.