Skip to main content

Patch nodes

203 nodes in 24 categories. Nodes marked * still work in existing graphs, but you can no longer add them from the palette.

A node is one of four kinds:

  • an event node starts the graph;
  • a control node decides where the flow goes (branch, loop, gate);
  • an effect node does something and passes the pulse on;
  • a data node is just a value.

See Patches.

animation​

NodeWhat it doesKindInputsOutputs
animateRuns a built-in animation step.effecttarget:object, params:any, exec:pulsethen:pulse

appearance​

NodeWhat it doesKindInputsOutputs
set_colorSets the colour on every material slot at once.effectobject:object, color:color, exec:pulsethen:pulse

audio​

NodeWhat it doesKindInputsOutputs
play_soundPlays a sound once. Each call plays its own sound, so sounds never cut each other off.effectobject:object, volume:number, exec:pulsethen:pulse

code​

NodeWhat it doesKindInputsOutputs
actionJavaScript statements that run in the flow.effecta:any, b:any, c:any, d:any, exec:pulsethen:pulse
expressionA JavaScript expression, for anything no node covers.dataa:any, b:any, c:any, d:anyresult:any

components​

NodeWhat it doesKindInputsOutputs
get_anchorReads a scene’s trigger settings.dataobject:objectisMain:boolean, preload:boolean, imageId:string, physicalWidth:number, physicalHeight:number, showHints:boolean, holdOnLost:boolean, text:string, physicalSize:number, latitude:number, longitude:number, anchorPoint:string, faceGrid:boolean, faceTextureId:string, fillEyes:boolean, fillMouth:boolean, flipTexture:boolean, bodyPoint:string, poseModel:string, bindingType:string, recognitionAlgorithm:string, providerIos:string, providerAndroid:string, vps:boolean, locationIds:any, placementMove:boolean, placementRotate:boolean, placementScale:boolean, cameraId:string, vr:boolean, vrStereo:boolean, vrDistance:number, vrHeight:number, vrScale:number
get_audioReads a sound’s settings.dataobject:objectaudio:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number
get_colliderReads the collision shape.dataobject:objecthalfExtents:vector, radius:number, radiusTop:number, radiusBottom:number, height:number, segments:number
get_geometryReads the shape and its size.dataobject:objectwidth:number, height:number, depth:number, widthSegments:number, heightSegments:number, depthSegments:number, cornerRadius:number, cornerSegments:number, radius:number, phiStart:number, phiLength:number, thetaStart:number, thetaLength:number, radiusTop:number, radiusBottom:number, radialSegments:number, openEnded:boolean, capSegments:number, segments:number, detail:number, innerRadius:number, outerRadius:number, thetaSegments:number, phiSegments:number, tube:number, tubularSegments:number, arc:number, points:any, bevelEnabled:boolean, bevelThickness:number, bevelSize:number, bevelSegments:number, referal:string
get_initial_velocityReads the starting push.dataobject:objectvelocity:vector, angularVelocity:vector
get_instancerReads how copies are arranged.dataobject:objectmaxCount:number, seed:number, scaleMin:number, scaleMax:number, rotationJitter:vector, colorA:color, colorB:color, countX:number, countY:number, countZ:number, spacing:vector, jitter:number, count:number, shape:string, extents:vector
get_lightReads a light’s colour and intensity.dataobject:objectcolor:color, intensity:number, castShadow:boolean, visible:boolean, shadowMapSize:number, shadowBias:number, shadowNormalBias:number, shadowSoftness:number, shadowIntensity:number, shadowArea:number, distance:number, decay:number, angle:number, penumbra:number, groundColor:color
get_look_atReads the look-at target.dataobject:objecttarget:vector, offset:vector
get_materialReads the first material slot.dataobject:objectmaterials:any
get_metaReads the name, and whether the object is enabled and visible.dataobject:objectname:string, type:string, sort:number, enabled:boolean, visible:boolean, isMain:boolean
get_model_refReads which model and clip are playing.dataobject:objectreferal:string, clip:string, speed:number, repeatMode:string, repeatCount:number, startFrame:number, stopWhenPressed:boolean, playing:boolean
get_parentReads which object this one is inside.dataobject:objectparent:string, order:number, lock:boolean
get_particle_emitterReads the particle emitter settings.dataobject:objectemitting:boolean, count:number, lifetime:number, shape:string, radius:number, extents:vector, angle:number, speedMin:number, speedMax:number, gravity:vector, drag:number, turbulence:number, sizeStart:number, sizeEnd:number, sizeJitter:number, spin:number, colorStart:color, colorEnd:color, opacityStart:number, opacityEnd:number, sprite:string, blending:string, seed:number
get_physics_stateReads the current speed and whether the body is asleep. Read-only.dataobject:objectvelocity:vector, angularVelocity:vector, speed:number, sleeping:boolean
get_rigid_bodyReads the physics body settings.dataobject:objecttype:string, mass:number, linearDamping:number, angularDamping:number, fixedRotation:boolean, friction:number, restitution:number, network:string
get_scriptReads a script component’s settings.dataobject:objectreferal:string, enabled:boolean, props:any
get_shadowReads the shadow settings.dataobject:objectcastShadow:boolean, receiveShadow:boolean
get_statesReads which state is active.dataobject:objectstates:any, activeStateId:string
get_temporal_stateReads the animation preset.dataobject:objectpresets:any, activePresetId:string
get_textReads the text and its look.dataobject:objectfont:string, fontStyle:string, text:string, fontWeight:string, fontSize:number, width:number, height:number, textAlign:string, verticalAlign:string, color:any, lineHeight:number, letterSpacing:number, anchorToAlign:boolean, ranges:any
get_transformReads position, rotation and scale. Rotation is in degrees.dataobject:objectposition:vector, rotation:vector, scale:vector, lock:boolean
get_videoReads a video’s settings.dataobject:objectvideo:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number
set_anchorChanges a scene’s trigger settings.effectobject:object, isMain:boolean, preload:boolean, imageId:string, physicalWidth:number, physicalHeight:number, showHints:boolean, holdOnLost:boolean, text:string, physicalSize:number, latitude:number, longitude:number, anchorPoint:string, faceGrid:boolean, faceTextureId:string, fillEyes:boolean, fillMouth:boolean, flipTexture:boolean, bodyPoint:string, poseModel:string, bindingType:string, recognitionAlgorithm:string, providerIos:string, providerAndroid:string, vps:boolean, locationIds:any, placementMove:boolean, placementRotate:boolean, placementScale:boolean, cameraId:string, vr:boolean, vrStereo:boolean, vrDistance:number, vrHeight:number, vrScale:number, exec:pulsethen:pulse
set_audioPlays or pauses a sound, or changes its volume.effectobject:object, audio:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number, exec:pulsethen:pulse
set_colliderChanges the collision shape.effectobject:object, halfExtents:vector, radius:number, radiusTop:number, radiusBottom:number, height:number, segments:number, exec:pulsethen:pulse
set_geometryChanges the shape and its size.effectobject:object, width:number, height:number, depth:number, widthSegments:number, heightSegments:number, depthSegments:number, cornerRadius:number, cornerSegments:number, radius:number, phiStart:number, phiLength:number, thetaStart:number, thetaLength:number, radiusTop:number, radiusBottom:number, radialSegments:number, openEnded:boolean, capSegments:number, segments:number, detail:number, innerRadius:number, outerRadius:number, thetaSegments:number, phiSegments:number, tube:number, tubularSegments:number, arc:number, points:any, bevelEnabled:boolean, bevelThickness:number, bevelSize:number, bevelSegments:number, referal:string, exec:pulsethen:pulse
set_initial_velocityChanges the starting push.effectobject:object, velocity:vector, angularVelocity:vector, exec:pulsethen:pulse
set_instancerChanges the number of copies, their spacing or spread.effectobject:object, maxCount:number, seed:number, scaleMin:number, scaleMax:number, rotationJitter:vector, colorA:color, colorB:color, countX:number, countY:number, countZ:number, spacing:vector, jitter:number, count:number, shape:string, extents:vector, exec:pulsethen:pulse
set_lightChanges a light’s colour and intensity, to dim it or shift its colour.effectobject:object, color:color, intensity:number, castShadow:boolean, visible:boolean, shadowMapSize:number, shadowBias:number, shadowNormalBias:number, shadowSoftness:number, shadowIntensity:number, shadowArea:number, distance:number, decay:number, angle:number, penumbra:number, groundColor:color, exec:pulsethen:pulse
set_look_atPoints an object at something.effectobject:object, target:vector, offset:vector, exec:pulsethen:pulse
set_materialChanges the first material slot: colour, opacity, roughness and more.effectobject:object, materials:any, exec:pulsethen:pulse
set_metaShows, hides, enables or disables an object.effectobject:object, name:string, type:string, sort:number, enabled:boolean, visible:boolean, isMain:boolean, exec:pulsethen:pulse
set_model_refSwitches model, clip, speed or looping.effectobject:object, referal:string, clip:string, speed:number, repeatMode:string, repeatCount:number, startFrame:number, stopWhenPressed:boolean, playing:boolean, exec:pulsethen:pulse
set_parentMoves an object inside another object.effectobject:object, parent:string, order:number, lock:boolean, exec:pulsethen:pulse
set_particle_emitterChanges the particle emitter settings: start or stop an effect, or adjust it while it runs.effectobject:object, emitting:boolean, count:number, lifetime:number, shape:string, radius:number, extents:vector, angle:number, speedMin:number, speedMax:number, gravity:vector, drag:number, turbulence:number, sizeStart:number, sizeEnd:number, sizeJitter:number, spin:number, colorStart:color, colorEnd:color, opacityStart:number, opacityEnd:number, sprite:string, blending:string, seed:number, exec:pulsethen:pulse
set_rigid_bodyChanges mass, damping or body type.effectobject:object, type:string, mass:number, linearDamping:number, angularDamping:number, fixedRotation:boolean, friction:number, restitution:number, network:string, exec:pulsethen:pulse
set_scriptEnables, disables or changes the settings of a script component.effectobject:object, referal:string, enabled:boolean, props:any, exec:pulsethen:pulse
set_shadowTurns casting and receiving shadows on or off.effectobject:object, castShadow:boolean, receiveShadow:boolean, exec:pulsethen:pulse
set_statesSwitches to another state.effectobject:object, states:any, activeStateId:string, exec:pulsethen:pulse
set_temporal_stateSwitches the animation preset.effectobject:object, presets:any, activePresetId:string, exec:pulsethen:pulse
set_textChanges what a text object says.effectobject:object, font:string, fontStyle:string, text:string, fontWeight:string, fontSize:number, width:number, height:number, textAlign:string, verticalAlign:string, color:any, lineHeight:number, letterSpacing:number, anchorToAlign:boolean, ranges:any, exec:pulsethen:pulse
set_transformChanges position, rotation and scale. Only the inputs you connect are changed.effectobject:object, position:vector, rotation:vector, scale:vector, lock:boolean, exec:pulsethen:pulse
set_videoPlays, pauses or seeks a video.effectobject:object, video:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number, exec:pulsethen:pulse

