Manual / The cloud / Jobs, progress & errorsiCity 2 · Windows

Jobs, progress & errors

Every cloud job draws itself on the same eight-step ladder, in the Theme composer thread and in the Cloud Activity popup. This page covers reading that ladder, stopping a run on the server, what a refused submit costs, and the one failure the interface cannot recover from.

Where a running job reports itself

Once a job is created, the addon asks the server what it is doing every three seconds, starting two seconds after the job is accepted. Whatever comes back is written into the cloud log in the pipeline's own words: each step the cloud finishes prints one line, and a step that holds the same label for more than twenty seconds prints a patience line every twenty seconds after that, so the log keeps moving and no long step reads as stuck.

The composer conversation in Design Theme is the first place those lines land. It shows your prompt, then the cloud's step feed beneath it as the run progresses.

jobs-progress-errors-composer-thread.png

The DESIGN > Theme composer mid-run on a theme job. The prompt bubble at the top, several cloud step lines beneath it on the threaded timeline, the send button showing the red stop square, and the credit ring and cloud ring visible in the icon row.

/docs-shots/blender/
The Theme composer while a job runs, with the cloud step feed under the prompt.

Beside the composer's icon row is a small ring that appears only while a job exists. It is blue while the job runs, green when it has finished and red when it failed, and it fills as the job advances. Clicking it opens the CLOUD ACTIVITY popup: the step ladder on top, the full cloud log beneath, both re-read live.

jobs-progress-errors-cloud-activity-popup.png

The CLOUD ACTIVITY popup open over the iCity 2 workspace during a running theme job. The step ladder on one line at the top — the step name and percent on the left, the connected row of dots on the right with one ringed as the current step — a separator, and at least six cloud log lines on the threaded timeline below, including one blue current line.

/docs-shots/blender/
The CLOUD ACTIVITY popup — the step ladder above, the cloud log below.

The same ring sits at the top right of the iCity Logs editor and opens the same popup. It is the only trace of the cloud in that editor: cloud lines are deliberately kept out of the Logs editor's own stream, which carries engine and addon events. The composer thread and the Cloud Activity popup are the two places a cloud line is readable.

jobs-progress-errors-logs-badge.png

The iCity Logs editor with a job running: the LOGS panel title, engine and addon log rows in the stream, and the small circular progress ring at the top right of the panel partly filled in blue, with its tooltip showing.

/docs-shots/blender/
The cloud ring in the iCity Logs editor header, filled and blue for a running job.
Note

Materials and props are installed into your library as they finish, not all at once at the end. The dressed city is the exception: its files arrive during the run but are only linked onto your scene when the job completes, so the city never binds to a half-replaced theme.

The steps a job moves through

Every cloud job is drawn on the same eight-step ladder, in this order. Not every job visits every step — Review only happens when the cloud has something to ask you, and Guides only on a theme — and a job whose guides you re-roll finishes where it stands and continues in a child job that starts the ladder again.

StepWhat the cloud is doing
SubmittingSending the request to the cloud.
AnalyzingPrompt moderation and analysis. This is where a rejected prompt stops.
ReviewThe run is paused on a gate and waiting for your decision — theme guides, a theme choice, a screenshot composite or a library suggestion.
GuidesCreating the guide images.
AssetsCreating materials, props and elements.
AssemblingAssembling the themed city package.
DownloadingDownloading results onto your machine.
CompleteFinished.

The percentage under the ladder is derived from where the job sits on these eight steps, not from a progress figure the server reports. A long step therefore holds the same percentage for as long as it runs; the log lines beneath it are the live part.

Three states end a job rather than advance it.

  • Complete — the ring fills green and the closing log line reads Job 3f9a21c4 complete, carrying the credits the cloud actually charged.
  • Failed — the ring turns red. The closing line carries the failure and, if the cloud charged for work it had already done, those credits with it.
  • Cancelled — the ring fills and reads Job cancelled. A cancelled job is finished, not broken.

What is kept about a job

The addon keeps one record per job you submitted this session. It is what the step ladder, the ring, the asset browser's “generating” card state and the Chats history all read from.

Kept on the recordWhat it holds
Job IDThe cloud id. The log prints its first eight characters.
PromptThe text you submitted, verbatim.
Job Typetheme, material, prop, screenshot or frontend — the pill colour in Chats comes from this.
Job Action and Source AssetFor single-asset jobs, whether this is a regenerate or a missing-artifact fill, and which cloud asset it acts on.
StatusWhere the job sits on the ladder, or which end state it reached.
Cost EstimateThe estimate the server returned at submit. It is stored but not shown anywhere in the interface.
Submitted AtWhen you sent it.
Reference NamesThe attachments that went with the prompt, as name and size.
Error fieldsFor a refused submit: the HTTP status, what happened, what it cost and what to do next.

The Chats popup lists these records as your prompt history, each in a four-line box with a coloured kind pill and its own Copy and Insert buttons, so you can reuse an earlier prompt.

jobs-progress-errors-chats-history.png

The CHATS popup open, showing at least three past prompt entries in their four-line boxes, with different kind pills visible (Theme, Material, Prop), and the Copy and Insert buttons on one entry.

/docs-shots/blender/
The CHATS popup listing past prompts with their kind pills.
Note

These records live on the window manager for the length of the Blender session. They are not written into the .blend, they do not travel with the project folder, and quitting Blender clears them. Your city is not your .blend either — how iCity fits Blender explains what is saved where.

