Raycast question

Ok, rigidbody layer collision configure works. Not enough custom editor functionality ((

var RbGroup = pc.createScript('rbGroup');
RbGroup.attributes.add('GROUP', { type: 'string', default: "" });
RbGroup.attributes.add('group_DYNAMIC'  , { type: 'boolean', default: true });
RbGroup.attributes.add('group_STATIC'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_KINEMATIC', { type: 'boolean', default: false });
RbGroup.attributes.add('group_ENGINE_1' , { type: 'boolean', default: false });
RbGroup.attributes.add('group_TRIGGER'  , { type: 'boolean', default: false });
RbGroup.attributes.add('group_ENGINE_2' , { type: 'boolean', default: false });
RbGroup.attributes.add('group_ENGINE_3' , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_1'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_2'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_3'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_4'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_5'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_6'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_7'   , { type: 'boolean', default: false });
RbGroup.attributes.add('group_USER_8'   , { type: 'boolean', default: false });
RbGroup.attributes.add('COLLISION_MASK', { type: 'string', default: "" });
RbGroup.attributes.add('mask_DYNAMIC'  , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_STATIC'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_KINEMATIC', { type: 'boolean', default: true });
RbGroup.attributes.add('mask_ENGINE_1' , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_TRIGGER',   { type: 'boolean', default: true });
RbGroup.attributes.add('mask_ENGINE_2' , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_ENGINE_3' , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_1'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_2'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_3'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_4'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_5'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_6'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_7'   , { type: 'boolean', default: true });
RbGroup.attributes.add('mask_USER_8'   , { type: 'boolean', default: true });

RbGroup.prototype.initialize = function() {
    this.app.on('rbGroup:set', function() { this.updateRb(); }.bind(this), this);
    this.updateRb();
};
RbGroup.prototype.postInitialize = function() { this.updateRb(); };
RbGroup.prototype.updateRb = function() {
    if (this.entity.rigidbody) {
        this.entity.rigidbody.mask = this.getMask();
        this.entity.rigidbody.group = this.getGroup();
    }
};
RbGroup.prototype.getGroup = function() {
 return (this.group_DYNAMIC   === true ? 1 : 0) + 
        (this.group_STATIC    === true ? 2 : 0) + 
        (this.group_KINEMATIC === true ? 4 : 0) + 
        (this.group_ENGINE_1  === true ? 8 : 0) + 
        (this.group_TRIGGER   === true ? 16 : 0) + 
        (this.group_ENGINE_2  === true ? 32 : 0) + 
        (this.group_ENGINE_3  === true ? 64 : 0) + 
        (this.group_USER_1    === true ? 128 : 0) + 
        (this.group_USER_2    === true ? 256 : 0) + 
        (this.group_USER_3    === true ? 512 : 0) + 
        (this.group_USER_4    === true ? 1024 : 0) + 
        (this.group_USER_5    === true ? 2048 : 0) + 
        (this.group_USER_6    === true ? 4096 : 0) + 
        (this.group_USER_7    === true ? 8192 : 0) + 
        (this.group_USER_8    === true ? 16384 : 0);
};
RbGroup.prototype.getMask = function () {
 return (this.mask_DYNAMIC   === true ? 1 : 0) + 
        (this.mask_STATIC    === true ? 2 : 0) + 
        (this.mask_KINEMATIC === true ? 4 : 0) + 
        (this.mask_ENGINE_1  === true ? 8 : 0) + 
        (this.mask_TRIGGER   === true ? 16 : 0) + 
        (this.mask_ENGINE_2  === true ? 32 : 0) + 
        (this.mask_ENGINE_3  === true ? 64 : 0) + 
        (this.mask_USER_1    === true ? 128 : 0) + 
        (this.mask_USER_2    === true ? 256 : 0) + 
        (this.mask_USER_3    === true ? 512 : 0) + 
        (this.mask_USER_4    === true ? 1024 : 0) + 
        (this.mask_USER_5    === true ? 2048 : 0) + 
        (this.mask_USER_6    === true ? 4096 : 0) + 
        (this.mask_USER_7    === true ? 8192 : 0) + 
        (this.mask_USER_8    === true ? 16384 : 0);
};```