data​

NodeWhat it doesKindInputsOutputs
booleanTrue or false.data—value:boolean
colorA colour.data—value:color
numberA number you type in.data—value:number
piThe number π, for working with angles.data—value:number
textA piece of text.data—value:string
vectorThree numbers: x, y and z.datax:number, y:number, z:numbervalue:vector

entities​

NodeWhat it doesKindInputsOutputs
find_by_name *Finds an object by name.dataname:stringobject:object
get_by_id *Finds an object by id.dataid:stringobject:object
get_entityRefers to an object: this one, the scene, or one found by name or id.dataquery:stringobject:object
scene *The scene this graph belongs to.data—object:object
self *This object.data—object:object

events​

NodeWhat it doesKindInputsOutputs
on_blurThe cursor left this object.event (on-blur)—pulse:pulse
on_clickThis object was tapped or clicked.event (on-click)—pulse:pulse
on_collideSomething touched this object. other is what hit it.event (on-collide)—pulse:pulse, other:object
on_detectThe marker or surface was found.event (on-detect)—pulse:pulse
on_divkit_actionA button on a UI card was pressed.event (on-divkit-action)—pulse:pulse, id:string
on_dragPlaced AR content is being dragged.event (on-drag)—pulse:pulse, dx:number, dy:number
on_frameFires every frame, with the time since the last frame. Use it for anything that changes over time.event (frame)—pulse:pulse, dt:number, time:number
on_game_controlThe character controller changed state: idle, moving, running or jumping.event (on-game-control)—pulse:pulse, state:string
on_hoverThe cursor moved onto this object.event (on-hover)—pulse:pulse
on_key_downA key was pressed. key tells you which one.event (on-keydown)—pulse:pulse, key:string
on_key_upA key was released.event (on-keyup)—pulse:pulse, key:string
on_launchFires when the scene starts. Most graphs begin here.event (launch)—pulse:pulse
on_lostTracking was lost.event (on-lost)—pulse:pulse
on_mouse_downA pointer button was pressed on this object.event (on-mousedown)—pulse:pulse
on_mouse_upA pointer button was released on this object.event (on-mouseup)—pulse:pulse
on_pauseThe app or tab went to the background.event (on-pause)—pulse:pulse
on_pinchPlaced AR content is being pinched.event (on-pinch)—pulse:pulse, scale:number
on_placedThe visitor placed the content on a surface.event (on-placed)—pulse:pulse
on_pointer_lockThe pointer was captured or released.event (on-pointer-lock)—pulse:pulse, locked:boolean
on_pointer_moveThe pointer moved. Gives how far it moved, for look controls.event (on-pointer-move)—pulse:pulse, dx:number, dy:number, deltaYaw:number, deltaPitch:number
on_resizeThe view changed size.event (on-resize)—pulse:pulse
on_resumeThe app or tab came back from the background.event (on-resume)—pulse:pulse
on_rotatePlaced AR content is being twisted.event (on-rotate)—pulse:pulse, angle:number
on_scrollThe mouse wheel turned.event (on-scroll)—pulse:pulse
on_state_activeThis object entered a state.event (on-state-active)—pulse:pulse
on_state_inactiveThis object left a state.event (on-state-inactive)—pulse:pulse
on_vps_errorPositioning against a real-world map could not run.event (on-vps-error)—pulse:pulse
on_vps_localizedThe visitor’s real position was found.event (on-vps-localized)—pulse:pulse
on_vps_not_localizedThe visitor’s real position was not found. This is normal while they look around.event (on-vps-not-localized)—pulse:pulse
on_vps_readyPositioning against a real-world map has started.event (on-vps-ready)—pulse:pulse

