# Copyright 2026 Rottinghaus Dynamics
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
@0xb7c4e5f8a1d2c3b9;
using Core = import "messages.capnp";
# Feature kind for querying
enum QueryFeatureKind {
route @0;
shape @1;
}
struct FeatureRef {
id @0 :Text;
kind @1 :QueryFeatureKind;
}
# Empty featureRefs requests all stored features.
struct GetFeaturesRequest {
featureRefs @0 :List(FeatureRef);
}
# Response carries full features (geometry plus identity, area type, scope,
# expiry, and height rules).
struct GetFeaturesResponse {
items @0 :List(Core.Feature);
}