Stopping a job

While a job is running, the composer's send arrow becomes a red stop square. Pressing it cancels the job on the server: the pipeline stops and the job row is written as cancelled. The call is idempotent, so pressing it on a job the server has already closed comes back as Job was <whatever the server says it already is>. rather than an error. A record with no cloud job id behind it at all answers Stopped tracking — this record has no cloud job id.

jobs-progress-errors-stop-button.png

Close crop of the Theme composer's prompt row with a job running: the red stop-square send button at the right, hovered so its tooltip is visible, and the character counter and icon row beneath.

/docs-shots/blender/
The send button becomes a stop square for as long as a job is running.

The local record is only marked Cancelled if the server agreed. Read the line the cancel prints into the cloud log before you assume the run is over.

  • Job cancelled — the pipeline stopped. Nothing further is billed.
  • Cancel refused or Cancel failed — the job is still running and still spending. The record stays on the ladder rather than going quiet over a live run.
  • Marked cancelled, but the pipeline did NOT stop — check the job in the console. The job row was cancelled but the execution refused to stop. This is the one case where the bill keeps running after a cancel.

A job parked on Review is the moment people most want out, because the two buttons in front of them both spend money: Approve continues into asset generation and Regenerate buys another set of guides. Closing the THEME GUIDES popup is not a cancel — its close button is Close (decide later) and the job waits on the cloud indefinitely. Cancel from the composer's stop button instead.

Note

The stop button's own tooltip still reads “Cancel tracking this job (cloud-side cancel pending — the server keeps working)”. That text is out of date. Cancel does reach the server and does stop the pipeline; the tooltip describes an older behaviour that no longer exists.

When a job is refused or fails

A submit the server refuses never becomes a running job. The addon maps the response into a headline, prints the status code with it into the cloud log, and the job record goes straight to Failed.

ResponseHeadlineWhat it cost
No connectionCould not reach the cloudNothing. Resubmitting is safe.
400Invalid requestNothing.
401Session expiredNothing. Sign in again — your prompt is preserved.
402Not enough creditsNothing.
422Prompt rejected by content policyNo generation credits. The line names what it was flagged as.
503Analysis service is busyNothing. Retry in a minute.

The 402 case is the one worth recognising on sight. The message reads “This action needs more credits than you have.” and, when the server sends your usage figure, it appends “Your credit usage is at 96%.” No credits were charged. The way out is to free up credits or move up a plan and resubmit — see credits and plans.

jobs-progress-errors-not-enough-credits.png

The Theme composer or the CLOUD ACTIVITY popup immediately after a 402 submit, showing the red error log line reading '402 — Not enough credits', the credit ring near full, and the send button back to the up-arrow rather than the stop square.

/docs-shots/blender/
A refused submit: the status code and headline land in the cloud log.

Today only the code and the headline are shown. The addon also records what happened, what it cost and what to do next on the job record, but nothing in the interface draws those three lines yet, so the log line is all you get.

An accepted submit is charged a one-credit analysis fee at creation; that is the credit riding the Job 3f9a21c4 created line. After that the meter measures real work and charges when the run ends, and there is no credit gate on the server: a run that costs more than your balance still completes and leaves the balance negative rather than stopping halfway. A full theme is roughly 220–275 credits and about twenty minutes; the composer's own on-screen estimate, ~219 credits · ~18 min, is a hard-coded measurement rather than a live quote, and it runs low against a measured spread of 272–274.

A job that finishes while Blender is closed

Warning

Job tracking lives entirely in memory. Nothing restarts it when Blender reopens or when you load another file. If you quit Blender while a job is running, the addon never learns that the job finished: it will not download the assets, it will not write assets.json, and it will not dress the city. The job itself completes in the cloud and is billed.

A theme run is about twenty minutes. Leave Blender open for it.

There is a partial recovery, and its limit matters. The cloud streams the dressed city's files into your project folder during the run, so if the job got far enough the outputs may already be on disk. Dress City from Outputs applies whatever is there.

  1. Open the project the job belonged to, so the outputs it wrote belong to the active project.
  2. Press F3 in the 3D viewport to open Blender's search and type Dress City from Outputs. The operator is on no panel — search is the only way to it.
  3. Run it. It imports outputs.usd and outputs.csv and links assets.json onto the city, through the same entry point the automatic path uses. It is safe to press repeatedly: a re-run clears what the previous one created rather than stacking on top.
jobs-progress-errors-dress-from-outputs.png

Blender's F3 search box open over the 3D viewport with 'dress' typed, showing the 'Dress City from Outputs' entry highlighted in the result list.

/docs-shots/blender/
Dress City from Outputs is reachable only through Blender's F3 search.

The limit: it reads the project folder and nothing else. It cannot re-download assets or outputs from the cloud, so a job whose results never reached your disk cannot be recovered from the interface at all. If the entry is greyed out, the project has no outputs.csv and there is nothing for it to apply. And it needs outputs.csv and assets.json to actually dress anything — assets.json is written only when the job completes, so a run cut off before that can bring the geometry in and still leave it undressed.

For what a completed dress puts in your scene, see after a dress. For which work is paid at all, see what runs in the cloud.

On this page
Where a running job reports itselfThe steps a job moves throughWhat is kept about a jobStopping a jobWhen a job is refused or failsA job that finishes while Blender is closed
Need help?

The Discord is fastest for anything scene-specific. Email suits licensing, billing and anything needing a file attached.

Contact support →