I have to say that I really prefer treating it as x/7, with both a slip face (determining what sort of ramps it forms), and a separate setting for what difference can be walked over. Why? Because it would make it really easy to add further fluids like this to the raws. For example, sand could be described as something like:
Spoilered for length by Phoenixian
[SEMILIQUID] No pressure
[INTERACTION:WATER:DISPLACES_UPWARD]
[INTERACTION:MAGMA:MELTS]
[SLIP:2] Sand will move towards sides with a difference of 2/7, and will not slip past this point
[RAMP:2] When the difference between levels is two or less, it is walkable between those levels and is treated as a ramp
[PREVENTS_MOTION:4] If a creature is under at least 4/7 sand, it won't be able to move and will have to dig itself out.
[DROWNS][CRUSHES]
[FREEZES:NONE] Sand doesn't really freeze
[BOILS:12000] Boils at the temperature of magma
[TEMPERATURE:BY_ENVIRONMENT]
Water, alternatively, would be:
[LIQUID] Pressure is transmitted
[INTERACTION:MAGMA:BOILS]
[INTERACTION:SAND:DISPLACED_DOWNWARDS]
[SLIP:0]
[DROWNS]
[FREEZES:10000]
[BOILS:10180] Numbers based on the wiki, but don't seem right to me.
Magma would be:
[SEMILIQUID] No pressure transmitted
[INTERACTION:WATER:SOLIDIFIES]
[INTERACTION:SAND:MIXES]
[SLIP:0]
[DROWNS][BURNS]
[FREEZES:11000] Just a random number, in case the magma cools down
[BOILS:NONE] Magma won't boil.
[TEMPERATURE_INHERENT:12000]
Not really complete, but gives the basis for a system to mod in new materials. Some bits of it would have to be improved, of course, and I wouldn't expect this syntax to be used, but it gets the point across, right? Would require some setting to treat fluids like rock or soil, for the purposes of map generation, as well, which would allow for underground deposits of fluid or gases. The interactions would also have to be greatly improved; too much interconnectedness. Maybe a general setting, and then some for special cases?
Also, I'm not familiar with the raws. At all. Though I plan on starting to mod soon. So please don't tell me that the syntax I've used is entirely wrong; attack the idea, not how I'm getting it across.
Stepping in as the random idiot, (who hasn't really read past page 4) I have a thought here: Much of the interactions here could be handled with physics tags rather than specific interactions:
Sand's interactions with magma and water can be replaced by the certain physics tags. Like so:
[SEMILIQUID]
[INSOLUBLE] Won't mix and react with other liquids. Other liquids and solids could have their own solubility groups but that's for another topic.
[POROUS] Liquids will flow though sand but at greatly reduced speed and no pressure
[SEMI_STABLE] You can build workshops and furniture on it, as long as the structure isn't so dense as to sink through. Won't support constructions and land tiles though.
[SLIP:2]
[RAMP:2]
[PREVENTS_MOTION:4]
[DROWNS][CRUSHES]
[DENSITY:2634] I'm guessing that this translates to 2.634 g/cm
3 so it sinks in water (and maybe floats on magma?)
[FREEZES:NONE]
[STATE_CHANGE:GLASS: 12970] Silica sand (which I'm, basing this off of.) melts pretty hot but once it melts, it's not really sand anymore. Hence the "state change" bit.
[BOILS:NONE]
[TEMPERATURE:BY_ENVIRONMENT]
aaaaaaaand you start making something and just keep adding stuff even if it isn't relevant to your point. [eyeroll] (I removed the explanations on what I just copied over. That stuff is in the spoiler.)