← Live Geometry

Live Geometry

A History

Twenty-seven years of ruler and compass: from a Visual Basic program in Kharkiv to a WebAssembly app in the browser, by way of two false starts and one long silence.

Assembled in September 2026 from the repository, the Internet Archive and the author's blog posts of the time.

I DG 1999 – 2007 · Kharkiv
1999

1999

A program begins in Kharkiv

Kirill Osenkov starts DG at the Skovoroda pedagogical university in Kharkiv, Ukraine, under the supervision of Sergey A. Rakov. The idea it serves is older than the program: Rakov and Viktor P. Gorokh had published Computer Experiments in Geometry in 1996, a course in which pupils discover theorems by experimenting. The language is Visual Basic 6. Kirill is the only programmer on the project, beside about five program managers, five testers, and a team of teachers, methodologists and mathematicians who are writing the drawings.

Kirill's 2007 blog post; the copyright line (C) 1999‑2004 Sergey Rakov, Kirill Osenkov that the later VB.NET port still carries; Раков С.А., Горох В.П., Компьютерные эксперименты в геометрии, Харків: РЦНІТ, 1996, 176 с.

2000

2000

The first teacher's book

Two years before version 1.0 ships, DG is in print: Discovering Geometry through Computer Experiments in the DG Package, a 202‑page guide for mathematics teachers published by the university, with nine authors. Kirill's name is third on the cover, after Rakov and Gorokh: the programmer among the methodologists.

Раков С.А., Горох В.П., Осенков К.О., Думчикова О.В., Костіна О.В., Ларін О.Р., Лисиця В.Т., Олійник Т.О., Пікалова В.В., Відкриття геометрії через комп'ютерні експерименти в пакеті DG, Харків: ХДПУ, 2000, 202 с.

2002

February 2002

The library drawings

The last drawings of the CD library are dated February 11 to 25, 2002: Ladder, Morley, Ceva, Pythagoras, Three Circles, the Ellipse Evolute. Over 250 interactive drawings follow the school geometry course; several of them live on today in the Live Geometry gallery.

File dates of the surviving .dgf demo files.

2002

Summer 2002

DG 1.0 ships

The package goes to Ukrainian schools on a CD, Dynamic Geometry DG, version 1.0, distributed by the Ministry of Education and Science, with a second edition of the teacher's book. It is still in use in geometry lessons years later, and it can do things its successor would take a long time to catch up with: analytic expressions, measurements, hyperlinks between drawings, whole composed documents.

Kirill's 2007 blog post: I shipped and deployed working and tested software in 2002 that still works in 2007; the CD record Програмно-методичний комплекс «Динамічна геометрія DG», версія 1.0, Харків, 2002; the guide's 2002 edition, Харків: Вікторія, 136 с.

2003

2003

DG in the journals

Kirill publishes the one paper that is his alone, on how DG is built: The DG dynamic geometry package: principles of construction and possibilities for use in the educational process, in the Drahomanov University's series on computer‑oriented learning systems. The same year Rakov and Gorokh present DG as "a step from traditional to information technology in teaching geometry", and Valentina Pikalova, a co‑author of the book, writes on classroom investigations with it.

Осенков К.О., Науковий часопис НПУ ім. М.П. Драгоманова, серія 2, вип. 6, 2003; Раков, Горох, Комп'ютер у школі і сім'ї, 2003, №1, с. 20–23; Пікалова, там само, 4(28), 2003, с. 34–40.

2004

2004

The first .NET attempt

A port to VB.NET: a DGApp front end over a new DynamicGeometry library, "Copyright 2004 Kirill Osenkov". It is left unfinished, and stays in the repository under Reference as the first of two false starts.

AssemblyInfo of Reference/VB.NET.

2005

2005

Transformations, and a doctorate

Rakov, Gorokh and Osenkov publish together in Mathematics at School: classroom investigations of geometric transformations with DG. The same year Rakov's doctoral dissertation makes the research approach, with DG as its instrument, the basis of a mathematics teacher's competencies, and two more of his articles put DG beside Cabri, Sketchpad and Cinderella as the Ukrainian package in the field.

