A reference property that expects an object, and will interpret it like a SeedReference. (Wait, won't the engine interpret a reference as a reference to execute?). Maybe reference should be a packedSeedReference. (That has the benefit that it's not interpeted by the rest of the machinery as a reference)
Make sure the use case of "pass in a seed graph root to execute" works.
Update documentation for things like seed.references() to make it clear that it does not include dynamic seed references.
dynamic should have a allow_remote property. Unless it's set to true, then a reference that goes to a remote packet won't load.
[x] Add reference, which takes seed_id and packet, and auto-merges the current location of the seed and returns a packedReference.
[x] Add dynamic, which takes a reference (test to make sure it rejects remote calls
[x] Mermaid diagram should render dynamic in green
[x] Add an allow_remote optional boolean to dynamic.
[ ] Don't fail remote access if the remote packet is already loaded.
[x] A way to set a secret key of disallow_remote that seeds can't read back, but sub-seeds below that point in environment will throw if a remote is tried to access even if allow_remote. And that's true for seed references that are direct
[x] It's not so much secret as much as a key that can never be set to false. It starts as false but then can only be set high.
[x] (Same thing for #45, just with disallow_fetch )
This would allow calculating the ID to include
Type:
dynamic
.A
reference
property that expects an object, and will interpret it like a SeedReference. (Wait, won't the engine interpret a reference as a reference to execute?). Maybereference
should be a packedSeedReference. (That has the benefit that it's not interpeted by the rest of the machinery as a reference)Make sure the use case of "pass in a seed graph root to execute" works.
Update documentation for things like
seed.references()
to make it clear that it does not include dynamic seed references.dynamic should have a
allow_remote
property. Unless it's set to true, then a reference that goes to a remote packet won't load.reference
, which takesseed_id
andpacket
, and auto-merges the current location of the seed and returns a packedReference.dynamic
, which takes a reference (test to make sure it rejects remote callsdynamic
in greenallow_remote
optional boolean to dynamic.disallow_remote
that seeds can't read back, but sub-seeds below that point in environment will throw if a remote is tried to access even ifallow_remote
. And that's true for seed references that are directdisallow_fetch
)