Skip to main content

Available Functions

The HCS-3 Recursion SDK provides a variety of functions for handling different types of content. Here's a comprehensive guide to the available functions:

ConfigurationDirect link to Configuration​

HTML ConfigurationDirect link to HTML Configuration​

You can configure the SDK using HTML data attributes:

Loading ResourcesDirect link to Loading Resources​

ScriptsDirect link to Scripts​

<script data-src="hcs://1/0.0.12345" data-script-id="unique-id"></script>

StylesheetsDirect link to Stylesheets​

<link data-src="hcs://1/0.0.12345" data-script-id="unique-id" rel="stylesheet">

ImagesDirect link to Images​

<img data-src="hcs://1/0.0.12345" alt="Description">

VideoDirect link to Video​

<video data-src="hcs://1/0.0.12345" controls></video>

AudioDirect link to Audio​

<audio data-src="hcs://1/0.0.12345" controls></audio>

3D Models (GLB)Direct link to 3D Models (GLB)​

<model-viewer data-src="hcs://1/0.0.12345" camera-controls auto-rotate ar></model-viewer>

Audio FunctionsDirect link to Audio Functions​

Preload AudioDirect link to Preload Audio​

await HCS.preloadAudio('0.0.12345');

Play AudioDirect link to Play Audio​

await HCS.playAudio('0.0.12345', 0.5);

Pause AudioDirect link to Pause Audio​

await HCS.pauseAudio('0.0.12345');

Load and Play AudioDirect link to Load and Play Audio​

await HCS.loadAndPlayAudio('0.0.12345', true, 0.8);

Image FunctionsDirect link to Image Functions​

Preload ImageDirect link to Preload Image​

const imageUrl = await HCS.preloadImage('0.0.12345');

Loading OrderDirect link to Loading Order​

You can control the loading order of resources using the data-load-order attribute:

<script data-src="hcs://1/0.0.12345" data-load-order="1"></script>
<script data-src="hcs://1/0.0.12346" data-load-order="2"></script>

Event HandlingDirect link to Event Handling​

Ready EventDirect link to Ready Event​

window.HCSReady = function() {
console.log('All HCS resources have been loaded');
};

Loading Status CallbackDirect link to Loading Status Callback​

window.onHCSLoading = function(id, status) {
console.log(`Resource ${id} status: ${status}`);
};

Additional ExamplesDirect link to Additional Examples​

For more examples and use cases, visit our GitHub repository.

Error HandlingDirect link to Error Handling​

The SDK includes built-in retry logic for failed requests:

  • Default retry attempts: 3
  • Default backoff: 300ms (doubles after each retry)
  • Required resources will throw errors if they fail to load
  • Optional resources will log errors but continue loading other resources

You can customize these settings using the configuration options shown above.