Раков С.А., Горох В.П., Осєнков К.А., Математика в школі, 2005, №1, с. 10–14; Раков, дис. д‑ра пед. наук, Харків, 2005; Математика в школі, 2005, №7, с. 2–9; Науковий часопис НПУ, 2004, №1(8), с. 42–55.

2006

2006

Canvas

A C# rendering library named Canvas joins the VB.NET generation, with design notes on styles and events written as small HTML readmes. It is resaved once in Visual Studio 2008 and then also abandoned.

Reference/VB.NET/Canvas, "Copyright Kirill Osenkov 2006".

2007

December 8, 2007

DG 1.0 goes free

Five years after shipping, Kirill publishes DG as free software on his blog and tells its story for the first time in English.

DG lives on in Ukrainian teacher training. A 2008 book for teachers gives it a chapter beside GRAN‑2D, the ministry's methodical letters recommend the two packages together, and university courses keep it on their syllabi with lab work in its printed workbooks. A later dissertation records that its development "was halted", and GeoGebra takes its place.

The blog post DG 1.0 – free dynamic geometry software; Крамаренко Т.Г., Уроки математики з комп'ютером, Кривий Ріг, 2008; Пікалова В.В., dissertation on GeoGebra in teacher training.

II Live Geometry 2008 – 2012 · Silverlight
2008

Spring 2008

The engine is rewritten

The code that livegeometry.com still runs on begins here: C# 3.0, Silverlight 2 Beta 2, and a WPF desktop edition built from the very same source files through two project files side by side. The Reference/C# solution in the repository is this first cut.

Reference/C#, "Copyright Microsoft 2008", Visual Studio 2008.

2008

June 6, 2008

A project on CodePlex

codeplex.com/DynamicGeometry is first captured by the Internet Archive. Its page says the development has just started, so please don't expect a functional program yet.

Wayback Machine capture of the CodePlex home page.

2008

June 18, 2008

"Live Geometry with Silverlight 2"

The announcement post, with a live preview at geometry.osenkov.com. Already in place: the transaction system with nested transactions and unlimited undo, dependency tracking with a topological sort of the figure graph, and a toolbar built by reflection. Kirill calls the idea CAD with lazy evaluation, and sets the goal that still stands: I'd like to reach parity with the first version.

MSDN blog, June 18, 2008.

2008

October 26, 2008

Silverlight 2 final

The project catches up with the released Silverlight 2. The coordinate grid and axes appear, and the post already sketches pan and zoom by dragging the plane and turning the wheel. On December 1 Kirill presents it to the .NET Developers Association in Seattle.

MSDN blog, October 26, 2008, and its comments.

2009

March 2009

A name

DynamicGeometry becomes Live Geometry. livegeometry.codeplex.com is first captured on March 7, and livegeometry.com follows on June 29. The undo engine is split out as its own project, the Undo Framework, the day after.

Wayback Machine captures; MSDN blog, June 30, 2009.

2009

Summer 2009

Files, and a screencast

Saving from the user interface arrives: the oldest surviving .lgf file is dated July 31, 2009, a month after Kirill was still telling a commenter that saving existed only in code. On August 8 a five‑minute screencast shows the tools.

File dates; MSDN blog, August 8, 2009.

2009

2009

One more paper together

The Kharkiv three publish in English for the first time: a chapter in the Handbook of Research on Computational Arts and Creative Informatics on what computer mathematical systems open up for mathematics and its uses in art, with the automated drawing of caricatures as the example, and on the research approach to teaching that DG was built for. The affiliation line still reads Skovoroda National Pedagogical University for all three, seven years after DG shipped and a year into Live Geometry.

Rakov S., Gorokh V., Osenkov K., "Mathematics, computer mathematical systems, creativity, art", in Handbook of Research on Computational Arts and Creative Informatics, IGI Global, 2009, pp. 253–279, doi:10.4018/978-1-60566-352-4.ch015.

