Spent a long time (too long) building the operation editor, but eventually got it done. Actually, most of the time I wasn't working on it at all because it was such an unpleasant, tedious task, I dragged my feet and didn't really do much of anything for a couple months. But it is done. I have also more or less finished the generation editor. The generation editor has three modes: culture, density, and development. Culture is used to determine which five "base" cultures (and optionally, which five "assimilation" cultures) are used when generating populations in an area. Density is used to modify the amount of people present after anything else (such as the tile's physical size) is taken into account. Development is used as a template for which operations will be present, and which professions. These will be combined to generate the populations and operations in a tile.
Next I have to write the actual code to perform this generation logic, but it will mean a break from UI for a while, which is good, because I hate doing UI. (I also think I need to redo/replace the hatching mask used for tiles. The city one's ok, but the tile one is bad.) Once I get that done it will be a major milestone because being able to generate actual population and operation objects will enable me to start tinkering with implementing behaviour - having them buy and sell products, for example. My aim is to get a working economy in place prior to messing around with states and governments and so on - which is a very long ways off.
Density. White is empty, green is 100%, red is 1'000%, blue is 10'000% (subject to change - I do need to do some reading up on medieval population stats to get an idea about the high and low end of pre-industrial population figures - but they do run a rather large gamut of size, with rice-farming populations tending to be much larger than anyone else).
Cultures, in city mode (forces cities to be displayed whether there is one or not, and transforms them to be larger than normal for visibility. This is kind of a placeholder thing because I need to adapt the city editor to say whether there is in fact a city, or something like it, in a given area - and once states start to be implemented, a city's provincial/national capital status). The base/assim paradigm has somewhat exposed a weakness in the current hatching pattern: it doesn't convey cleanly which is base and which is assimilated. I'd like to switch it to a pattern that has, say, five unbroken lines going one direction, and then the assimilation pattern breaks up the lines? Something like that. It needs reworking one way or another.
I also redid the zone-edge sea tiles in Illustrator so that sea zones would have smoother borders that looked less irregular / "tile shaped".
Family structures have also been added, these being Stem Nuclear, Absolute Nuclear, Equal Nuclear, Exogamous Communal, Endogamous Communal, Asymmetric Communal, General Anomic, Coherent Harem, and Diffuse Harem. These are mostly just slightly renamed versions of Emmanuel Todd's system, but with the African system renamed to Coherent Harem, and with a Diffuse Harem system, representing late-stage civilization's urban breakdown of the family, added. Family systems are characterized along six axes: equality (based mainly off traditional inheritance), authority (based off whether sons live with their father or move out), community (based on household size), exogamy (based on whether cousin marriage is allowed or not), linearity (this is mostly just a behavioural toggle for Stem Nuclear cultures that makes them extremely resistant to assimilation/integration), and monogamy (based on distribution of women in society). I will at some point use these for governing population behaviour, but for now they'll just be applied to cultures for flavour.