flow​

NodeWhat it doesKindInputsOutputs
branchTakes one path or the other, based on a condition.control (branch)exec:pulse, condition:booleantrue:pulse, false:pulse
delayWaits, then continues.control (delay)exec:pulse, dt:number, seconds:numberthen:pulse
emit_eventSends a trigger from this object. Events and scripts can react to it.effectevent:string, exec:pulsethen:pulse
for_eachRuns the body once for each item in a list.control (for_each)exec:pulse, list:anyloop:pulse, item:any, index:number, then:pulse
gateLets the pulse through only while a condition is true.control (gate)exec:pulse, open:booleanthen:pulse
onceLets the pulse through the first time only.control (once)exec:pulsethen:pulse
open_sceneSwitches to another scene.effectscene:string, exec:pulsethen:pulse
open_spaceSwitches to another space.effectspace:string, exec:pulsethen:pulse
repeatRuns the body a set number of times.control (repeat)exec:pulse, count:numberloop:pulse, index:number, then:pulse
sequenceRuns several chains in a set order.effectexec:pulsefirst:pulse, second:pulse, third:pulse

functions​

NodeWhat it doesKindInputsOutputs
call_patchRuns another patch, so you can reuse a graph.data——
call_scriptCalls a function exported by a script.datavalue:numberresult:number

