Skip to main content

Production Drawing Architecture and Capstone

One OperationsModel sits behind all four surfaces — the painted gauges, the painted grid cells, the Canvas topology and the PNG export — with a shared geometry layer, a RenderMetrics recorder, one measured optimisation, four degraded paths that are actually executed, an accessible table of every value the graphics show, and a test project for the geometry. The three remaining Module 1 surfaces - Label + ProgressBar, a Wisej.Web.Canvas and an off-screen Bitmap in a PictureBox - stay on the operations page under the gauges, so the same reading can still be compared across surfaces. Surface 2, the inline Paint handler, is now the TelemetryGauge control itself.

This folder is the complete application at the end of the course.

Run it​

cd "Drawing and Painting Course/Module 7/VisualOperationsStudio"
dotnet run -f net10.0 --urls http://localhost:6007
cd "Drawing and Painting Course/Module 7"
dotnet test VisualOperationsStudio.Tests/VisualOperationsStudio.Tests.csproj

Open http://localhost:6007. The tests need no Wisej session, licence or browser: the geometry layer is ordinary arithmetic, which is the point of keeping it separate.

The demo script​

StepWhat to look for
Take readingThe spindle gauge moves and the values table follows it. One changed reading is one repaint.
Resize the browserGauges and cells repaint from the server; the Canvas goes blank and Redraw rebuilds it.
Scroll the gridEvery newly visible painted cell calls the one guarded CellPaint handler.
Plant topology → drag and zoom a nodeThe same model, a different surface.
Export PNGThe bytes are rendered from the model, never screenshotted from the Canvas.
Back, then Render metricsMedian times per surface, and the last few individual renders with their sizes and object counts.
Run degraded checksEmpty data, zero-sized surface, inverted range and missing font, each one executed and reported.