2010

January to March 2010

The Coding4Fun article

A web service starts collecting error reports from the app (33 of them on one January day). The Coding4Fun article, drafted on January 4, is published on March 1 and in Russian on March 19: a walk through figures, creators, the property grid, actions, expressions and macros, with project files for both Visual Studio 2008 and 2010.

Archived project files; the MSDN Coding4Fun archive.

2010

April 17, 2010

"Inside Live Geometry"

An hour‑long talk at Seattle CodeCamp 2010, recorded: a short demo, then a tour of the source explaining how the parts fit together.

MSDN blog, April 26, 2010.

2010

March to July 2010

Tabula

David Hartmann, a math teacher, builds Tabula on the Live Geometry engine in Silverlight 4: paper folding, taping and cutting, a compass, a ruler and a protractor that behave like the real ones. Kirill keeps its builds from March 22 to July 1, 2010, and announces it on May 2, 2011.

Archived project files; MSDN blog, May 2, 2011.

2010

September to November 2010

Windows Phone 7

A port to the new phone, 570 files dated September 19 to November 2010. The manifest reads Live Geometry 1.0.0.0, Interactive geometry, Kirill Osenkov.

Archived project files, WMAppManifest.xml.

2010

Autumn 2010

On NuPack

The undo engine split out of Live Geometry the year before, GuiLabs.Undo, becomes one of the earliest packages on NuGet, in the weeks when it was still called NuPack. Kirill recalls that David Fowler urged him to upload it and wrote the .nuspec himself. The package is still on the feed today, with a 1.0.0 the current gallery dates to March 29, 2011, when nuget.org took over the original feed, and still describes itself as "a simple .NET Undo/Redo framework with mergeable actions and composite transactions", which is what runs Live Geometry's undo to this day.

nuget.org/packages/GuiLabs.Undo; Kirill's recollection.

2011

2011

A second pair of hands

David Hartmann's initials appear in the library itself, on comments dated June 29 and August 11, 2011, sorting figures by z‑order and retiring a static ID. He is the only other person whose work is still visible in the code.

FigureList.cs, FigureBase.cs.

2012

January 2012

The last file of the era

A spreadsheet of application downloads, dated January 2, 2012, is the newest file in the project archive of those years. Silverlight itself has three more years of browser support ahead, and the app keeps running unchanged.

File dates.

III The long pause 2012 – 2026 · GitHub
2017

March 18, 2017

From CodePlex to GitHub

Ahead of CodePlex's shutdown the code is imported into a GitHub repository in one flat commit. The nine years of TFS history stay behind, which is why the chronology above rests on the archive and on file dates rather than on the log.

git log: Initial import from https://livegeometry.codeplex.com.

2020

September 2020

Signs of life

Thirteen commits in one month: polygon intersection, fixes to composite figures, Escape returning to the selection tool, and the projects converted to the SDK style. Then net6.0 in January 2024 and net10.0 in January 2026, a couple of commits each.

git log: 22 commits between 2017 and 2025.

IV Avalonia 2026 · WebAssembly
2026

July 15, 2026

Back in the browser

The Avalonia initial commit. The geometry library is rewritten onto Avalonia with a thin compatibility layer over its WPF habits, a desktop head and a browser head share one UI, and the browser build, compiled to WebAssembly, is deployed to livegeometry.com the same day. Fifteen years after Silverlight, the same engine runs on the same address.

git log; the deployment workflow.

2026

September 2026

Catching up with 2002

175 commits in the year against 22 in the nine before it: a ribbon of tools, a gallery of 47 drawings from the phone and the CD library, light and dark themes, sliders and tied values, GeoGebra import, segment marks and right‑angle marks, SVG export. The parity list from June 2008 is shorter than it was, and still not empty.

git log; the working notes in AGENTS.md.

“I'd like to reach parity with the first version.” — June 2008, eighteen years and three frameworks ago.

Open Live GeometrySource on GitHub