globals​

NodeWhat it doesKindInputsOutputs
get_globalReads a shared value.data—value:number
on_global_changeFires when a shared value changes.event (global)—pulse:pulse, value:number
set_globalStores a value shared with every graph, script and event.effectvalue:number, exec:pulsethen:pulse

io​

NodeWhat it doesKindInputsOutputs
patch_inputAn input on this patch, used when another patch calls it.data—value:number
patch_outputAn output on this patch, used when another patch calls it.datavalue:number—

lifecycle​

NodeWhat it doesKindInputsOutputs
create_entityMakes a new, empty object.effectname:string, parent:object, exec:pulsethen:pulse, object:object
destroyRemoves an object.effectobject:object, exec:pulsethen:pulse
spawnMakes an object from a resource: a model, an image or a sound.effectresource:string, parent:object, exec:pulsethen:pulse, object:object

list​

NodeWhat it doesKindInputsOutputs
listBuilds a list from its inputs. Drag the handle to add more slots.dataa:any, b:any, c:any, d:anyvalue:any
list_getThe item at an index.datalist:any, index:numberitem:any
list_lengthHow many items the list has.datalist:anyresult:number
list_pushAdds an item to the end of a list.datalist:any, item:anyresult:any

logic​

NodeWhat it doesKindInputsOutputs
andTrue when both inputs are true.dataa:boolean, b:booleanresult:boolean
equalsTrue when the two inputs match.dataa:number, b:numberresult:boolean
greater_or_equalTrue when the first is larger or the same.dataa:number, b:numberresult:boolean
greater_thanTrue when the first is larger.dataa:number, b:numberresult:boolean
if_elsePicks one of two values based on a condition. Like branch, but for values.datacondition:boolean, then:number, else:numberresult:number
less_or_equalTrue when the first is smaller or the same.dataa:number, b:numberresult:boolean
less_thanTrue when the first is smaller.dataa:number, b:numberresult:boolean
notTurns true into false, and false into true.datavalue:booleanresult:boolean
not_equalTrue when the two inputs differ.dataa:number, b:numberresult:boolean
orTrue when at least one input is true.dataa:boolean, b:booleanresult:boolean
sameTrue when two objects are the same object.dataa:any, b:anyresult:boolean
selectPicks one value from several by its index.datacondition:boolean, then:any, else:anyresult:any

