For Testing

These are examples for replicating messages from the parent platform during testing. The parent platform may use a different format for message passing in the future without notice.

Listening for Messages

Add an event listener to intercept Layer messages:

addEventListener('message', (event) => {
  if (typeof event.data !== 'string') return;
  if (!event.data.startsWith('layer:')) return;
  console.log(event.data);
});

Sending Test Messages

Use postMessage to simulate platform messages. Field names and values should be consistent with your parameters.

// Send initial parameters (JSON stringified)
postMessage('layer:parameters:{"number_parameter_id":"1"}', '*');

// Send a parameter change
postMessage('layer:paramchange:{"id":"number_parameter_id","value":"2"}', '*');

// Trigger preview recording
postMessage('layer:preview', '*');

Controlled Mode

Add the URL parameter ?controlled=true to activate $layer.controlled functionality for testing.