Relative Paths

Relative Paths don’t always work the way I would expect them to…

Consider this situation:

  • I want to use a Sand world, but then use it in several other worlds
  • I want a Rocky world that also uses Sand
  • I want an Island world that also uses Sand

I have two separate setups for folder structure that I tried.

{one} - This one is more flexible and ideal for modularity

My Depo:
C:\Dev\WorldMachine

My Rocky World
C:\Dev\WorldMachine\WorldA\worldA.tmd

My Sand
C:\Dev\WorldMachine\WorldB\output\height.tif

In WorldA, I want to use and output from WorldB …
[ul][li]when I use a input node, and point it to the height.tif from WorldB I get an absolute path:[/li]
[li]C:\dev\worldmachine\WorldB\input_maps\height.tif[/li][/ul]

What I would expect as a relative path: …\WorldB\output\height.tif

Relative paths can usually be up and down the filetree?

{two} - this one allows for downstream cascading only, far less modular

C:\Dev\WorldMachine
C:\Dev\WorldMachine\Composite\WorldA
C:\Dev\WorldMachine\Composite\WorldA\WorldB\output\height.tif

In WorldA, I want to use and output from WorldB …
[ul][li]when I use a input node, and point it to the height.tif from WorldB I DO get a downstream relative path:[/li]
[li]WorldB\output\height.tif[/li][/ul]

There are a couple of issues and problems with this workflow,if you are trying to build modular and automate world building:

[ol][li]Data portability: If I copied the c:\dev\worldmachine folder to another drive like D: the path is no longer valid, as it’s absolute instead of relative. Think build machines, source control, multiple users, workspaces and depot mapping … this will eventually be encountered. [/li]
[li]Modularity: I have to always order reuse in a downstream way. Eventually this will be a mess and become inflexible.[/li][/ol]

So there is one ‘half measure’ around this …

In each world machine .tmd, you can go into the Project Settings and change: ‘Default Relative Path’

I set it too:
C:\dev\worldmachine\

Now, if I go back and reload the height map input, I get a relative path (downstream from this new root):
WorldB\input_maps\height.tif

Of course, I’ve mitigated some concern for modularity if I change this root far enough back (to a common root) in each world file.

But, I still have the issue of data portability and a depot would still need to be mapped to the same drive and location for every user and build machine working in the project.

continuum sn 2 episode 6 girl alec is dating speed dating la crosse wi
dallas texas dating consulting cardless adult dating sites
5 best apps for dating online dating sites social media
best free bdsm dating sites ebony bbw dating org
why online dating leads to more hookup less relationship local dating apps near me