math​

NodeWhat it doesKindInputsOutputs
absRemoves the minus sign.datavalue:numberresult:number
acosInverse cosine.datavalue:numberresult:number
addAdds.dataa:number, b:numberresult:number
asinInverse sine.datavalue:numberresult:number
atanInverse tangent.datavalue:numberresult:number
atan2The angle to a point, in any direction. Use it to aim at something.dataa:number, b:numberresult:number
ceilRounds up.datavalue:numberresult:number
clampKeeps a value inside a range.datavalue:number, min:number, max:numberresult:number
cosCosine.datavalue:numberresult:number
deg_to_radDegrees to radians.datavalue:numberresult:number
divideDivides.dataa:number, b:numberresult:number
expe to the power of the input.datavalue:numberresult:number
floorRounds down.datavalue:numberresult:number
lerpBlends between two values: 0 gives the first, 1 gives the second.dataa:number, b:number, t:numberresult:number
logNatural logarithm.datavalue:numberresult:number
maxThe larger of two.dataa:number, b:numberresult:number
minThe smaller of two.dataa:number, b:numberresult:number
moduloThe remainder after division. Use it to make a value wrap around.dataa:number, b:numberresult:number
multiplyMultiplies.dataa:number, b:numberresult:number
powerRaises to a power.dataa:number, b:numberresult:number
rad_to_degRadians to degrees.datavalue:numberresult:number
randomA random number in a range.datamin:number, max:numbervalue:number
remapConverts a value from one range to another.datavalue:number, inMin:number, inMax:number, outMin:number, outMax:numberresult:number
roundRounds to nearest.datavalue:numberresult:number
signGives −1, 0 or 1.datavalue:numberresult:number
sinSine. Use it for anything that swings back and forth.datavalue:numberresult:number
sqrtSquare root.datavalue:numberresult:number
subtractSubtracts.dataa:number, b:numberresult:number
tanTangent.datavalue:numberresult:number

messaging​

NodeWhat it doesKindInputsOutputs
on_messageReceives a named message.event (message)—pulse:pulse, payload:object
post_messageSends a named message to anything listening.effectpayload:object, exec:pulsethen:pulse

net​

NodeWhat it doesKindInputsOutputs
net_connectedTrue when a room is actually open.data—value:boolean
net_despawnRemoves a shared object for everyone.effectid:string, exec:pulsethen:pulse
net_idThis person’s id. Use it as the key for their own state.data—value:string
net_peer_countHow many people are in the room.data—value:number
net_peersEveryone in the room right now.data—value:any
net_sendSends a message to everyone else in the room.effectdata:any, exec:pulsethen:pulse
net_spawnCreates an object on everyone’s screen.effectresource:string, position:vector, rotation:vector, exec:pulsethen:pulse, id:string
net_state_getReads from the shared state.data—value:any
net_state_setWrites to the shared state that everyone can read.effectvalue:any, exec:pulsethen:pulse
on_net_joinSomeone joined the room.event (net-join)—pulse:pulse, peer:string
on_net_leaveSomeone left the room.event (net-leave)—pulse:pulse, peer:string
on_net_messageReceives a message from someone in the room.event (net)—pulse:pulse, data:any, from:string
on_net_stateFires when a shared value changes.event (net-state)—pulse:pulse, value:any

physics​

NodeWhat it doesKindInputsOutputs
apply_forceA steady push while it runs, for thrust and wind.effectobject:object, force:vector, exec:pulsethen:pulse
apply_impulseA single push, for jumps, hits and launches.effectobject:object, force:vector, exec:pulsethen:pulse
apply_torqueA twisting push.effectobject:object, torque:vector, exec:pulsethen:pulse
get_angular_velocityHow fast something is spinning.dataobject:objectvalue:vector
get_speedHow fast something is moving, ignoring direction.dataobject:objectvalue:number
get_velocityHow fast something is moving, and in which direction.dataobject:objectvalue:vector
is_sleepingTrue when a body has come to rest and physics has stopped moving it.dataobject:objectvalue:boolean
raycastFires a ray and reports what it hit.control (await)from:vector, to:vector, ignore:object, exec:pulsethen:pulse, hit:boolean, object:object, point:vector, normal:vector, distance:number
set_angular_velocitySets spin directly.effectobject:object, velocity:vector, exec:pulsethen:pulse
set_gravityChanges gravity for the whole scene.effectgravity:vector, exec:pulsethen:pulse
set_velocitySets speed and direction directly.effectobject:object, velocity:vector, exec:pulsethen:pulse
sleep_bodyPuts a body to sleep.effectobject:object, exec:pulsethen:pulse
wake_bodyWakes up a body at rest.effectobject:object, exec:pulsethen:pulse

state​

NodeWhat it doesKindInputsOutputs
counterCounts pulses. Keeps its count from frame to frame.effectinc:pulsethen:pulse, count:number
smoothMoves a value a little closer to a target each frame. An easy way to make movement less stiff.effecttick:pulse, target:number, rate:numberthen:pulse, value:number
timerCounts seconds while it runs.effecttick:pulse, add:numberthen:pulse, time:number
toggleSwitches between true and false on each pulse.effectexec:pulsethen:pulse, value:boolean

string​

NodeWhat it doesKindInputsOutputs
concatJoins pieces of text together.dataa:string, b:stringresult:string
string_lengthHow many characters the text has.datavalue:stringresult:number
to_numberReads a number out of text.datavalue:stringresult:number
to_stringTurns a value into text, for labels and scores.datavalue:numberresult:string

ui​

NodeWhat it doesKindInputsOutputs
get_divkitReads a variable from a UI card.dataobject:objectvalue:any
set_divkitWrites a variable to a UI card, for example to update a score or a label.effectobject:object, value:any, exec:pulsethen:pulse

variables​

NodeWhat it doesKindInputsOutputs
get_variableReads a value stored for this graph.data—value:any
set_variableStores a value for this graph.effectvalue:any, exec:pulsethen:pulse

vector​

NodeWhat it doesKindInputsOutputs
vector_addAdds two vectors.dataa:vector, b:vectorresult:vector
vector_crossCross product: a direction at right angles to both.dataa:vector, b:vectorresult:vector
vector_distanceThe distance between two points.dataa:vector, b:vectorresult:number
vector_dotDot product: how closely two directions match. Use it to tell "in front" from "behind".dataa:vector, b:vectorresult:number
vector_lengthHow long the vector is.datav:vectorresult:number
vector_lerpBlends between two positions.dataa:vector, b:vector, t:numberresult:vector
vector_normalizeKeeps the direction and sets the length to 1.datav:vectorresult:vector
vector_scaleMultiplies a vector by a number.datav:vector, s:numberresult:vector
vector_subtractSubtracts one vector from another. The result points from B to A.dataa:vector, b:vectorresult:vector